Handles functional mutations and queries for tile objects. More...
#include <tile_object_handler.h>


Public Types | |
| enum class | PlacementBlockReason { kNone = 0 , kInvalidRoom , kObjectLimit } |
Public Member Functions | |
| TileObjectHandler () | |
| TileObjectHandler (InteractionContext *ctx) | |
| void | BeginPlacement () override |
| Begin placement mode. | |
| void | CancelPlacement () override |
| Cancel current placement. | |
| bool | IsPlacementActive () const override |
| Check if placement mode is active. | |
| bool | HandleClick (int canvas_x, int canvas_y) override |
| Handle mouse click at canvas position. | |
| void | HandleDrag (ImVec2 current_pos, ImVec2 delta) override |
| Handle mouse drag. | |
| void | HandleRelease () override |
| Handle mouse release. | |
| bool | HandleMouseWheel (float delta) override |
| void | DrawGhostPreview () override |
| Draw ghost preview during placement. | |
| void | DrawSelectionHighlight () override |
| Draw selection highlight for selected entities. | |
| void | InitDrag (const ImVec2 &start_pos) |
| void | BeginMarqueeSelection (const ImVec2 &start_pos) |
| void | HandleMarqueeSelection (const ImVec2 &mouse_pos, bool mouse_left_down, bool mouse_left_released, bool shift_down, bool toggle_down, bool alt_down, bool draw_box=true) |
| std::optional< size_t > | GetEntityAtPosition (int canvas_x, int canvas_y) const override |
| Get entity at canvas position. | |
| void | MoveObjects (int room_id, const std::vector< size_t > &indices, int delta_x, int delta_y, bool notify_mutation=true) |
| Move a set of objects by a tile delta. | |
| std::vector< size_t > | DuplicateObjects (int room_id, const std::vector< size_t > &indices, int delta_x, int delta_y, bool notify_mutation=true) |
| Clone a set of objects and move them by a tile delta. | |
| void | DeleteObjects (int room_id, std::vector< size_t > indices) |
| Delete objects by indices. | |
| void | DeleteAllObjects (int room_id) |
| Delete all objects in a room. | |
| void | SendToFront (int room_id, const std::vector< size_t > &indices) |
| Reorder objects. | |
| void | SendToBack (int room_id, const std::vector< size_t > &indices) |
| void | MoveForward (int room_id, const std::vector< size_t > &indices) |
| void | MoveBackward (int room_id, const std::vector< size_t > &indices) |
| void | ResizeObjects (int room_id, const std::vector< size_t > &indices, int delta) |
| Resize objects by a delta. | |
| bool | PlaceObjectAt (int room_id, const zelda3::RoomObject &object, int x, int y) |
| Place a new object. Returns false if blocked by ROM limits. | |
| bool | was_placement_blocked () const |
| True if the most recent PlaceObjectAt was blocked. | |
| PlacementBlockReason | placement_block_reason () const |
| void | clear_placement_blocked () |
| void | UpdateObjectsId (int room_id, const std::vector< size_t > &indices, int16_t new_id) |
| void | UpdateObjectsSize (int room_id, const std::vector< size_t > &indices, uint8_t new_size) |
| void | UpdateObjectsLayer (int room_id, const std::vector< size_t > &indices, int new_layer) |
| void | SetPreviewObject (const zelda3::RoomObject &object) |
| Set object for placement. | |
| void | CopyObjectsToClipboard (int room_id, const std::vector< size_t > &indices) |
| Copy objects to internal clipboard. | |
| std::vector< size_t > | PasteFromClipboard (int room_id, int offset_x, int offset_y) |
| Paste objects from clipboard with offset. | |
| std::vector< size_t > | PasteFromClipboardAt (int room_id, int target_x, int target_y) |
| Paste objects from clipboard at target location. Use first clipboard item as origin. | |
| bool | HasClipboardData () const |
| Check if clipboard has data. | |
| void | ClearClipboard () |
| Clear the clipboard. | |
Public Member Functions inherited from yaze::editor::BaseEntityHandler | |
| virtual | ~BaseEntityHandler ()=default |
| void | SetContext (InteractionContext *ctx) |
| Set the interaction context. | |
| InteractionContext * | context () const |
| Get the interaction context. | |
| void | DrawPostPlacementToast () |
Private Member Functions | |
| void | RenderGhostPreviewBitmap () |
| std::pair< int, int > | CalculateObjectBounds (const zelda3::RoomObject &object) |
| ImVec2 | ApplyDragModifiers (const ImVec2 &delta) const |
| zelda3::Room * | GetRoom (int room_id) |
| void | NotifyChange (zelda3::Room *room) |
Private Attributes | |
| bool | object_placement_mode_ = false |
| PlacementBlockReason | placement_block_reason_ = PlacementBlockReason::kNone |
| zelda3::RoomObject | preview_object_ {-1, 0, 0, 0} |
| std::unique_ptr< gfx::BackgroundBuffer > | ghost_preview_buffer_ |
| std::vector< zelda3::RoomObject > | clipboard_ |
| bool | is_dragging_ = false |
| ImVec2 | drag_start_ {0, 0} |
| ImVec2 | drag_current_ {0, 0} |
| int | drag_last_dx_ = 0 |
| int | drag_last_dy_ = 0 |
| bool | drag_has_duplicated_ = false |
| bool | drag_mutation_started_ = false |
Additional Inherited Members | |
Protected Member Functions inherited from yaze::editor::BaseEntityHandler | |
| void | TriggerSuccessToast () |
| void | DrawSuccessToastOverlay (const char *msg, ImU32 color) const |
| std::pair< int, int > | RoomToCanvas (int room_x, int room_y) const |
| Convert room tile coordinates to canvas pixel coordinates. | |
| std::pair< int, int > | CanvasToRoom (int canvas_x, int canvas_y) const |
| Convert canvas pixel coordinates to room tile coordinates. | |
| bool | IsWithinBounds (int canvas_x, int canvas_y) const |
| Check if coordinates are within room bounds. | |
| ImVec2 | GetCanvasZeroPoint () const |
| Get canvas zero point (for screen coordinate conversion) | |
| float | GetCanvasScale () const |
| Get canvas global scale. | |
| bool | HasValidContext () const |
| Check if context is valid. | |
| zelda3::Room * | GetCurrentRoom () const |
| Get current room (convenience method) | |
Protected Attributes inherited from yaze::editor::BaseEntityHandler | |
| InteractionContext * | ctx_ = nullptr |
| float | toast_expire_time_ = 0.0f |
Static Protected Attributes inherited from yaze::editor::BaseEntityHandler | |
| static constexpr float | kToastDuration = 1.5f |
Handles functional mutations and queries for tile objects.
This class abstracts the raw manipulation of zelda3::RoomObject vectors, providing a cleaner API for the UI and future CLI.
Definition at line 19 of file tile_object_handler.h.
|
strong |
| Enumerator | |
|---|---|
| kNone | |
| kInvalidRoom | |
| kObjectLimit | |
Definition at line 21 of file tile_object_handler.h.
|
inline |
Definition at line 27 of file tile_object_handler.h.
|
inlineexplicit |
Definition at line 28 of file tile_object_handler.h.
References yaze::editor::BaseEntityHandler::SetContext().

|
overridevirtual |
Begin placement mode.
Called when user selects an entity to place from the palette. Override to initialize placement state.
Implements yaze::editor::BaseEntityHandler.
Definition at line 44 of file tile_object_handler.cc.
References object_placement_mode_, and RenderGhostPreviewBitmap().

|
overridevirtual |
Cancel current placement.
Called when user presses Escape or switches modes. Override to clean up placement state.
Implements yaze::editor::BaseEntityHandler.
Definition at line 49 of file tile_object_handler.cc.
References ghost_preview_buffer_, and object_placement_mode_.
Referenced by yaze::editor::InteractionCoordinator::CancelCurrentMode(), and yaze::editor::InteractionCoordinator::CancelPlacement().
|
inlineoverridevirtual |
Check if placement mode is active.
Implements yaze::editor::BaseEntityHandler.
Definition at line 36 of file tile_object_handler.h.
References object_placement_mode_.
Referenced by yaze::editor::InteractionCoordinator::DrawGhostPreviews(), yaze::editor::InteractionCoordinator::HandleClick(), yaze::editor::InteractionCoordinator::HandleDrag(), yaze::editor::InteractionCoordinator::HandleMouseWheel(), and yaze::editor::InteractionCoordinator::IsPlacementActive().
|
overridevirtual |
Handle mouse click at canvas position.
| canvas_x | Unscaled X position relative to canvas origin |
| canvas_y | Unscaled Y position relative to canvas origin |
Implements yaze::editor::BaseEntityHandler.
Definition at line 54 of file tile_object_handler.cc.
References yaze::editor::ObjectSelection::Add, yaze::editor::BaseEntityHandler::CanvasToRoom(), yaze::editor::BaseEntityHandler::ctx_, yaze::editor::InteractionContext::current_room_id, GetEntityAtPosition(), yaze::editor::BaseEntityHandler::HasValidContext(), yaze::editor::BaseEntityHandler::IsWithinBounds(), object_placement_mode_, PlaceObjectAt(), preview_object_, yaze::editor::InteractionContext::selection, yaze::editor::ObjectSelection::SelectObject(), yaze::editor::ObjectSelection::Single, and yaze::editor::ObjectSelection::Toggle.
Referenced by yaze::editor::InteractionCoordinator::HandleClick().
|
overridevirtual |
Handle mouse drag.
| current_pos | Current mouse position (screen coords) |
| delta | Mouse movement since last frame |
Implements yaze::editor::BaseEntityHandler.
Definition at line 153 of file tile_object_handler.cc.
References yaze::editor::ObjectSelection::Add, ApplyDragModifiers(), yaze::editor::ObjectSelection::ClearSelection(), yaze::editor::BaseEntityHandler::ctx_, yaze::editor::InteractionContext::current_room_id, drag_current_, drag_has_duplicated_, drag_last_dx_, drag_last_dy_, drag_mutation_started_, drag_start_, DuplicateObjects(), yaze::editor::ObjectSelection::GetSelectedIndices(), is_dragging_, yaze::editor::kTileObjects, MoveObjects(), yaze::editor::InteractionContext::NotifyMutation(), yaze::editor::InteractionContext::selection, yaze::editor::ObjectSelection::SelectObject(), and yaze::editor::snapping::SnapToTileGrid().
Referenced by yaze::editor::InteractionCoordinator::HandleDrag().
|
overridevirtual |
Handle mouse release.
Called when left mouse button is released after a drag.
Implements yaze::editor::BaseEntityHandler.
Definition at line 208 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, drag_has_duplicated_, drag_mutation_started_, is_dragging_, yaze::editor::kTileObjects, and yaze::editor::InteractionContext::NotifyInvalidateCache().
Referenced by yaze::editor::InteractionCoordinator::HandleRelease().

|
overridevirtual |
Reimplemented from yaze::editor::BaseEntityHandler.
Definition at line 232 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, yaze::editor::InteractionContext::current_room_id, yaze::editor::ObjectSelection::GetSelectedIndices(), yaze::editor::BaseEntityHandler::HasValidContext(), ResizeObjects(), and yaze::editor::InteractionContext::selection.
Referenced by yaze::editor::InteractionCoordinator::HandleMouseWheel().

|
overridevirtual |
Draw ghost preview during placement.
Called every frame when placement mode is active. Shows preview of entity at cursor position.
Implements yaze::editor::BaseEntityHandler.
Definition at line 243 of file tile_object_handler.cc.
References CalculateObjectBounds(), yaze::editor::BaseEntityHandler::CanvasToRoom(), yaze::editor::BaseEntityHandler::ctx_, yaze::editor::InteractionContext::current_room_id, yaze::editor::BaseEntityHandler::GetCanvasScale(), yaze::editor::BaseEntityHandler::GetCanvasZeroPoint(), GetRoom(), yaze::editor::AgentUI::GetTheme(), yaze::zelda3::Room::GetTileObjects(), ghost_preview_buffer_, yaze::editor::BaseEntityHandler::HasValidContext(), yaze::zelda3::RoomObject::id_, yaze::editor::BaseEntityHandler::IsWithinBounds(), yaze::zelda3::kMaxTileObjects, object_placement_mode_, preview_object_, and yaze::editor::BaseEntityHandler::RoomToCanvas().
Referenced by yaze::editor::InteractionCoordinator::DrawGhostPreviews().
|
overridevirtual |
Draw selection highlight for selected entities.
Called every frame to show selection state.
Implements yaze::editor::BaseEntityHandler.
Definition at line 310 of file tile_object_handler.cc.
References yaze::editor::InteractionContext::canvas, yaze::editor::BaseEntityHandler::ctx_, yaze::editor::ObjectSelection::DrawSelectionHighlights(), yaze::editor::BaseEntityHandler::GetCurrentRoom(), yaze::editor::BaseEntityHandler::HasValidContext(), and yaze::editor::InteractionContext::selection.

| void yaze::editor::TileObjectHandler::InitDrag | ( | const ImVec2 & | start_pos | ) |
Definition at line 88 of file tile_object_handler.cc.
References drag_current_, drag_has_duplicated_, drag_last_dx_, drag_last_dy_, drag_mutation_started_, drag_start_, is_dragging_, and yaze::editor::snapping::SnapToTileGrid().

| void yaze::editor::TileObjectHandler::BeginMarqueeSelection | ( | const ImVec2 & | start_pos | ) |
Definition at line 98 of file tile_object_handler.cc.
References yaze::editor::ObjectSelection::BeginRectangleSelection(), yaze::editor::BaseEntityHandler::ctx_, and yaze::editor::InteractionContext::selection.

| void yaze::editor::TileObjectHandler::HandleMarqueeSelection | ( | const ImVec2 & | mouse_pos, |
| bool | mouse_left_down, | ||
| bool | mouse_left_released, | ||
| bool | shift_down, | ||
| bool | toggle_down, | ||
| bool | alt_down, | ||
| bool | draw_box = true ) |
Definition at line 104 of file tile_object_handler.cc.
References yaze::editor::ObjectSelection::Add, yaze::editor::ObjectSelection::CancelRectangleSelection(), yaze::editor::InteractionContext::canvas, yaze::editor::BaseEntityHandler::ctx_, yaze::editor::InteractionContext::current_room_id, yaze::editor::ObjectSelection::DrawRectangleSelectionBox(), yaze::editor::ObjectSelection::EndRectangleSelection(), GetRoom(), yaze::editor::ObjectSelection::IsRectangleLargeEnough(), yaze::editor::ObjectSelection::IsRectangleSelectionActive(), yaze::editor::InteractionContext::selection, yaze::editor::ObjectSelection::Single, yaze::editor::ObjectSelection::Toggle, and yaze::editor::ObjectSelection::UpdateRectangleSelection().
|
overridevirtual |
Get entity at canvas position.
| canvas_x | Unscaled X position relative to canvas origin |
| canvas_y | Unscaled Y position relative to canvas origin |
Implements yaze::editor::BaseEntityHandler.
Definition at line 326 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, yaze::editor::InteractionContext::current_room_id, yaze::zelda3::DimensionService::Get(), yaze::zelda3::DimensionService::GetHitTestBounds(), GetRoom(), yaze::zelda3::Room::GetTileObjects(), yaze::editor::ObjectSelection::PassesLayerFilterForObject(), and yaze::editor::InteractionContext::selection.
Referenced by yaze::editor::InteractionCoordinator::GetEntityAtPosition(), and HandleClick().
| void yaze::editor::TileObjectHandler::MoveObjects | ( | int | room_id, |
| const std::vector< size_t > & | indices, | ||
| int | delta_x, | ||
| int | delta_y, | ||
| bool | notify_mutation = true ) |
Move a set of objects by a tile delta.
Definition at line 359 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().
Referenced by HandleDrag().

| std::vector< size_t > yaze::editor::TileObjectHandler::DuplicateObjects | ( | int | room_id, |
| const std::vector< size_t > & | indices, | ||
| int | delta_x, | ||
| int | delta_y, | ||
| bool | notify_mutation = true ) |
Clone a set of objects and move them by a tile delta.
Definition at line 497 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().
Referenced by HandleDrag().

| void yaze::editor::TileObjectHandler::DeleteObjects | ( | int | room_id, |
| std::vector< size_t > | indices ) |
Delete objects by indices.
Definition at line 522 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().

| void yaze::editor::TileObjectHandler::DeleteAllObjects | ( | int | room_id | ) |
Delete all objects in a room.
Definition at line 535 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().

| void yaze::editor::TileObjectHandler::SendToFront | ( | int | room_id, |
| const std::vector< size_t > & | indices ) |
Reorder objects.
Definition at line 543 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().

| void yaze::editor::TileObjectHandler::SendToBack | ( | int | room_id, |
| const std::vector< size_t > & | indices ) |
Definition at line 563 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().

| void yaze::editor::TileObjectHandler::MoveForward | ( | int | room_id, |
| const std::vector< size_t > & | indices ) |
Definition at line 583 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().

| void yaze::editor::TileObjectHandler::MoveBackward | ( | int | room_id, |
| const std::vector< size_t > & | indices ) |
Definition at line 600 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().

| void yaze::editor::TileObjectHandler::ResizeObjects | ( | int | room_id, |
| const std::vector< size_t > & | indices, | ||
| int | delta ) |
Resize objects by a delta.
Definition at line 617 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().
Referenced by HandleMouseWheel().

| bool yaze::editor::TileObjectHandler::PlaceObjectAt | ( | int | room_id, |
| const zelda3::RoomObject & | object, | ||
| int | x, | ||
| int | y ) |
Place a new object. Returns false if blocked by ROM limits.
Definition at line 632 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), kInvalidRoom, yaze::zelda3::kMaxTileObjects, kNone, kObjectLimit, yaze::editor::kTileObjects, NotifyChange(), yaze::editor::InteractionContext::NotifyMutation(), placement_block_reason_, yaze::editor::BaseEntityHandler::TriggerSuccessToast(), and yaze::zelda3::RoomObject::x_.
Referenced by HandleClick().

|
inline |
True if the most recent PlaceObjectAt was blocked.
Definition at line 107 of file tile_object_handler.h.
References kNone, and placement_block_reason_.
|
inline |
Definition at line 110 of file tile_object_handler.h.
References placement_block_reason_.
Referenced by yaze::editor::ObjectEditorPanel::Draw().
|
inline |
Definition at line 113 of file tile_object_handler.h.
References kNone, and placement_block_reason_.
| void yaze::editor::TileObjectHandler::UpdateObjectsId | ( | int | room_id, |
| const std::vector< size_t > & | indices, | ||
| int16_t | new_id ) |
Definition at line 378 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().

| void yaze::editor::TileObjectHandler::UpdateObjectsSize | ( | int | room_id, |
| const std::vector< size_t > & | indices, | ||
| uint8_t | new_size ) |
Definition at line 393 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().

| void yaze::editor::TileObjectHandler::UpdateObjectsLayer | ( | int | room_id, |
| const std::vector< size_t > & | indices, | ||
| int | new_layer ) |
Definition at line 408 of file tile_object_handler.cc.
References yaze::zelda3::RoomObject::BG1, yaze::editor::BaseEntityHandler::ctx_, yaze::zelda3::GetObjectLayerSemantics(), GetRoom(), yaze::zelda3::kMaxBg3Objects, yaze::editor::kTileObjects, LOG_WARN, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().

| void yaze::editor::TileObjectHandler::SetPreviewObject | ( | const zelda3::RoomObject & | object | ) |
Set object for placement.
Definition at line 657 of file tile_object_handler.cc.
References object_placement_mode_, preview_object_, and RenderGhostPreviewBitmap().

| void yaze::editor::TileObjectHandler::CopyObjectsToClipboard | ( | int | room_id, |
| const std::vector< size_t > & | indices ) |
Copy objects to internal clipboard.
Definition at line 703 of file tile_object_handler.cc.
References clipboard_, and GetRoom().

| std::vector< size_t > yaze::editor::TileObjectHandler::PasteFromClipboard | ( | int | room_id, |
| int | offset_x, | ||
| int | offset_y ) |
Paste objects from clipboard with offset.
Definition at line 718 of file tile_object_handler.cc.
References clipboard_, yaze::editor::BaseEntityHandler::ctx_, GetRoom(), yaze::editor::kTileObjects, NotifyChange(), and yaze::editor::InteractionContext::NotifyMutation().
Referenced by PasteFromClipboardAt().

| std::vector< size_t > yaze::editor::TileObjectHandler::PasteFromClipboardAt | ( | int | room_id, |
| int | target_x, | ||
| int | target_y ) |
Paste objects from clipboard at target location. Use first clipboard item as origin.
Definition at line 739 of file tile_object_handler.cc.
References clipboard_, and PasteFromClipboard().

|
inline |
Check if clipboard has data.
Definition at line 152 of file tile_object_handler.h.
References clipboard_.
Referenced by yaze::editor::DungeonObjectInteraction::HasClipboardData().
|
inline |
|
private |
Definition at line 664 of file tile_object_handler.cc.
References CalculateObjectBounds(), yaze::gfx::Arena::CREATE, yaze::editor::BaseEntityHandler::ctx_, yaze::editor::InteractionContext::current_palette_group, yaze::editor::InteractionContext::current_room_id, yaze::zelda3::ObjectDrawer::DrawObject(), yaze::gfx::Arena::Get(), GetRoom(), ghost_preview_buffer_, yaze::zelda3::ObjectDrawer::InitializeDrawRoutines(), yaze::Rom::is_loaded(), preview_object_, yaze::gfx::Arena::ProcessTextureQueue(), yaze::gfx::Arena::QueueTextureCommand(), and yaze::editor::InteractionContext::rom.
Referenced by BeginPlacement(), and SetPreviewObject().
|
private |
Definition at line 694 of file tile_object_handler.cc.
References yaze::zelda3::DimensionService::Get(), and yaze::zelda3::DimensionService::GetPixelDimensions().
Referenced by DrawGhostPreview(), and RenderGhostPreviewBitmap().

|
private |
Definition at line 224 of file tile_object_handler.cc.
Referenced by HandleDrag().
|
private |
Definition at line 25 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, and yaze::editor::InteractionContext::rooms.
Referenced by CopyObjectsToClipboard(), DeleteAllObjects(), DeleteObjects(), DrawGhostPreview(), DuplicateObjects(), GetEntityAtPosition(), HandleMarqueeSelection(), MoveBackward(), MoveForward(), MoveObjects(), PasteFromClipboard(), PlaceObjectAt(), RenderGhostPreviewBitmap(), ResizeObjects(), SendToBack(), SendToFront(), UpdateObjectsId(), UpdateObjectsLayer(), and UpdateObjectsSize().
|
private |
Definition at line 34 of file tile_object_handler.cc.
References yaze::editor::BaseEntityHandler::ctx_, yaze::editor::kTileObjects, yaze::zelda3::Room::MarkObjectsDirty(), and yaze::editor::InteractionContext::NotifyInvalidateCache().
Referenced by DeleteAllObjects(), DeleteObjects(), DuplicateObjects(), MoveBackward(), MoveForward(), MoveObjects(), PasteFromClipboard(), PlaceObjectAt(), ResizeObjects(), SendToBack(), SendToFront(), UpdateObjectsId(), UpdateObjectsLayer(), and UpdateObjectsSize().

|
private |
Definition at line 161 of file tile_object_handler.h.
Referenced by BeginPlacement(), CancelPlacement(), DrawGhostPreview(), HandleClick(), IsPlacementActive(), and SetPreviewObject().
|
private |
Definition at line 162 of file tile_object_handler.h.
Referenced by clear_placement_blocked(), placement_block_reason(), PlaceObjectAt(), and was_placement_blocked().
|
private |
Definition at line 163 of file tile_object_handler.h.
Referenced by DrawGhostPreview(), HandleClick(), RenderGhostPreviewBitmap(), and SetPreviewObject().
|
private |
Definition at line 164 of file tile_object_handler.h.
Referenced by CancelPlacement(), DrawGhostPreview(), and RenderGhostPreviewBitmap().
|
private |
Definition at line 167 of file tile_object_handler.h.
Referenced by ClearClipboard(), CopyObjectsToClipboard(), HasClipboardData(), PasteFromClipboard(), and PasteFromClipboardAt().
|
private |
Definition at line 173 of file tile_object_handler.h.
Referenced by HandleDrag(), HandleRelease(), and InitDrag().
|
private |
Definition at line 174 of file tile_object_handler.h.
Referenced by HandleDrag(), and InitDrag().
|
private |
Definition at line 175 of file tile_object_handler.h.
Referenced by HandleDrag(), and InitDrag().
|
private |
Definition at line 176 of file tile_object_handler.h.
Referenced by HandleDrag(), and InitDrag().
|
private |
Definition at line 177 of file tile_object_handler.h.
Referenced by HandleDrag(), and InitDrag().
|
private |
Definition at line 178 of file tile_object_handler.h.
Referenced by HandleDrag(), HandleRelease(), and InitDrag().
|
private |
Definition at line 179 of file tile_object_handler.h.
Referenced by HandleDrag(), HandleRelease(), and InitDrag().