From e3634a80ad29221b9fc0cc60a543027074096dd1 Mon Sep 17 00:00:00 2001 From: iamcheeseman Date: Thu, 12 Mar 2026 16:41:55 -0400 Subject: Move the UI rendering outside of the canvas --- main.lua | 16 ++++++++-------- src/im.lua | 2 +- src/input.lua | 12 ++++++------ src/objs/player.lua | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/main.lua b/main.lua index bbc2689..ed1a48a 100644 --- a/main.lua +++ b/main.lua @@ -48,14 +48,6 @@ function love.draw(dt) ground2:draw() player.box:draw() - im.begin_step() - - fire_event(scn.on_ui) - - im.draw() - - im.end_step() - -- TODO: Take care of weird displays lg.setCanvas() local scr_width, scr_height = lg.getDimensions() @@ -67,6 +59,14 @@ function love.draw(dt) WindowScale, WindowScale, SCR_WIDTH / 2, SCR_HEIGHT / 2) + im.begin_step() + + fire_event(scn.on_ui) + + im.draw() + + im.end_step() + lg.print(tostring(love.timer.getFPS())) lg.print("left "..tostring(player.box:touching_left()), 0, 20) lg.print("right "..tostring(player.box:touching_right()), 0, 40) diff --git a/src/im.lua b/src/im.lua index 7602765..bd3f021 100644 --- a/src/im.lua +++ b/src/im.lua @@ -344,7 +344,7 @@ function im.begin_window(title, x, y, w, h, opts) title_x, title_y = win.x + 1, win.y + 1 end - stencil_cmd(0, 0, viewport:getDimensions()) + stencil_cmd(0, 0, love.graphics.getDimensions()) rect_cmd(win.x, win.y, win.w, win.h, unpack(im.cols.border)) diff --git a/src/input.lua b/src/input.lua index c5c9012..b2951b2 100644 --- a/src/input.lua +++ b/src/input.lua @@ -57,20 +57,20 @@ end function love.mousepressed(_, _, btn) mouseEvents[btn] = true - local sx, sy = get_mouse_pos() + local sx, sy = love.mouse.getPosition() --get_mouse_pos() im.mousepressed(sx, sy, btn) end function love.mousereleased(_, _, btn) - local sx, sy = get_mouse_pos() + local sx, sy = love.mouse.getPosition() --get_mouse_pos() im.mousereleased(sx, sy, btn) end function love.mousemoved(_, _, dx, dy) - local sx, sy = get_mouse_pos() - local scrw, scrh = love.graphics.getDimensions() - local rdx, rdy = dx / scrw * SCR_WIDTH, dy / scrh * SCR_HEIGHT - im.mousemoved(sx, sy, rdx, rdy) + local sx, sy = love.mouse.getPosition() --get_mouse_pos() + -- local scrw, scrh = love.graphics.getDimensions() + -- local rdx, rdy = dx / scrw * SCR_WIDTH, dy / scrh * SCR_HEIGHT + im.mousemoved(sx, sy, dx, dy) end function love.wheelmoved(...) diff --git a/src/objs/player.lua b/src/objs/player.lua index 0903372..c046c7c 100644 --- a/src/objs/player.lua +++ b/src/objs/player.lua @@ -44,7 +44,7 @@ function player_movement_sys(player, dt) end function player_ui_sys(_) - im.begin_window("Room Editor", 5, 5, 50, 50, {}) + im.begin_window("Room Editor", 120, 5, 180, 320, {}) im.layout({0.5, 0.75, 1}) im.text("Tile: " .. tostring(tile)) if im.button(" - ") then -- cgit v1.3-2-g0d8e