yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
canvas_interaction.cc File Reference
#include "canvas_interaction.h"
#include <algorithm>
#include <cmath>
#include "imgui/imgui.h"
Include dependency graph for canvas_interaction.cc:

Go to the source code of this file.

Classes

struct  yaze::gui::anonymous_namespace{canvas_interaction.cc}::SelectRectState
 

Namespaces

namespace  yaze
 Main namespace for the application.
 
namespace  yaze::gui
 Graphical User Interface (GUI) components for the application.
 
namespace  yaze::gui::anonymous_namespace{canvas_interaction.cc}
 

Functions

ImVec2 yaze::gui::AlignToGrid (ImVec2 pos, float grid_step)
 Align position to grid.
 
ImVec2 yaze::gui::GetMouseInCanvasSpace (const CanvasGeometry &geometry)
 Get mouse position in canvas space.
 
bool yaze::gui::IsMouseInCanvas (const CanvasGeometry &geometry)
 Check if mouse is in canvas bounds.
 
ImVec2 yaze::gui::CanvasToTileGrid (ImVec2 canvas_pos, float tile_size, float global_scale)
 Calculate tile grid indices from canvas position.
 
RectSelectionEvent yaze::gui::HandleRectangleSelection (const CanvasGeometry &geometry, int current_map, float tile_size, ImDrawList *draw_list, ImGuiMouseButton mouse_button=ImGuiMouseButton_Right)
 Handle rectangle selection interaction.
 
TileSelectionEvent yaze::gui::HandleTileSelection (const CanvasGeometry &geometry, int current_map, float tile_size, ImGuiMouseButton mouse_button=ImGuiMouseButton_Right)
 Handle single tile selection (right-click)
 
TilePaintEvent yaze::gui::HandleTilePaint (const CanvasGeometry &geometry, int tile_id, float tile_size, ImGuiMouseButton mouse_button=ImGuiMouseButton_Left)
 Handle tile painting interaction.
 
TilePaintEvent yaze::gui::HandleTilePaintWithPreview (const CanvasGeometry &geometry, const gfx::Bitmap &bitmap, float tile_size, ImDrawList *draw_list, ImGuiMouseButton mouse_button=ImGuiMouseButton_Left)
 Handle tile painter with bitmap preview.
 
TilePaintEvent yaze::gui::HandleTilemapPaint (const CanvasGeometry &geometry, const gfx::Tilemap &tilemap, int current_tile, ImDrawList *draw_list, ImGuiMouseButton mouse_button=ImGuiMouseButton_Left)
 Handle tilemap painting interaction.
 
HoverEvent yaze::gui::HandleHover (const CanvasGeometry &geometry, float tile_size)
 Update hover state for canvas.
 
void yaze::gui::RenderHoverPreview (const CanvasGeometry &geometry, const HoverEvent &hover, float tile_size, ImDrawList *draw_list, ImU32 color=IM_COL32(255, 255, 255, 80))
 Render hover preview overlay.
 
EntityInteractionEvent yaze::gui::HandleEntityInteraction (const CanvasGeometry &geometry, int entity_id, ImVec2 entity_position)
 Handle entity interaction (hover, click, drag)
 

Variables

thread_local SelectRectState yaze::gui::anonymous_namespace{canvas_interaction.cc}::g_select_rect_state