mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-24 19:45:07 +00:00
WINCE: Some cleanup (public vs. private scopes), fix freelook
This commit is contained in:
parent
1c1786b16f
commit
781132aabc
@ -35,7 +35,7 @@
|
||||
|
||||
WINCESdlEventSource::WINCESdlEventSource()
|
||||
: _tapTime(0), _closeClick(false), _rbutton(false),
|
||||
_freeLook(false), _graphicsMan(0) {
|
||||
_graphicsMan(0) {
|
||||
}
|
||||
|
||||
void WINCESdlEventSource::init(WINCESdlGraphicsManager *graphicsMan) {
|
||||
@ -64,6 +64,7 @@ bool WINCESdlEventSource::pollEvent(Common::Event &event) {
|
||||
ev.type = SDL_NOEVENT;
|
||||
DWORD currentTime;
|
||||
bool keyEvent = false;
|
||||
bool freeLookActive = _graphicsMan->getFreeLookState();
|
||||
int deltaX, deltaY;
|
||||
|
||||
memset(&event, 0, sizeof(Common::Event));
|
||||
@ -199,7 +200,7 @@ bool WINCESdlEventSource::pollEvent(Common::Event &event) {
|
||||
}
|
||||
}
|
||||
|
||||
if (_freeLook && !_closeClick) {
|
||||
if (freeLookActive && !_closeClick) {
|
||||
_rbutton = false;
|
||||
_tapTime = 0;
|
||||
_tapX = event.mouse.x;
|
||||
@ -241,7 +242,7 @@ bool WINCESdlEventSource::pollEvent(Common::Event &event) {
|
||||
|
||||
fillMouseEvent(event, ev.button.x, ev.button.y);
|
||||
|
||||
if (_freeLook && !_closeClick) {
|
||||
if (freeLookActive && !_closeClick) {
|
||||
_tapX = event.mouse.x;
|
||||
_tapY = event.mouse.y;
|
||||
event.type = Common::EVENT_MOUSEMOVE;
|
||||
@ -322,8 +323,4 @@ int WINCESdlEventSource::mapKeyCE(SDLKey key, SDLMod mod, Uint16 unicode, bool u
|
||||
return key;
|
||||
}
|
||||
|
||||
void WINCESdlEventSource::swap_freeLook() {
|
||||
_freeLook = !_freeLook;
|
||||
}
|
||||
|
||||
#endif /* _WIN32_WCE */
|
||||
|
@ -45,8 +45,6 @@ public:
|
||||
// Overloaded from SDL backend (mouse and new scaler handling)
|
||||
void fillMouseEvent(Common::Event &event, int x, int y);
|
||||
|
||||
void swap_freeLook();
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
@ -61,8 +59,6 @@ private:
|
||||
|
||||
bool _closeClick; // flag when taps are spatially close together
|
||||
bool _rbutton; // double tap -> right button simulation
|
||||
bool _freeLook; // freeLook mode (do not send mouse button events)
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -49,8 +49,8 @@ WINCESdlGraphicsManager::WINCESdlGraphicsManager(SdlEventSource *sdlEventSource)
|
||||
_panelVisible(true), _saveActiveToolbar(NAME_MAIN_PANEL), _panelStateForced(false),
|
||||
_canBeAspectScaled(false), _scalersChanged(false), _saveToolbarState(false),
|
||||
_mouseBackupOld(NULL), _mouseBackupDim(0), _mouseBackupToolbar(NULL),
|
||||
_usesEmulatedMouse(false), _forceHideMouse(false), _hasfocus(true),
|
||||
_zoomUp(false), _zoomDown(false) {
|
||||
_usesEmulatedMouse(false), _forceHideMouse(false), _freeLook(false),
|
||||
_hasfocus(true), _zoomUp(false), _zoomDown(false) {
|
||||
memset(&_mouseCurState, 0, sizeof(_mouseCurState));
|
||||
if (_isSmartphone) {
|
||||
_mouseCurState.x = 20;
|
||||
@ -444,7 +444,6 @@ void WINCESdlGraphicsManager::update_game_settings() {
|
||||
// Skip
|
||||
panel->add(NAME_ITEM_SKIP, new CEGUI::ItemAction(ITEM_SKIP, POCKET_ACTION_SKIP));
|
||||
// sound
|
||||
//__XXX__ panel->add(NAME_ITEM_SOUND, new CEGUI::ItemSwitch(ITEM_SOUND_OFF, ITEM_SOUND_ON, &_soundMaster));
|
||||
panel->add(NAME_ITEM_SOUND, new CEGUI::ItemSwitch(ITEM_SOUND_OFF, ITEM_SOUND_ON, &OSystem_WINCE3::_soundMaster));
|
||||
|
||||
// bind keys
|
||||
@ -1627,6 +1626,14 @@ void WINCESdlGraphicsManager::create_toolbar() {
|
||||
_toolbarHandler.setVisible(false);
|
||||
}
|
||||
|
||||
void WINCESdlGraphicsManager::swap_freeLook() {
|
||||
_freeLook = !_freeLook;
|
||||
}
|
||||
|
||||
bool WINCESdlGraphicsManager::getFreeLookState() {
|
||||
return _freeLook;
|
||||
}
|
||||
|
||||
WINCESdlGraphicsManager::zoneDesc WINCESdlGraphicsManager::_zones[TOTAL_ZONES] = {
|
||||
{ 0, 0, 320, 145 },
|
||||
{ 0, 145, 150, 55 },
|
||||
|
@ -56,6 +56,8 @@ public:
|
||||
void unloadGFXMode();
|
||||
bool hotswapGFXMode();
|
||||
|
||||
void update_game_settings();
|
||||
|
||||
// Overloaded from SDL backend (toolbar handling)
|
||||
void drawMouse();
|
||||
// Overloaded from SDL backend (new scaler handling)
|
||||
@ -88,7 +90,8 @@ public:
|
||||
void swap_zoom_up();
|
||||
void swap_zoom_down();
|
||||
void swap_mouse_visibility();
|
||||
|
||||
void swap_freeLook();
|
||||
bool getFreeLookState();
|
||||
|
||||
//#ifdef WIN32_PLATFORM_WFSP
|
||||
void move_cursor_up();
|
||||
@ -96,7 +99,6 @@ public:
|
||||
void move_cursor_left();
|
||||
void move_cursor_right();
|
||||
|
||||
void retrieve_mouse_location(int &x, int &y);
|
||||
void switch_zone();
|
||||
|
||||
void add_right_click(bool pushed);
|
||||
@ -106,6 +108,11 @@ public:
|
||||
void smartphone_rotate_display();
|
||||
//#endif
|
||||
|
||||
bool hasPocketPCResolution();
|
||||
bool hasDesktopResolution();
|
||||
bool hasSquareQVGAResolution();
|
||||
bool hasWideResolution() const;
|
||||
|
||||
bool _panelInitialized; // only initialize the toolbar once
|
||||
bool _noDoubleTapRMB; // disable double tap -> rmb click
|
||||
|
||||
@ -122,11 +129,6 @@ public:
|
||||
|
||||
bool _hasfocus; // scummvm has the top window
|
||||
|
||||
bool hasPocketPCResolution();
|
||||
bool hasDesktopResolution();
|
||||
bool hasSquareQVGAResolution();
|
||||
bool hasWideResolution() const;
|
||||
|
||||
MousePos _mouseCurState;
|
||||
|
||||
bool _zoomUp; // zooming up mode
|
||||
@ -158,8 +160,8 @@ protected:
|
||||
|
||||
private:
|
||||
bool update_scalers();
|
||||
void update_game_settings();
|
||||
void drawToolbarMouse(SDL_Surface *surf, bool draw);
|
||||
void retrieve_mouse_location(int &x, int &y);
|
||||
|
||||
void create_toolbar();
|
||||
bool _panelVisible; // panel visibility
|
||||
@ -186,6 +188,7 @@ private:
|
||||
uint16 _mouseBackupDim;
|
||||
|
||||
bool _forceHideMouse; // force invisible mouse cursor
|
||||
bool _freeLook; // freeLook mode (do not send mouse button events)
|
||||
|
||||
// Smartphone specific variables
|
||||
void loadDeviceConfigurationElement(Common::String element, int &value, int defaultValue);
|
||||
|
@ -233,15 +233,15 @@ CEActionsPocket::~CEActionsPocket() {
|
||||
bool CEActionsPocket::perform(GUI::ActionType action, bool pushed) {
|
||||
static bool keydialogrunning = false, quitdialog = false;
|
||||
|
||||
_graphicsMan = ((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager());
|
||||
|
||||
if (!pushed) {
|
||||
switch (action) {
|
||||
case POCKET_ACTION_RIGHTCLICK:
|
||||
//_CESystem->add_right_click(false);
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->add_right_click(false);
|
||||
_graphicsMan->add_right_click(false);
|
||||
return true;
|
||||
case POCKET_ACTION_LEFTCLICK:
|
||||
//_CESystem->add_left_click(false);
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->add_left_click(false);
|
||||
_graphicsMan->add_left_click(false);
|
||||
return true;
|
||||
case POCKET_ACTION_PAUSE:
|
||||
case POCKET_ACTION_SAVE:
|
||||
@ -249,7 +249,6 @@ bool CEActionsPocket::perform(GUI::ActionType action, bool pushed) {
|
||||
case POCKET_ACTION_MULTI:
|
||||
EventsBuffer::simulateKey(&_key_action[action], false);
|
||||
return true;
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -271,55 +270,43 @@ bool CEActionsPocket::perform(GUI::ActionType action, bool pushed) {
|
||||
EventsBuffer::simulateKey(&_key_action[action], true);
|
||||
return true;
|
||||
case POCKET_ACTION_KEYBOARD:
|
||||
//_CESystem->swap_panel();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->swap_panel();
|
||||
_graphicsMan->swap_panel();
|
||||
return true;
|
||||
case POCKET_ACTION_HIDE:
|
||||
//_CESystem->swap_panel_visibility();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->swap_panel_visibility();
|
||||
_graphicsMan->swap_panel_visibility();
|
||||
return true;
|
||||
case POCKET_ACTION_SOUND:
|
||||
_CESystem->swap_sound_master();
|
||||
return true;
|
||||
case POCKET_ACTION_RIGHTCLICK:
|
||||
//_CESystem->add_right_click(true);
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->add_right_click(true);
|
||||
_graphicsMan->add_right_click(true);
|
||||
return true;
|
||||
case POCKET_ACTION_CURSOR:
|
||||
//_CESystem->swap_mouse_visibility();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->swap_mouse_visibility();
|
||||
_graphicsMan->swap_mouse_visibility();
|
||||
return true;
|
||||
case POCKET_ACTION_FREELOOK:
|
||||
//_CESystem->swap_freeLook();
|
||||
((WINCESdlEventSource *)((OSystem_SDL *)g_system)->getEventManager())->swap_freeLook();
|
||||
_graphicsMan->swap_freeLook();
|
||||
return true;
|
||||
case POCKET_ACTION_ZOOM_UP:
|
||||
//_CESystem->swap_zoom_up();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->swap_zoom_up();
|
||||
_graphicsMan->swap_zoom_up();
|
||||
return true;
|
||||
case POCKET_ACTION_ZOOM_DOWN:
|
||||
//_CESystem->swap_zoom_down();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->swap_zoom_down();
|
||||
_graphicsMan->swap_zoom_down();
|
||||
return true;
|
||||
case POCKET_ACTION_LEFTCLICK:
|
||||
//_CESystem->add_left_click(true);
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->add_left_click(true);
|
||||
_graphicsMan->add_left_click(true);
|
||||
return true;
|
||||
case POCKET_ACTION_UP:
|
||||
//_CESystem->move_cursor_up();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->move_cursor_up();
|
||||
_graphicsMan->move_cursor_up();
|
||||
return true;
|
||||
case POCKET_ACTION_DOWN:
|
||||
//_CESystem->move_cursor_down();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->move_cursor_down();
|
||||
_graphicsMan->move_cursor_down();
|
||||
return true;
|
||||
case POCKET_ACTION_LEFT:
|
||||
//_CESystem->move_cursor_left();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->move_cursor_left();
|
||||
_graphicsMan->move_cursor_left();
|
||||
return true;
|
||||
case POCKET_ACTION_RIGHT:
|
||||
//_CESystem->move_cursor_right();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->move_cursor_right();
|
||||
_graphicsMan->move_cursor_right();
|
||||
return true;
|
||||
case POCKET_ACTION_QUIT:
|
||||
if (!quitdialog) {
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "common/str.h"
|
||||
#include "gui/Key.h"
|
||||
#include "gui/Actions.h"
|
||||
#include "backends/graphics/wincesdl/wincesdl-graphics.h"
|
||||
|
||||
#define POCKET_ACTION_VERSION 5
|
||||
|
||||
@ -80,6 +81,7 @@ public:
|
||||
~CEActionsPocket();
|
||||
private:
|
||||
CEActionsPocket(const Common::String &gameid);
|
||||
WINCESdlGraphicsManager *_graphicsMan;
|
||||
bool _right_click_needed;
|
||||
bool _hide_toolbar_needed;
|
||||
bool _zoom_needed;
|
||||
|
@ -199,15 +199,15 @@ CEActionsSmartphone::~CEActionsSmartphone() {
|
||||
bool CEActionsSmartphone::perform(GUI::ActionType action, bool pushed) {
|
||||
static bool keydialogrunning = false, quitdialog = false;
|
||||
|
||||
_graphicsMan = ((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager());
|
||||
|
||||
if (!pushed) {
|
||||
switch (action) {
|
||||
case SMARTPHONE_ACTION_RIGHTCLICK:
|
||||
//_CESystem->add_right_click(false);
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->add_right_click(false);
|
||||
_graphicsMan->add_right_click(false);
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_LEFTCLICK:
|
||||
//_CESystem->add_left_click(false);
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->add_left_click(false);
|
||||
_graphicsMan->add_left_click(false);
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_SAVE:
|
||||
case SMARTPHONE_ACTION_SKIP:
|
||||
@ -234,32 +234,25 @@ bool CEActionsSmartphone::perform(GUI::ActionType action, bool pushed) {
|
||||
EventsBuffer::simulateKey(&_key_action[action], true);
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_RIGHTCLICK:
|
||||
//_CESystem->add_right_click(true);
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->add_right_click(true);
|
||||
_graphicsMan->add_right_click(true);
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_LEFTCLICK:
|
||||
//_CESystem->add_left_click(true);
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->add_left_click(true);
|
||||
_graphicsMan->add_left_click(true);
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_UP:
|
||||
//_CESystem->move_cursor_up();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->move_cursor_up();
|
||||
_graphicsMan->move_cursor_up();
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_DOWN:
|
||||
//_CESystem->move_cursor_down();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->move_cursor_down();
|
||||
_graphicsMan->move_cursor_down();
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_LEFT:
|
||||
//_CESystem->move_cursor_left();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->move_cursor_left();
|
||||
_graphicsMan->move_cursor_left();
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_RIGHT:
|
||||
//_CESystem->move_cursor_right();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->move_cursor_right();
|
||||
_graphicsMan->move_cursor_right();
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_ZONE:
|
||||
//_CESystem->switch_zone();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->switch_zone();
|
||||
_graphicsMan->switch_zone();
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_BINDKEYS:
|
||||
if (!keydialogrunning) {
|
||||
@ -271,12 +264,10 @@ bool CEActionsSmartphone::perform(GUI::ActionType action, bool pushed) {
|
||||
}
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_KEYBOARD:
|
||||
//_CESystem->swap_smartphone_keyboard();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->swap_smartphone_keyboard();
|
||||
_graphicsMan->swap_smartphone_keyboard();
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_ROTATE:
|
||||
//_CESystem->smartphone_rotate_display();
|
||||
((WINCESdlGraphicsManager *)((OSystem_SDL *)g_system)->getGraphicsManager())->smartphone_rotate_display();
|
||||
_graphicsMan->smartphone_rotate_display();
|
||||
return true;
|
||||
case SMARTPHONE_ACTION_QUIT:
|
||||
if (!quitdialog) {
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "common/str.h"
|
||||
#include "gui/Key.h"
|
||||
#include "gui/Actions.h"
|
||||
#include "backends/graphics/wincesdl/wincesdl-graphics.h"
|
||||
|
||||
#define SMARTPHONE_ACTION_VERSION 5
|
||||
|
||||
@ -68,6 +69,7 @@ public:
|
||||
~CEActionsSmartphone();
|
||||
private:
|
||||
CEActionsSmartphone();
|
||||
WINCESdlGraphicsManager *_graphicsMan;
|
||||
bool _right_click_needed;
|
||||
OSystem_WINCE3 *_CESystem;
|
||||
};
|
||||
|
@ -466,7 +466,7 @@ void OSystem_WINCE3::swap_sound_master() {
|
||||
void OSystem_WINCE3::engineInit() {
|
||||
check_mappings(); // called here to initialize virtual keys handling
|
||||
|
||||
//update_game_settings();
|
||||
((WINCESdlGraphicsManager *)_graphicsManager)->update_game_settings();
|
||||
// finalize mixer init
|
||||
_mixerManager->init();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user