1#ifndef YAZE_APP_EDITOR_DUNGEON_DUNGEON_SNAPPING_H
2#define YAZE_APP_EDITOR_DUNGEON_DUNGEON_SNAPPING_H
6#include "imgui/imgui.h"
24 return (pixel / 8) * 8;
31 if (grid_size <= 0)
return pixel;
32 return (pixel / grid_size) * grid_size;
39 return ImVec2(
static_cast<float>(
SnapToTile(
static_cast<int>(point.x))),
40 static_cast<float>(
SnapToTile(
static_cast<int>(point.y))));
47 return ImVec2(
static_cast<float>(
SnapToGrid(
static_cast<int>(point.x), 4)),
48 static_cast<float>(
SnapToGrid(
static_cast<int>(point.y), 16)));
55 return ImVec2(
static_cast<float>(
SnapToGrid(
static_cast<int>(point.x), 16)),
56 static_cast<float>(
SnapToGrid(
static_cast<int>(point.y), 16)));
ImVec2 SnapToTileGrid(const ImVec2 &point)
Snap a point to the 8px tile grid.
ImVec2 SnapToSpriteGrid(const ImVec2 &point)
Snap a point for Sprites (16x16px)
int SnapToTile(int pixel)
Snap a pixel coordinate to the 8px tile grid.
int SnapToGrid(int pixel, int grid_size)
Snap a pixel coordinate to a specific grid size.
GridType
Snapping grids for different dungeon elements.
ImVec2 SnapToItemGrid(const ImVec2 &point)
Snap a point for Pot Items (X: 4px, Y: 16px)