pcem/src/wx-sdl2-mouse.c
pcem_emulator 2881d35680 Changes to wxWidgets/SDL2 port :
- Updated UI
- OpenGL 3.0 with GLSL/GLSLP-support
- Improvements to Windows version
- Minor changes/bugfixes
Patch from bit.
2017-07-30 10:39:27 +01:00

60 lines
1.3 KiB
C

#include <SDL2/SDL.h>
#include <string.h>
#include "plat-mouse.h"
int mouse_buttons;
static int mouse_x = 0, mouse_y = 0, mouse_z = 0;
int mouse[3];
void mouse_init()
{
memset(mouse, 0, sizeof(mouse));
}
void mouse_close()
{
}
void mouse_wheel_update(int dir)
{
mouse[2] += dir;
}
void mouse_poll_host()
{
if (mousecapture)
{
uint32_t mb = SDL_GetRelativeMouseState(&mouse[0], &mouse[1]);
mouse_buttons = 0;
if (mb & SDL_BUTTON(SDL_BUTTON_LEFT))
{
mouse_buttons |= 1;
}
if (mb & SDL_BUTTON(SDL_BUTTON_RIGHT))
{
mouse_buttons |= 2;
}
if (mb & SDL_BUTTON(SDL_BUTTON_MIDDLE))
{
mouse_buttons |= 4;
}
mouse_x += mouse[0];
mouse_y += mouse[1];
mouse_z += mouse[2];
mouse[2] = 0;
}
else
{
mouse_x = mouse_y = mouse_z = mouse_buttons = 0;
}
}
void mouse_get_mickeys(int *x, int *y, int *z)
{
*x = mouse_x;
*y = mouse_y;
*z = mouse_z;
mouse_x = mouse_y = mouse_z = 0;
}