removed OSystem::set_mouse_pos (I hope I didn't break any backends, but if I did it should be trivial to get them working again)

svn-id: r9391
This commit is contained in:
Max Horn 2003-08-02 00:36:38 +00:00
parent 208a3925e9
commit 103112dd3d
15 changed files with 103 additions and 115 deletions

View File

@ -603,6 +603,7 @@ void OSystem_PALMOS::SimulateArrowKeys(Event *event, Int8 iHoriz, Int8 iVert, Bo
event->event_code = EVENT_MOUSEMOVE;
event->mouse.x = x;
event->mouse.y = y;
set_mouse_pos(event->mouse.x, event->mouse.y);
}
static void getCoordinates(EventPtr event, Boolean wide, Coord *x, Coord *y) {
@ -811,6 +812,7 @@ bool OSystem_PALMOS::poll_event(Event *event) {
event->event_code = EVENT_MOUSEMOVE;
event->mouse.x = x;
event->mouse.y = y - _decaly;
set_mouse_pos(event->mouse.x, event->mouse.y);
return true;
case penDownEvent:

View File

@ -184,6 +184,7 @@ bool OSystem_Dreamcast::poll_event(Event *event)
event->event_code = EVENT_MOUSEMOVE;
_ms_old_x = _ms_cur_x;
_ms_old_y = _ms_cur_y;
set_mouse_pos(event->mouse.x, event->mouse.y);
return true;
} else {
event->event_code = (EventCode)0;

View File

@ -873,107 +873,107 @@ bool OSystem_GP32::poll_event(Event *event) { // fixme: make more user-friendly
int key;
key=GpKeyGet();
if (key == GPC_VK_NONE) {
if (lastevent==EVENT_LBUTTONDOWN) {
lastevent=0;
event->event_code = EVENT_LBUTTONUP;
return true;
}
return false;
}
if (key == oldkey) {
eventcount--;
if (eventcount) return false;
}
oldkey=key;
eventcount=EVENT_COUNT;
event->event_code = EVENT_KEYDOWN;
if (key & GPC_VK_FL && key & GPC_VK_FR) { // L+R = save state
printf("Saving game, please wait...");
//extern void autosave(void * engine);
//autosave(NULL); //FIXME?
do key=GpKeyGet(); while (key != GPC_VK_NONE) ;
return false;
} else
if(key & GPC_VK_FL) { // L = debug console
//GpGraphicModeSet(8, NULL); //FIXME: if 16bit?
currsurface=DEBUG_SURFACE;
GpSurfaceFlip(&gpDraw[currsurface]);
GpSetPaletteEntry ( 0, 0,0,0 );
GpSetPaletteEntry ( 1, 255,0,0 );
GpSetPaletteEntry ( 2, 255,255,255 );
return false;
} else
if (key & GPC_VK_FR) { // R = game screen
//if (_overlay_visible) GpGraphicModeSet(16, NULL);
// else GpGraphicModeSet(8, NULL);
currsurface=GAME_SURFACE;
GpSurfaceFlip(&gpDraw[currsurface]);
_paletteDirtyStart=0;
_paletteDirtyEnd=255; //fixme?
return false;
}
if(key & GPC_VK_START) { // START = menu
event->kbd.keycode = 319;
event->kbd.ascii = 319;
return true;
}
if(key & GPC_VK_SELECT) { // SELECT == escape/skip
if (_overlay_visible)
do key=GpKeyGet(); while (key != GPC_VK_NONE) ; // prevent 2xESC
event->kbd.keycode = 27;
event->kbd.ascii = 27;
return true;
}
if (key & GPC_VK_FA) {
lastevent=EVENT_LBUTTONDOWN;
event->event_code = EVENT_LBUTTONDOWN;
return true;
}
if (key & GPC_VK_FB) {
lastevent=EVENT_RBUTTONDOWN;
event->event_code = EVENT_RBUTTONDOWN;
if (key == GPC_VK_NONE) {
if (lastevent==EVENT_LBUTTONDOWN) {
lastevent=0;
event->event_code = EVENT_LBUTTONUP;
return true;
}
return false;
}
event->event_code = EVENT_MOUSEMOVE;
if (key == oldkey) {
eventcount--;
if (eventcount) return false;
}
oldkey=key;
eventcount=EVENT_COUNT;
if(key & GPC_VK_LEFT) {
mx-=MOUSE_MIPS;
if (mx<1) mx=1; // wrong if 0?
}
event->event_code = EVENT_KEYDOWN;
if(key & GPC_VK_RIGHT) {
mx+=MOUSE_MIPS;
if (mx>319) mx=319;
}
if (key & GPC_VK_FL && key & GPC_VK_FR) { // L+R = save state
printf("Saving game, please wait...");
if(key & GPC_VK_UP) {
my-=MOUSE_MIPS;
if (my<1) my=1; // wrong if 0?
}
//extern void autosave(void * engine);
//autosave(NULL); //FIXME?
do key=GpKeyGet(); while (key != GPC_VK_NONE) ;
return false;
}
if (key & GPC_VK_FL) { // L = debug console
//GpGraphicModeSet(8, NULL); //FIXME: if 16bit?
currsurface=DEBUG_SURFACE;
GpSurfaceFlip(&gpDraw[currsurface]);
GpSetPaletteEntry ( 0, 0,0,0 );
GpSetPaletteEntry ( 1, 255,0,0 );
GpSetPaletteEntry ( 2, 255,255,255 );
return false;
}
if (key & GPC_VK_FR) { // R = game screen
//if (_overlay_visible) GpGraphicModeSet(16, NULL);
// else GpGraphicModeSet(8, NULL);
currsurface=GAME_SURFACE;
GpSurfaceFlip(&gpDraw[currsurface]);
if(key & GPC_VK_DOWN) {
my+=MOUSE_MIPS;
if (my>199) my=199;
}
_paletteDirtyStart=0;
_paletteDirtyEnd=255; //fixme?
return false;
}
event->event_code = EVENT_MOUSEMOVE;
km.x = event->mouse.x = mx;
km.y = event->mouse.y = my;
if (key & GPC_VK_START) { // START = menu
event->kbd.keycode = 319;
event->kbd.ascii = 319;
return true;
}
event->mouse.x /= _scaleFactor;
event->mouse.y /= _scaleFactor;
if (key & GPC_VK_SELECT) { // SELECT == escape/skip
if (_overlay_visible)
do key=GpKeyGet(); while (key != GPC_VK_NONE) ; // prevent 2xESC
event->kbd.keycode = 27;
event->kbd.ascii = 27;
return true;
}
if (key & GPC_VK_FA) {
lastevent=EVENT_LBUTTONDOWN;
event->event_code = EVENT_LBUTTONDOWN;
return true;
}
if (key & GPC_VK_FB) {
lastevent=EVENT_RBUTTONDOWN;
event->event_code = EVENT_RBUTTONDOWN;
return true;
}
if(key & GPC_VK_LEFT) {
mx-=MOUSE_MIPS;
if (mx<1) mx=1; // wrong if 0?
}
if(key & GPC_VK_RIGHT) {
mx+=MOUSE_MIPS;
if (mx>319) mx=319;
}
if(key & GPC_VK_UP) {
my-=MOUSE_MIPS;
if (my<1) my=1; // wrong if 0?
}
if(key & GPC_VK_DOWN) {
my+=MOUSE_MIPS;
if (my>199) my=199;
}
event->event_code = EVENT_MOUSEMOVE;
km.x = event->mouse.x = mx;
km.y = event->mouse.y = my;
event->mouse.x /= _scaleFactor;
event->mouse.y /= _scaleFactor;
set_mouse_pos(event->mouse.x, event->mouse.y);
}
// Set the function to be invoked whenever samples need to be generated

View File

@ -894,6 +894,7 @@ bool OSystem_MorphOS::poll_event(Event *event)
event->event_code = EVENT_MOUSEMOVE;
event->mouse.x = newx;
event->mouse.y = newy;
set_mouse_pos(event->mouse.x, event->mouse.y);
break;
}

View File

@ -708,6 +708,8 @@ bool OSystem_SDL_Common::poll_event(Event *event) {
if (_adjustAspectRatio)
event->mouse.y = aspect2Real(event->mouse.y);
set_mouse_pos(event->mouse.x, event->mouse.y);
return true;
case SDL_MOUSEBUTTONDOWN:

View File

@ -1751,6 +1751,9 @@ bool OSystem_WINCE3::poll_event(Event *event) {
return false;
*event = _event;
if (_event.event_code == EVENT_MOUSEMOVE)
set_mouse_pos(_event.mouse.x, _event.mouse.y);
_event.event_code = EVENT_WHEELUP;

View File

@ -1006,6 +1006,7 @@ bool OSystem_X11::poll_event(Event *scumm_event)
scumm_event->event_code = EVENT_MOUSEMOVE;
scumm_event->mouse.x = event.xmotion.x - scumm_x;
scumm_event->mouse.y = event.xmotion.y - scumm_y;
set_mouse_pos(scumm_event->mouse.x, scumm_event->mouse.y);
return true;
case ConfigureNotify:{

View File

@ -198,17 +198,8 @@ public:
/** Show or hide the mouse cursor. */
virtual bool show_mouse(bool visible) = 0;
/**
* Set the position of the mouse cursor.
* @see warp_mouse
*/
virtual void set_mouse_pos(int x, int y) = 0;
/**
* Warp the mouse cursor to the specified position. Where set_mouse_pos()
* only informs the backend of the mouse cursor's current position, this
* function actually moves the cursor to the specified position.
* @see set_mouse_pos
* Move ("warp) the mouse cursor to the specified position.
*/
virtual void warp_mouse(int x, int y) = 0;

View File

@ -164,7 +164,6 @@ void NewGui::runLoop() {
_currentKeyDown.keycode = 0;
break;
case OSystem::EVENT_MOUSEMOVE:
_system->set_mouse_pos(event.mouse.x, event.mouse.y);
activeDialog->handleMouseMoved(event.mouse.x - activeDialog->_x, event.mouse.y - activeDialog->_y, 0);
break;
// We don't distinguish between mousebuttons (for now at least)

View File

@ -1431,8 +1431,6 @@ void Scumm::parseEvents() {
case OSystem::EVENT_MOUSEMOVE:
_mouse.x = event.mouse.x;
_mouse.y = event.mouse.y;
_system->set_mouse_pos(event.mouse.x, event.mouse.y);
_system->update_screen();
break;
case OSystem::EVENT_LBUTTONDOWN:

View File

@ -264,7 +264,6 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst)
_fast_mode = 0;
_dx_use_3_or_4_for_lock = 0;
_mouse_pos_changed = 0;
_debugMode = 0;
_debugLevel = 0;
_language = 0;
@ -4289,10 +4288,6 @@ void SimonEngine::dx_update_screen_and_palette() {
}
}
if (_mouse_pos_changed) {
_mouse_pos_changed = false;
_system->set_mouse_pos(_sdl_mouse_x, _sdl_mouse_y);
}
_system->copy_rect(_sdl_buf_attached, 320, 0, 0, 320, 200);
_system->update_screen();
@ -4494,7 +4489,6 @@ void SimonEngine::delay(uint amount) {
case OSystem::EVENT_MOUSEMOVE:
_sdl_mouse_x = event.mouse.x;
_sdl_mouse_y = event.mouse.y;
_mouse_pos_changed = true;
break;
case OSystem::EVENT_LBUTTONDOWN:

View File

@ -179,7 +179,6 @@ protected:
bool _fast_mode;
bool _dx_use_3_or_4_for_lock;
bool _mouse_pos_changed;
uint16 _debugMode;
uint16 _language;
bool _noSubtitles;

View File

@ -1697,7 +1697,6 @@ void SkyControl::delay(unsigned int amount) {
case OSystem::EVENT_MOUSEMOVE:
_mouseX = event.mouse.x;
_mouseY = event.mouse.y;
_system->set_mouse_pos(_mouseX, _mouseY);
break;
case OSystem::EVENT_LBUTTONDOWN:

View File

@ -415,7 +415,6 @@ void SkyState::delay(uint amount) { //copied and mutilated from Simon.cpp
if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED)) {
_sdl_mouse_x = event.mouse.x;
_sdl_mouse_y = event.mouse.y;
_system->set_mouse_pos(_sdl_mouse_x, _sdl_mouse_y);
}
break;

View File

@ -168,7 +168,6 @@ void Sword2State::parseEvents() {
case OSystem::EVENT_MOUSEMOVE:
mousex = event.mouse.x;
mousey = event.mouse.y;
_system->set_mouse_pos(event.mouse.x, event.mouse.y);
break;
case OSystem::EVENT_LBUTTONDOWN:
LogMouseEvent(RD_LEFTBUTTONDOWN);