summaryrefslogtreecommitdiff
path: root/libwinnie/src/sdl/mouse.cc
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-01-06 06:38:28 -0500
committerRaghuram Subramani <raghus2247@gmail.com>2025-01-06 06:38:28 -0500
commita096d1b1ffaa22585322c3e2619e88c0030de566 (patch)
tree58687160d7325520c6098a510f0fa19d886cb0f7 /libwinnie/src/sdl/mouse.cc
parentaf75fce2fb87fb0e285b1c876fb14bccb3c0def7 (diff)
clang-format for readability
Diffstat (limited to 'libwinnie/src/sdl/mouse.cc')
-rw-r--r--libwinnie/src/sdl/mouse.cc145
1 files changed, 78 insertions, 67 deletions
diff --git a/libwinnie/src/sdl/mouse.cc b/libwinnie/src/sdl/mouse.cc
index b5eac68..9ec6605 100644
--- a/libwinnie/src/sdl/mouse.cc
+++ b/libwinnie/src/sdl/mouse.cc
@@ -22,108 +22,119 @@ Author: Eleni Maria Stea <elene.mst@gmail.com>
#ifdef WINNIE_SDL
#include <SDL/SDL.h>
-#include <stdlib.h>
#include <stdint.h>
+#include <stdlib.h>
#include "sdl/mouse.h"
-#include "wm.h"
#include "window.h"
#include "winnie.h"
+#include "wm.h"
extern SDL_Event sdl_event;
struct Mouse {
- int pointer_x;
- int pointer_y;
- int bnstate;
+ int pointer_x;
+ int pointer_y;
+ int bnstate;
};
static Mouse *mouse;
-bool init_mouse()
+bool
+init_mouse()
{
- if(!(mouse = (Mouse*)malloc(sizeof *mouse))) {
- return false;
- }
- get_subsys()->mouse_offset = (intptr_t)(mouse);
+ if (!(mouse = (Mouse *) malloc(sizeof *mouse))) {
+ return false;
+ }
+ get_subsys()->mouse_offset = (intptr_t) (mouse);
- memset(mouse, 0, sizeof *mouse);
- return true;
+ memset(mouse, 0, sizeof *mouse);
+ return true;
}
-void destroy_mouse()
+void
+destroy_mouse()
{
- free(mouse);
+ free(mouse);
}
-void set_mouse_bounds(const Rect &rect)
+void
+set_mouse_bounds(const Rect &rect)
{
}
-int get_mouse_fd()
+int
+get_mouse_fd()
{
- return -1;
+ return -1;
}
-void process_mouse_event()
+void
+process_mouse_event()
{
- int bn;
- MouseMotionFuncType motion_callback = 0;
- MouseButtonFuncType button_callback = 0;
-
- Window *win;
- if(!(win = wm->get_grab_window())) {
- win = wm->get_window_at_pos(mouse->pointer_x, mouse->pointer_y);
- if(win) {
- wm->set_focused_window(win);
- }
- else {
- wm->set_focused_window(0);
- }
- }
-
- switch(sdl_event.type) {
- case SDL_MOUSEMOTION:
- mouse->pointer_x = sdl_event.motion.x;
- mouse->pointer_y = sdl_event.motion.y;
- if(win && (motion_callback = win->get_mouse_motion_callback())) {
- Rect rect = win->get_absolute_rect();
- motion_callback(win, mouse->pointer_x - rect.x, mouse->pointer_y - rect.y);
- }
- break;
-
- case SDL_MOUSEBUTTONUP:
- case SDL_MOUSEBUTTONDOWN:
- bn = sdl_event.button.button - SDL_BUTTON_LEFT;
- if(sdl_event.button.state == SDL_PRESSED) {
- mouse->bnstate |= 1 << bn;
- }
- else {
- mouse->bnstate &= ~(1 << bn);
- }
- if(win && (button_callback = win->get_mouse_button_callback())) {
- Rect rect = win->get_absolute_rect();
- button_callback(win, bn, sdl_event.button.state, mouse->pointer_x - rect.x, mouse->pointer_y - rect.y);
- }
- }
+ int bn;
+ MouseMotionFuncType motion_callback = 0;
+ MouseButtonFuncType button_callback = 0;
+
+ Window *win;
+ if (!(win = wm->get_grab_window())) {
+ win = wm->get_window_at_pos(mouse->pointer_x, mouse->pointer_y);
+ if (win) {
+ wm->set_focused_window(win);
+ } else {
+ wm->set_focused_window(0);
+ }
+ }
+
+ switch (sdl_event.type) {
+ case SDL_MOUSEMOTION:
+ mouse->pointer_x = sdl_event.motion.x;
+ mouse->pointer_y = sdl_event.motion.y;
+ if (win && (motion_callback = win->get_mouse_motion_callback())) {
+ Rect rect = win->get_absolute_rect();
+ motion_callback(
+ win, mouse->pointer_x - rect.x, mouse->pointer_y - rect.y);
+ }
+ break;
+
+ case SDL_MOUSEBUTTONUP:
+ case SDL_MOUSEBUTTONDOWN:
+ bn = sdl_event.button.button - SDL_BUTTON_LEFT;
+ if (sdl_event.button.state == SDL_PRESSED) {
+ mouse->bnstate |= 1 << bn;
+ } else {
+ mouse->bnstate &= ~(1 << bn);
+ }
+ if (win && (button_callback = win->get_mouse_button_callback())) {
+ Rect rect = win->get_absolute_rect();
+ button_callback(win,
+ bn,
+ sdl_event.button.state,
+ mouse->pointer_x - rect.x,
+ mouse->pointer_y - rect.y);
+ }
+ }
}
-void get_pointer_pos(int *x, int *y)
+void
+get_pointer_pos(int *x, int *y)
{
- *x = mouse->pointer_x;
- *y = mouse->pointer_y;
+ *x = mouse->pointer_x;
+ *y = mouse->pointer_y;
}
-int get_button_state()
+int
+get_button_state()
{
- return mouse->bnstate;
+ return mouse->bnstate;
}
-int get_button(int bn)
+int
+get_button(int bn)
{
- if(bn < 0 || bn >= 3) {
- return 0;
- }
- return (mouse->bnstate & (1 << bn)) != 0;
+ if (bn < 0 || bn >= 3) {
+ return 0;
+ }
+ return (mouse->bnstate & (1 << bn)) != 0;
}
#endif // WINNIE_SDL