void NECursorManager::setCursor(uint16 id) { if (_exe) { Graphics::WinCursorGroup *cursorGroup = Graphics::WinCursorGroup::createCursorGroup(*_exe, id); if (cursorGroup) { Graphics::Cursor *cursor = cursorGroup->cursors[0].cursor; CursorMan.replaceCursor(cursor->getSurface(), cursor->getWidth(), cursor->getHeight(), cursor->getHotspotX(), cursor->getHotspotY(), cursor->getKeyColor()); CursorMan.replaceCursorPalette(cursor->getPalette(), 0, 256); delete cursorGroup; return; } } // Last resort (not all have cursors) setDefaultCursor(); }
FXLinkLabel::FXLinkLabel(FXComposite* p,const FXString& text,FXIcon* ic,FXuint opts,FXint x,FXint y,FXint w,FXint h,FXint pl,FXint pr,FXint pt,FXint pb) :FXLabel(p,text,ic,opts,x,y,w,h,pl,pr,pt,pb) { setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); setTextColor(FXRGB(0,0,255)); }
void CursorManager::setCursor(uint16 id) { // For the base class, just use the default cursor always setDefaultCursor(); }
void ToucheEngine::handleOptions(int forceDisplay) { if (_disabledInputCounter == 0 || forceDisplay != 0) { setDefaultCursor(_currentKeyCharNum); _gameState = kGameStateOptionsDialog; MenuData menuData; memset(&menuData, 0, sizeof(MenuData)); menuData.quit = false; menuData.exit = false; menuData.mode = kMenuSettingsMode; int curMode = -1; bool doRedraw = false; while (!menuData.quit) { if (menuData.mode != curMode) { doRedraw = true; setupMenu(menuData.mode, &menuData); curMode = menuData.mode; if (menuData.mode == kMenuLoadStateMode || menuData.mode == kMenuSaveStateMode) { for (int i = 0; i < kMaxSaveStates; ++i) { menuData.saveLoadDescriptionsTable[i][0] = 0; } Common::String gameStateFileName = generateGameStateFileName(_targetName.c_str(), 0, true); Common::StringArray filenames = _saveFileMan->listSavefiles(gameStateFileName); for (Common::StringArray::const_iterator it = filenames.begin(); it != filenames.end(); ++it) { int i = getGameStateFileSlot(it->c_str()); if (i >= 0 && i < kMaxSaveStates) { Common::InSaveFile *f = _saveFileMan->openForLoading(*it); if (f) { readGameStateDescription(f, menuData.saveLoadDescriptionsTable[i], 32); delete f; } } } } } if (doRedraw) { redrawMenu(&menuData); updateScreenArea(90, 102, 460, 196); doRedraw = false; } Common::Event event; while (_eventMan->pollEvent(event)) { const Button *button = 0; switch (event.type) { case Common::EVENT_RTL: case Common::EVENT_QUIT: menuData.quit = true; menuData.exit = true; break; case Common::EVENT_LBUTTONDOWN: button = menuData.findButtonUnderCursor(event.mouse.x, event.mouse.y); if (button) { handleMenuAction(&menuData, button->action); doRedraw = true; } break; case Common::EVENT_KEYDOWN: if (menuData.mode == kMenuSaveStateMode) { if (event.kbd.keycode == Common::KEYCODE_BACKSPACE) { menuData.removeLastCharFromDescription(_saveLoadCurrentSlot); } else { menuData.addCharToDescription(_saveLoadCurrentSlot, (char)event.kbd.ascii); } doRedraw = true; } break; case Common::EVENT_WHEELUP: handleMenuAction(&menuData, kActionScrollUpSaves); doRedraw = true; break; case Common::EVENT_WHEELDOWN: handleMenuAction(&menuData, kActionScrollDownSaves); doRedraw = true; break; default: break; } } _system->updateScreen(); _system->delayMillis(10); } _fullRedrawCounter = 2; if (!menuData.exit && shouldQuit()) { if (displayQuitDialog()) quitGame(); } _gameState = kGameStateGameLoop; } }