add entrances to ow draw

This commit is contained in:
Justin Scofield
2022-09-11 22:37:47 -05:00
parent 5179af9c00
commit 290844db54
6 changed files with 123 additions and 8 deletions

View File

@@ -39,8 +39,10 @@ void Canvas::DrawContextMenu() {
// Add first and second point
if (is_hovered && ImGui::IsMouseClicked(ImGuiMouseButton_Left)) {
ImVec2 draw_tile_outline_pos;
draw_tile_outline_pos.x = std::round((double)mouse_pos_in_canvas.x / 32) * 32;
draw_tile_outline_pos.y = std::round((double)mouse_pos_in_canvas.y / 32) * 32;
draw_tile_outline_pos.x =
std::round((double)mouse_pos_in_canvas.x / 32) * 32;
draw_tile_outline_pos.y =
std::round((double)mouse_pos_in_canvas.y / 32) * 32;
points_.push_back(draw_tile_outline_pos);
points_.push_back(
@@ -86,11 +88,19 @@ void Canvas::DrawBitmap(const Bitmap &bitmap, int x_offset, int y_offset) {
}
void Canvas::DrawOutline(int x, int y, int w, int h) {
ImVec2 origin(x, y);
ImVec2 size(x + w, y + h);
ImVec2 origin(canvas_p0_.x + scrolling_.x + x,
canvas_p0_.y + scrolling_.y + y);
ImVec2 size(canvas_p0_.x + scrolling_.x + x + w,
canvas_p0_.y + scrolling_.y + y + h);
draw_list_->AddRect(origin, size, IM_COL32(255, 255, 255, 255));
}
void Canvas::DrawText(std::string text, int x, int y) {
draw_list_->AddText(
ImVec2(canvas_p0_.x + scrolling_.x + x, canvas_p0_.y + scrolling_.y + y),
IM_COL32(255, 255, 255, 255), text.data());
}
void Canvas::DrawGrid(float grid_step) {
// Draw grid + all lines in the canvas
draw_list_->PushClipRect(canvas_p0_, canvas_p1_, true);

View File

@@ -24,6 +24,7 @@ class Canvas {
void DrawBitmap(const Bitmap& bitmap, int border_offset = 0);
void DrawBitmap(const Bitmap& bitmap, int x_offset, int y_offset);
void DrawOutline(int x, int y, int w, int h);
void DrawText(std::string text, int x, int y);
void DrawGrid(float grid_step = 64.0f);
void DrawOverlay(); // last