void DemoKeeper::injectMouseRelease(int _absx, int _absy, MyGUI::MouseButton _id) { if (MyGUI::Gui::getInstancePtr() == nullptr) return; if (_id == MyGUI::MouseButton::Right) { mRightButtonPressed = false; setPointerVisible(true); } if (!MyGUI::InputManager::getInstance().injectMouseRelease(_absx, _absy, _id)) { } }
void DemoKeeper::injectMouseRelease(int _absx, int _absy, MyGUI::MouseButton _id) { if (!getGUI()) return; if (_id == MyGUI::MouseButton::Right) { mRightButtonPressed = false; setPointerVisible(true); } if (!getGUI()->injectMouseRelease(_absx, _absy, _id)) { } }
void DemoKeeper::injectMousePress(int _absx, int _absy, MyGUI::MouseButton _id) { if (MyGUI::Gui::getInstancePtr() == nullptr) return; if (!MyGUI::InputManager::getInstance().injectMousePress(_absx, _absy, _id)) { // вращаем сцену только когда не над гуем if (_id == MyGUI::MouseButton::Right) { mRightButtonPressed = true; mSaveCursorX = _absx; mSaveCursorY = _absy; setPointerVisible(false); } } }
void DemoKeeper::injectMousePress(int _absx, int _absy, MyGUI::MouseButton _id) { if (!getGUI()) return; if (!getGUI()->injectMousePress(_absx, _absy, _id)) { // вращаем сцену только когда не над гуем if (_id == MyGUI::MouseButton::Right) { mRightButtonPressed = true; mSaveCursorX = _absx; mSaveCursorY = _absy; setPointerVisible(false); } } }
bool BaseManager::init() { Ogre::String pluginsPath; mFrameCount = 0; mPickFrameCount = 0; mPickX = 0; mPickY = 0; #ifndef OGRE_STATIC_LIB pluginsPath = mResourcePath + mPluginCfgName; #endif mFastReset = false; mReset = false; mExit = false; mInputFilter = new InputFilter(); mRoot = new Ogre::Root(pluginsPath, mResourcePath + "ogre.cfg", mResourcePath + "Ogre.log"); Ogre::Log* plog = Ogre::LogManager::getSingleton().getDefaultLog(); if( plog ){ mCoutSource = new CoutSource(); plog->addListener( mCoutSource ); } //恢复Ogre配置,如果第一次配置启动一个Ogre配置对话框 if (!mRoot->restoreConfig()) { if (!mRoot->showConfigDialog()) return false; } mWindow = mRoot->initialise(true); createSceneManager(); // Set default mipmap level (NB some APIs ignore this) Ogre::TextureManager::getSingleton().setDefaultNumMipmaps(5); mRoot->addFrameListener(this); Ogre::WindowEventUtilities::addWindowEventListener(mWindow, this); size_t handle = 0; mWindow->getCustomAttribute("WINDOW", &handle); mSceneQuery = mSceneManager->createRayQuery( Ogre::Ray() ); createGui(); createInput(handle); createPointerManager(handle); createScene(); windowResized(mWindow); mRoot->getRenderSystem()->_initRenderTargets(); setPointerVisible(false); return true; }