Mouse move ignored when pen tablet is in proximity
This commit is contained in:
parent
9aafb63dc0
commit
c5f7cd236e
1 changed files with 9 additions and 7 deletions
16
src/main.cpp
16
src/main.cpp
|
|
@ -613,7 +613,8 @@ SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) {
|
|||
break;
|
||||
case SDL_EVENT_MOUSE_MOTION:
|
||||
mS.m->window.scale = SDL_GetWindowPixelDensity(mS.window);
|
||||
mS.m->input.mouse.set_pos({event->motion.x * mS.m->window.scale, event->motion.y * mS.m->window.scale});
|
||||
if(!mS.m->input.pen.inProximity)
|
||||
mS.m->input.mouse.set_pos({event->motion.x * mS.m->window.scale, event->motion.y * mS.m->window.scale});
|
||||
break;
|
||||
case SDL_EVENT_MOUSE_BUTTON_UP:
|
||||
if(event->button.button == 1)
|
||||
|
|
@ -674,7 +675,8 @@ SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) {
|
|||
}
|
||||
case SDL_EVENT_PEN_MOTION: {
|
||||
mS.m->input.pen.isEraser = event->pmotion.pen_state & SDL_PEN_INPUT_ERASER_TIP;
|
||||
mS.m->input.mouse.set_pos({event->pmotion.x, event->pmotion.y});
|
||||
if(mS.m->input.pen.inProximity)
|
||||
mS.m->input.mouse.set_pos({event->pmotion.x, event->pmotion.y});
|
||||
break;
|
||||
}
|
||||
case SDL_EVENT_PEN_DOWN: {
|
||||
|
|
@ -682,13 +684,13 @@ SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) {
|
|||
mS.m->input.mouse.leftDown = true;
|
||||
mS.m->input.mouse.leftClicks = 1;
|
||||
mS.m->input.pen.isEraser = event->ptouch.eraser;
|
||||
mS.m->input.mouse.set_pos({event->ptouch.x, event->ptouch.y});
|
||||
//mS.m->input.mouse.set_pos({event->ptouch.x, event->ptouch.y});
|
||||
break;
|
||||
}
|
||||
case SDL_EVENT_PEN_AXIS: {
|
||||
if(event->paxis.axis == SDL_PEN_AXIS_PRESSURE)
|
||||
mS.m->input.pen.pressure = event->paxis.value;
|
||||
mS.m->input.mouse.set_pos({event->paxis.x, event->paxis.y});
|
||||
//mS.m->input.mouse.set_pos({event->paxis.x, event->paxis.y});
|
||||
break;
|
||||
}
|
||||
case SDL_EVENT_PEN_UP: {
|
||||
|
|
@ -696,17 +698,17 @@ SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) {
|
|||
mS.m->input.mouse.leftDown = false;
|
||||
mS.m->input.pen.isEraser = event->ptouch.eraser;
|
||||
mS.m->input.pen.pressure = 0.0;
|
||||
mS.m->input.mouse.set_pos({event->ptouch.x, event->ptouch.y});
|
||||
//mS.m->input.mouse.set_pos({event->ptouch.x, event->ptouch.y});
|
||||
break;
|
||||
}
|
||||
case SDL_EVENT_PEN_BUTTON_UP: {
|
||||
mS.m->input.set_pen_button_up(event->pbutton);
|
||||
mS.m->input.mouse.set_pos({event->pbutton.x, event->pbutton.y});
|
||||
//mS.m->input.mouse.set_pos({event->pbutton.x, event->pbutton.y});
|
||||
break;
|
||||
}
|
||||
case SDL_EVENT_PEN_BUTTON_DOWN: {
|
||||
mS.m->input.set_pen_button_down(event->pbutton);
|
||||
mS.m->input.mouse.set_pos({event->pbutton.x, event->pbutton.y});
|
||||
//mS.m->input.mouse.set_pos({event->pbutton.x, event->pbutton.y});
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue