yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
canvas_geometry.h
Go to the documentation of this file.
1#ifndef YAZE_APP_GUI_CANVAS_CANVAS_GEOMETRY_H
2#define YAZE_APP_GUI_CANVAS_CANVAS_GEOMETRY_H
3
6#include "imgui/imgui.h"
7
8namespace yaze {
9namespace gui {
10
24CanvasGeometry CalculateCanvasGeometry(
25 const CanvasConfig& config,
26 ImVec2 requested_size,
27 ImVec2 cursor_screen_pos,
28 ImVec2 content_region_avail);
29
42 const CanvasGeometry& geometry,
43 ImVec2 mouse_screen_pos);
44
56 const CanvasGeometry& geometry,
57 ImVec2 point);
58
67void ApplyScrollDelta(CanvasGeometry& geometry, ImVec2 delta);
68
78inline ImVec2 GetCanvasOrigin(const CanvasGeometry& geometry) {
79 return ImVec2(geometry.canvas_p0.x + geometry.scrolling.x,
80 geometry.canvas_p0.y + geometry.scrolling.y);
81}
82
83} // namespace gui
84} // namespace yaze
85
86#endif // YAZE_APP_GUI_CANVAS_CANVAS_GEOMETRY_H
87
void ApplyScrollDelta(CanvasGeometry &geometry, ImVec2 delta)
Apply scroll delta to geometry.
ImVec2 CalculateMouseInCanvas(const CanvasGeometry &geometry, ImVec2 mouse_screen_pos)
Calculate mouse position in canvas space.
bool IsPointInCanvasBounds(const CanvasGeometry &geometry, ImVec2 point)
Check if a point is within canvas bounds.
CanvasGeometry CalculateCanvasGeometry(const CanvasConfig &config, ImVec2 requested_size, ImVec2 cursor_screen_pos, ImVec2 content_region_avail)
Calculate canvas geometry from configuration and ImGui context.
ImVec2 GetCanvasOrigin(const CanvasGeometry &geometry)
Get origin point (canvas top-left + scroll offset)
Main namespace for the application.
Definition controller.cc:20
Canvas geometry calculated per-frame.