projects
/
dosrtxon
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed mouse handling
[dosrtxon]
/
src
/
sdl
/
main.c
diff --git
a/src/sdl/main.c
b/src/sdl/main.c
index
2bb2d47
..
358d774
100644
(file)
--- a/
src/sdl/main.c
+++ b/
src/sdl/main.c
@@
-119,6
+119,21
@@
void swap_buffers(void *pixels)
}
}
}
}
+static int bnmask(int sdlbn)
+{
+ switch(sdlbn) {
+ case SDL_BUTTON_LEFT:
+ return MOUSE_LEFT;
+ case SDL_BUTTON_RIGHT:
+ return MOUSE_RIGHT;
+ case SDL_BUTTON_MIDDLE:
+ return MOUSE_MIDDLE;
+ default:
+ break;
+ }
+ return 0;
+}
+
static void handle_event(SDL_Event *ev)
{
switch(ev->type) {
static void handle_event(SDL_Event *ev)
{
switch(ev->type) {
@@
-142,10
+157,10
@@
static void handle_event(SDL_Event *ev)
break;
case SDL_MOUSEBUTTONDOWN:
break;
case SDL_MOUSEBUTTONDOWN:
- mouse_bmask |= 1 << (ev->button.button - SDL_BUTTON_LEFT);
+ mouse_bmask |= bnmask(ev->button.button);
if(0) {
case SDL_MOUSEBUTTONUP:
if(0) {
case SDL_MOUSEBUTTONUP:
- mouse_bmask &= ~(1 << (ev->button.button - SDL_BUTTON_LEFT));
+ mouse_bmask &= ~bnmask(ev->button.button);
}
mouse_x = ev->button.x / fbscale;
mouse_y = ev->button.y / fbscale;
}
mouse_x = ev->button.x / fbscale;
mouse_y = ev->button.y / fbscale;