|
@@ -0,0 +1,34 @@
|
|
|
+-- Set the units of the default font to pixels instead of meters
|
|
|
+local font = lovr.graphics.getDefaultFont()
|
|
|
+font:setPixelDensity(1)
|
|
|
+
|
|
|
+-- Set up a 2D orthographic projection, where (0, 0) is the upper
|
|
|
+-- left of the window and the units are in pixels
|
|
|
+local width, height = lovr.system.getWindowDimensions()
|
|
|
+local projection = Mat4():orthographic(0, width, 0, height, -10, 10)
|
|
|
+
|
|
|
+function lovr.draw(pass)
|
|
|
+ pass:setViewPose(1, mat4():identity())
|
|
|
+ pass:setProjection(1, projection)
|
|
|
+ pass:setDepthTest()
|
|
|
+
|
|
|
+ local button = { x = width / 2, y = height / 2, w = 180, h = 60 }
|
|
|
+
|
|
|
+ local mx, my = lovr.system.getMousePosition()
|
|
|
+ local pressed = lovr.system.isMouseDown(1)
|
|
|
+ local hovered = mx > button.x - button.w / 2 and mx < button.x + button.w / 2 and
|
|
|
+ my > button.y - button.h / 2 and my < button.y + button.h / 2
|
|
|
+
|
|
|
+ if hovered and pressed then
|
|
|
+ pass:setColor(.25, .25, .27)
|
|
|
+ elseif hovered then
|
|
|
+ pass:setColor(.20, .20, .22)
|
|
|
+ else
|
|
|
+ pass:setColor(.15, .15, .17)
|
|
|
+ end
|
|
|
+
|
|
|
+ pass:plane(button.x, button.y, 0, button.w, button.h)
|
|
|
+
|
|
|
+ pass:setColor(1, 1, 1)
|
|
|
+ pass:text('Click me!', button.x, button.y)
|
|
|
+end
|