8 struct GraphicsSurfaceInfo;
11 struct WindowCreateInfo;
28MAYAFLUX_API std::shared_ptr<Core::Window>
create_window(
const Core::WindowCreateInfo& create_info);
48 uint32_t window_width, uint32_t window_height);
58 const std::shared_ptr<Core::Window>& window);
71MAYAFLUX_API glm::vec2
window_coords(
double ndc_x,
double ndc_y,
double ndc_z,
72 uint32_t window_width, uint32_t window_height);
82MAYAFLUX_API glm::vec2
window_coords(
double ndc_x,
double ndc_y,
double ndc_z,
83 const std::shared_ptr<Core::Window>& window);
93 uint32_t window_width, uint32_t window_height);
101MAYAFLUX_API glm::vec2
window_coords(
const glm::vec3& ndc_pos,
102 const std::shared_ptr<Core::Window>& window);
120 const glm::vec2& ndc_size,
121 uint32_t window_width, uint32_t window_height);
130 const glm::vec2& ndc_size,
131 const std::shared_ptr<Core::Window>& window);
144 const Kinesis::AABB2D& region,
145 uint32_t window_width, uint32_t window_height);
154 const Kinesis::AABB2D& region,
155 const std::shared_ptr<Core::Window>& window);
163MAYAFLUX_API
float aspect_ratio(uint32_t window_width, uint32_t window_height);
170MAYAFLUX_API
float aspect_ratio(
const std::shared_ptr<Core::Window>& window);
184 uint32_t window_width, uint32_t window_height);
194 const std::shared_ptr<Core::Window>& window);
204MAYAFLUX_API
bool is_in_bounds(
double window_x,
double window_y,
205 uint32_t window_width, uint32_t window_height);
214MAYAFLUX_API
bool is_in_bounds(
double window_x,
double window_y,
215 const std::shared_ptr<Core::Window>& window);
@ Core
Core engine, backend, subsystems.
std::shared_ptr< Core::Window > create_window(const Core::WindowCreateInfo &create_info)
Create a new window with specified parameters.
glm::vec2 window_coords(double ndc_x, double ndc_y, double ndc_z, uint32_t window_width, uint32_t window_height)
Convert NDC coordinates to window pixel coordinates.
bool is_in_bounds(double window_x, double window_y, uint32_t window_width, uint32_t window_height)
Check if a point in window coordinates is inside the window bounds.
glm::vec3 normalize_coords(double window_x, double window_y, uint32_t window_width, uint32_t window_height)
Convert window pixel coordinates to normalized device coordinates (NDC)
glm::uvec2 normalized_size_to_pixels(const glm::vec2 &ndc_size, uint32_t window_width, uint32_t window_height)
Convert an NDC-space size (extent) to integer pixel dimensions.
glm::vec3 normalize_coords_aspect(double window_x, double window_y, uint32_t window_width, uint32_t window_height)
Normalize coordinates preserving aspect ratio (useful for circular/square shapes)
float aspect_ratio(uint32_t window_width, uint32_t window_height)
Get window aspect ratio (width/height)
Core::WindowManager & get_window_manager()
Gets a handle to default window manager.
Main namespace for the Maya Flux audio engine.