void translateMouseDownEvent(pp_int32 mouseButton, pp_int32 localMouseX, pp_int32 localMouseY) { if (mouseButton > 2 || !mouseButton) return; myDisplayDevice->transform(localMouseX, localMouseY); p.x = localMouseX; p.y = localMouseY; // ----------------------------- if (mouseButton == 1) { PPEvent myEvent(eLMouseDown, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); lMouseDown = true; lButtonDownStartTime = timerTicker; if (!lClickCount) { lmyTime = PPGetTickCount(); llastClickPosition.x = localMouseX; llastClickPosition.y = localMouseY; } else if (lClickCount == 2) { pp_uint32 deltat = PPGetTickCount() - lmyTime; if (deltat > 500) { lClickCount = 0; lmyTime = PPGetTickCount(); llastClickPosition.x = localMouseX; llastClickPosition.y = localMouseY; } } lClickCount++; } else if (mouseButton == 2) { PPEvent myEvent(eRMouseDown, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); rMouseDown = true; rButtonDownStartTime = timerTicker; if (!rClickCount) { rmyTime = PPGetTickCount(); rlastClickPosition.x = localMouseX; rlastClickPosition.y = localMouseY; } else if (rClickCount == 2) { pp_uint32 deltat = PPGetTickCount() - rmyTime; if (deltat > 500) { rClickCount = 0; rmyTime = PPGetTickCount(); rlastClickPosition.x = localMouseX; rlastClickPosition.y = localMouseY; } } rClickCount++; } }
void translateMouseUpEvent(pp_int32 mouseButton, pp_int32 localMouseX, pp_int32 localMouseY) { if (mouseButton > 2 || !mouseButton) return; myDisplayDevice->transform(localMouseX, localMouseY); p.x = localMouseX; p.y = localMouseY; // ----------------------------- if (mouseButton == 1) { lClickCount++; if (lClickCount >= 4) { pp_uint32 deltat = PPGetTickCount() - lmyTime; if (deltat < 500) { p.x = localMouseX; p.y = localMouseY; if (abs(p.x - llastClickPosition.x) < 4 && abs(p.y - llastClickPosition.y) < 4) { PPEvent myEvent(eLMouseDoubleClick, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); } } lClickCount = 0; } p.x = localMouseX; p.y = localMouseY; PPEvent myEvent(eLMouseUp, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); lMouseDown = false; } else if (mouseButton == 2) { rClickCount++; if (rClickCount >= 4) { pp_uint32 deltat = PPGetTickCount() - rmyTime; if (deltat < 500) { p.x = localMouseX; p.y = localMouseY; if (abs(p.x - rlastClickPosition.x) < 4 && abs(p.y - rlastClickPosition.y) < 4) { PPEvent myEvent(eRMouseDoubleClick, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); } } rClickCount = 0; } p.x = localMouseX; p.y = localMouseY; PPEvent myEvent(eRMouseUp, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); rMouseDown = false; } }
void translateMouseUpEvent(pp_int32 mouseButton, pp_int32 localMouseX, pp_int32 localMouseY) { myDisplayDevice->transform(localMouseX, localMouseY); if (mouseButton == SDL_BUTTON_WHEELDOWN) { TMouseWheelEventParams mouseWheelParams; mouseWheelParams.pos.x = localMouseX; mouseWheelParams.pos.y = localMouseY; mouseWheelParams.delta = -1; PPEvent myEvent(eMouseWheelMoved, &mouseWheelParams, sizeof(mouseWheelParams)); RaiseEventSerialized(&myEvent); } else if (mouseButton == SDL_BUTTON_WHEELUP) { TMouseWheelEventParams mouseWheelParams; mouseWheelParams.pos.x = localMouseX; mouseWheelParams.pos.y = localMouseY; mouseWheelParams.delta = 1; PPEvent myEvent(eMouseWheelMoved, &mouseWheelParams, sizeof(mouseWheelParams)); RaiseEventSerialized(&myEvent); } else if (mouseButton > 2 || !mouseButton) return; // ----------------------------- if (mouseButton == 1) { lClickCount++; if (lClickCount >= 4) { pp_uint32 deltat = PPGetTickCount() - lmyTime; if (deltat < 500) { p.x = localMouseX; p.y = localMouseY; if (abs(p.x - llastClickPosition.x) < 4 && abs(p.y - llastClickPosition.y) < 4) { PPEvent myEvent(eLMouseDoubleClick, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); } } lClickCount = 0; } p.x = localMouseX; p.y = localMouseY; PPEvent myEvent(eLMouseUp, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); lMouseDown = false; } else if (mouseButton == 2) { rClickCount++; if (rClickCount >= 4) { pp_uint32 deltat = PPGetTickCount() - rmyTime; if (deltat < 500) { p.x = localMouseX; p.y = localMouseY; if (abs(p.x - rlastClickPosition.x) < 4 && abs(p.y - rlastClickPosition.y) < 4) { PPEvent myEvent(eRMouseDoubleClick, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); } } rClickCount = 0; } p.x = localMouseX; p.y = localMouseY; PPEvent myEvent(eRMouseUp, &p, sizeof(PPPoint)); RaiseEventSerialized(&myEvent); rMouseDown = false; } }