#pragma once #include "typedef.h" #include "vector.h" extern I32* canvas; inline VEC2 s_tl( VEC2 offset = { 0.f, 0.f } ) { return { offset.x, offset.y }; } inline VEC2 s_tr( VEC2 offset = { 0.f, 0.f } ) { return { offset.x + (F32)canvas[0], offset.y }; } inline VEC2 s_bl( VEC2 offset = { 0.f, 0.f } ) { return { offset.x, offset.y + (F32)canvas[1] }; } inline VEC2 s_br( VEC2 offset = { 0.f, 0.f } ) { return { offset.x + (F32)canvas[0], offset.y + (F32)canvas[1] }; } inline VEC2 s_c( VEC2 offset = { 0.f, 0.f } ) { return { offset.x + (F32)canvas[0] / 2, offset.y + (F32)canvas[1] / 2 }; } inline VEC2 s_tc( VEC2 offset = { 0.f, 0.f } ) { return { offset.x + (F32)canvas[0] / 2, 0 }; } inline VEC2 s_bc( VEC2 offset = { 0.f, 0.f } ) { return { offset.x + (F32)canvas[0] / 2, (F32)canvas[1] }; } inline VEC2 s_cl( VEC2 offset = { 0.f, 0.f } ) { return { 0, offset.y + (F32)canvas[1] / 2 }; } inline VEC2 s_cr( VEC2 offset = { 0.f, 0.f } ) { return { (F32)canvas[0], offset.y + (F32)canvas[1] / 2 }; }