summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-01-15 02:08:47 +0100
committerkdx <kikoodx@paranoici.org>2023-01-15 02:08:47 +0100
commit042ae6c2429eaf453431286fe188e871cd88b2f1 (patch)
tree0a81303c3518b4cab411d7998e8fa51411dbccf7
parentff9144048a2db6d443b2f5c17578ca7fdbae796d (diff)
download005-042ae6c2429eaf453431286fe188e871cd88b2f1.tar.gz
odd cursor
-rw-r--r--Cursor.cpp21
-rw-r--r--Cursor.hpp10
-rw-r--r--cfg.hpp (renamed from cfg.h)6
-rw-r--r--main.c14
-rw-r--r--main.cpp26
-rw-r--r--res/cursor_down.bmpbin0 -> 117898 bytes
-rw-r--r--res/cursor_up.bmpbin0 -> 137354 bytes
7 files changed, 60 insertions, 17 deletions
diff --git a/Cursor.cpp b/Cursor.cpp
new file mode 100644
index 0000000..49568ab
--- /dev/null
+++ b/Cursor.cpp
@@ -0,0 +1,21 @@
+#include "Cursor.hpp"
+#include "lzr.h"
+
+Cursor::Cursor() : _x(0), _y(0), _down(false)
+{
+}
+
+void Cursor::update()
+{
+ LZR_MousePosition(&_x, &_y);
+ _down = LZR_BUTTON(MOUSE_L) || LZR_BUTTON(MOUSE_R);
+}
+
+void Cursor::draw()
+{
+ LZR_ImageDrawSettings stg = {
+ 0, 0, -1, -1, 1.0, 1.0, 0.0, true, false, false
+ };
+ LZR_DrawImageEx(_down ? LZR_IMAGE("res/cursor_down.bmp")
+ : LZR_IMAGE("res/cursor_up.bmp"), _x, _y, stg);
+}
diff --git a/Cursor.hpp b/Cursor.hpp
new file mode 100644
index 0000000..ba9eb56
--- /dev/null
+++ b/Cursor.hpp
@@ -0,0 +1,10 @@
+#pragma once
+
+class Cursor {
+ int _x, _y;
+ bool _down;
+public:
+ Cursor();
+ void update();
+ void draw();
+};
diff --git a/cfg.h b/cfg.hpp
index d88c011..7447268 100644
--- a/cfg.h
+++ b/cfg.hpp
@@ -2,10 +2,10 @@
#include "lzr.h"
enum {
- CFG_DWIDTH = 256,
- CFG_DHEIGHT = 256,
+ CFG_DWIDTH = 512,
+ CFG_DHEIGHT = 512,
CFG_FPS = 60,
- CFG_TSIZE = 16,
+ CFG_TSIZE = 16
};
static const LZR_Config cfg = {
diff --git a/main.c b/main.c
deleted file mode 100644
index 8a232e3..0000000
--- a/main.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "cfg.h"
-#include "lzr.h"
-
-int main(int argc, char **argv)
-{
- (void)argc, (void)argv;
- if (LZR_Init(cfg))
- {
- LZR_Quit();
- return 1;
- }
- LZR_Quit();
- return 0;
-}
diff --git a/main.cpp b/main.cpp
new file mode 100644
index 0000000..fc3fc71
--- /dev/null
+++ b/main.cpp
@@ -0,0 +1,26 @@
+#include "cfg.hpp"
+#include "lzr.h"
+#include "Cursor.hpp"
+
+int main(int argc, char **argv)
+{
+ (void)argc, (void)argv;
+ if (LZR_Init(cfg))
+ {
+ LZR_Quit();
+ return 1;
+ }
+ Cursor cursor;
+ while (!LZR_ShouldQuit()) {
+ LZR_CycleEvents();
+ cursor.update();
+ LZR_DrawBegin();
+ LZR_DrawSetColor(0, 0, 0);
+ LZR_DrawClear();
+ LZR_DrawSetColor(1, 1, 1);
+ cursor.draw();
+ LZR_DrawEnd();
+ }
+ LZR_Quit();
+ return 0;
+}
diff --git a/res/cursor_down.bmp b/res/cursor_down.bmp
new file mode 100644
index 0000000..c2f8a50
--- /dev/null
+++ b/res/cursor_down.bmp
Binary files differ
diff --git a/res/cursor_up.bmp b/res/cursor_up.bmp
new file mode 100644
index 0000000..4df3ead
--- /dev/null
+++ b/res/cursor_up.bmp
Binary files differ