void LayerManager::initialise() { MYGUI_ASSERT(false == mIsInitialise, INSTANCE_TYPE_NAME << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << INSTANCE_TYPE_NAME); WidgetManager::getInstance().registerUnlinker(this); Gui::getInstance().registerLoadXmlDelegate(XML_TYPE) = newDelegate(this, &LayerManager::_load); Ogre::SceneManagerEnumerator::SceneManagerIterator iter = Ogre::Root::getSingleton().getSceneManagerIterator(); if (iter.hasMoreElements()) { mSceneManager = iter.getNext(); mSceneManager->addRenderQueueListener(this); } else { mSceneManager = null; } // инициализация mPixScaleX = mPixScaleY = 1; mHOffset = mVOffset = 0; mAspectCoef = 1; mUpdate = false; MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully initialized"); mIsInitialise = true; // не забывай, о великий построитель гуёв // Кто здесь? mMaximumDepth = Ogre::Root::getSingleton().getRenderSystem()->getMaximumDepthInputValue(); }
void InputManager::initialise() { MYGUI_ASSERT(false == mIsInitialise, INSTANCE_TYPE_NAME << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << INSTANCE_TYPE_NAME); mWidgetMouseFocus = 0; mWidgetKeyFocus = 0; mWidgetRootMouseFocus = 0; mWidgetRootKeyFocus = 0; mIsWidgetMouseCapture = false; mIsShiftPressed = false; mIsControlPressed = false; mHoldKey = KC_UNASSIGNED; //mUseOISKeyLayout = false; mFirstPressKey = true; mTimerKey = 0.0f; mOldAbsZ = 0; createDefaultCharSet(); WidgetManager::getInstance().registerUnlinker(this); Gui::getInstance().addFrameListener(this); Gui::getInstance().registerLoadXmlDelegate(XML_TYPE) = newDelegate(this, &InputManager::_load); MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully initialized"); mIsInitialise = true; }
void WidgetManager::initialise() { MYGUI_ASSERT(false == mIsInitialise, INSTANCE_TYPE_NAME << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << INSTANCE_TYPE_NAME); registerUnlinker(this); // создаем фабрики виджетов mIntegratedFactoryList.insert(new factory::WidgetFactory()); mIntegratedFactoryList.insert(new factory::ButtonFactory()); mIntegratedFactoryList.insert(new factory::EditFactory()); mIntegratedFactoryList.insert(new factory::ListFactory()); mIntegratedFactoryList.insert(new factory::StaticTextFactory()); mIntegratedFactoryList.insert(new factory::StaticImageFactory()); mIntegratedFactoryList.insert(new factory::VScrollFactory()); mIntegratedFactoryList.insert(new factory::HScrollFactory()); mIntegratedFactoryList.insert(new factory::WindowFactory()); mIntegratedFactoryList.insert(new factory::ComboBoxFactory()); mIntegratedFactoryList.insert(new factory::TabFactory()); mIntegratedFactoryList.insert(new factory::SheetFactory()); mIntegratedFactoryList.insert(new factory::MessageFactory()); mIntegratedFactoryList.insert(new factory::ProgressFactory()); mIntegratedFactoryList.insert(new factory::RenderBoxFactory()); mIntegratedFactoryList.insert(new factory::ItemBoxFactory()); mIntegratedFactoryList.insert(new factory::MultiListFactory()); mIntegratedFactoryList.insert(new factory::PopupMenuFactory()); mIntegratedFactoryList.insert(new factory::FooBarFactory()); MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully initialized"); mIsInitialise = true; }
void InputManager::initialise() { MYGUI_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << getClassTypeName()); mWidgetMouseFocus = nullptr; mWidgetKeyFocus = nullptr; mLayerMouseFocus = nullptr; for (int i = MouseButton::Button0; i < MouseButton::MAX; ++i) { mMouseCapture[i] = false; } mIsShiftPressed = false; mIsControlPressed = false; mHoldKey = KeyCode::None; mHoldChar = 0; mFirstPressKey = true; mTimerKey = 0.0f; mOldAbsZ = 0; WidgetManager::getInstance().registerUnlinker(this); Gui::getInstance().eventFrameStart += newDelegate(this, &InputManager::frameEntered); MYGUI_LOG(Info, getClassTypeName() << " successfully initialized"); mIsInitialise = true; }
void ScrollView::setProperty(const std::string& _key, const std::string& _value) { if (_key == "ScrollView_VisibleVScroll") setVisibleVScroll(utility::parseValue<bool>(_value)); else if (_key == "ScrollView_VisibleHScroll") setVisibleHScroll(utility::parseValue<bool>(_value)); else if (_key == "ScrollView_CanvasAlign") setCanvasAlign(utility::parseValue<Align>(_value)); else if (_key == "ScrollView_CanvasSize") setCanvasSize(utility::parseValue<IntSize>(_value)); #ifndef MYGUI_DONT_USE_OBSOLETE else if (_key == "ScrollView_VScroll") { MYGUI_LOG(Warning, "ScrollView_VScroll is obsolete, use ScrollView_VisibleVScroll"); setVisibleVScroll(utility::parseValue<bool>(_value)); } else if (_key == "ScrollView_HScroll") { MYGUI_LOG(Warning, "ScrollView_HScroll is obsolete, use ScrollView_VisibleHScroll"); setVisibleHScroll(utility::parseValue<bool>(_value)); } #endif // MYGUI_DONT_USE_OBSOLETE else { Base::setProperty(_key, _value); return; } eventChangeProperty(this, _key, _value); }
bool PluginManager::loadPlugin(const std::string& _file) { #ifdef EMSCRIPTEN return false; #endif MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " used but not initialised"); // Load plugin library DynLib* lib = DynLibManager::getInstance().load(_file); if (!lib) { MYGUI_LOG(Error, "Plugin '" << _file << "' not found"); return false; } // Call startup function DLL_START_PLUGIN pFunc = reinterpret_cast<DLL_START_PLUGIN>(lib->getSymbol("dllStartPlugin")); if (!pFunc) { MYGUI_LOG(Error, "Cannot find symbol 'dllStartPlugin' in library " << _file); return false; } // Store for later unload mLibs[_file] = lib; // This must call installPlugin pFunc(); return true; }
void LayerManager::_load(xml::xmlNodePtr _node, const std::string & _file) { // берем детей и крутимся, основной цикл xml::xmlNodeIterator layer = _node->getNodeIterator(); while (layer.nextNode(XML_TYPE)) { std::string name, tmp; Ogre::ushort start = 0, count = 1, height = 1; if ( false == layer->findAttribute("name", name)) { MYGUI_LOG(Warning, "Attribute 'name' not found {file : " << _file << "}"); continue; } if (layer->findAttribute("height", tmp)) height = utility::parseUShort(tmp); else { MYGUI_LOG(Warning, "Attribute 'Height' not found {file : '" << _file << "' , name : " << name << "}"); } if (layer->findAttribute("count", tmp)) count = utility::parseUShort(tmp); else { MYGUI_LOG(Warning, "Attribute 'Count' not found {file : '" << _file << "' , name : " << name << "}"); } if (layer->findAttribute("start", tmp)) start = utility::parseUShort(tmp); else { MYGUI_LOG(Warning, "Attribute 'Start' not found {file : '" << _file << "' , name : " << name << "}"); } // а вот теперь добавляем слой mMapLayer[name] = new LayerInfo(name, start, count, height); }; }
void FactoryManager::initialise() { MYGUI_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << getClassTypeName()); MYGUI_LOG(Info, getClassTypeName() << " successfully initialized"); mIsInitialise = true; }
void FactoryManager::shutdown() { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName()); MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }
void ClipboardManager::shutdown() { if (false == mIsInitialise) return; MYGUI_LOG(Info, "* Shutdown: " << INSTANCE_TYPE_NAME); MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully shutdown"); mIsInitialise = false; }
void FactoryManager::initialise() { MYGUI_ASSERT(!mIsInitialise, INSTANCE_TYPE_NAME << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << INSTANCE_TYPE_NAME); MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully initialized"); mIsInitialise = true; }
void Gui::initialise(const std::string& _core, const std::string& _logFileName) { // самый первый лог LogManager::registerSection(MYGUI_LOG_SECTION, _logFileName); MYGUI_ASSERT(!mIsInitialise, INSTANCE_TYPE_NAME << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << INSTANCE_TYPE_NAME); MYGUI_LOG(Info, "* MyGUI version " << MYGUI_VERSION_MAJOR << "." << MYGUI_VERSION_MINOR << "." << MYGUI_VERSION_PATCH); // создаем и инициализируем синглтоны mResourceManager = new ResourceManager(); mLayerManager = new LayerManager(); mWidgetManager = new WidgetManager(); mInputManager = new InputManager(); mSubWidgetManager = new SubWidgetManager(); mSkinManager = new SkinManager(); mFontManager = new FontManager(); mControllerManager = new ControllerManager(); mPointerManager = new PointerManager(); mClipboardManager = new ClipboardManager(); mLayoutManager = new LayoutManager(); mDynLibManager = new DynLibManager(); mPluginManager = new PluginManager(); mLanguageManager = new LanguageManager(); mFactoryManager = new FactoryManager(); mResourceManager->initialise(); mLayerManager->initialise(); mWidgetManager->initialise(); mInputManager->initialise(); mSubWidgetManager->initialise(); mSkinManager->initialise(); mFontManager->initialise(); mControllerManager->initialise(); mPointerManager->initialise(); mClipboardManager->initialise(); mLayoutManager->initialise(); mDynLibManager->initialise(); mPluginManager->initialise(); mLanguageManager->initialise(); mFactoryManager->initialise(); WidgetManager::getInstance().registerUnlinker(this); // загружаем дефолтные настройки если надо if ( _core.empty() == false ) mResourceManager->load(_core); mViewSize = RenderManager::getInstance().getViewSize(); resizeWindow(mViewSize); MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully initialized"); mIsInitialise = true; }
void PluginManager::initialise() { MYGUI_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << getClassTypeName()); ResourceManager::getInstance().registerLoadXmlDelegate(mXmlPluginTagName) = newDelegate(this, &PluginManager::_load); MYGUI_LOG(Info, getClassTypeName() << " successfully initialized"); mIsInitialise = true; }
void OgreDataManager::initialise(const std::string& _group) { MYGUI_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << getClassTypeName()); mGroup = _group; MYGUI_LOG(Info, getClassTypeName() << " successfully initialized"); mIsInitialise = true; }
void DynLibManager::initialise() { MYGUI_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << getClassTypeName()); Gui::getInstance().eventFrameStart += newDelegate(this, &DynLibManager::notifyEventFrameStart); MYGUI_LOG(Info, getClassTypeName() << " successfully initialized"); mIsInitialise = true; }
void LanguageManager::shutdown() { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName()); ResourceManager::getInstance().unregisterLoadXmlDelegate(XML_TYPE); MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }
void LanguageManager::shutdown() { if (false == mIsInitialise) return; MYGUI_LOG(Info, "* Shutdown: " << INSTANCE_TYPE_NAME); ResourceManager::getInstance().unregisterLoadXmlDelegate(XML_TYPE); MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully shutdown"); mIsInitialise = false; }
void LayerManager::initialise() { MYGUI_ASSERT(false == mIsInitialise, INSTANCE_TYPE_NAME << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << INSTANCE_TYPE_NAME); WidgetManager::getInstance().registerUnlinker(this); Gui::getInstance().registerLoadXmlDelegate(XML_TYPE) = newDelegate(this, &LayerManager::_load); MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully initialized"); mIsInitialise = true; }
void LayoutManager::initialise() { MYGUI_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << getClassTypeName()); ResourceManager::getInstance().registerLoadXmlDelegate(XML_TYPE) = newDelegate(this, &LayoutManager::_load); FactoryManager::getInstance().registerFactory<ResourceLayout>(XML_TYPE_RESOURCE); MYGUI_LOG(Info, getClassTypeName() << " successfully initialized"); mIsInitialise = true; }
void PluginManager::shutdown() { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName()); unloadAllPlugins(); ResourceManager::getInstance().unregisterLoadXmlDelegate(mXmlPluginTagName); MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }
void BaseManager::saveImage(int _width, int _height, MyGUI::PixelFormat _format, void* _texture, const std::string& _filename) { Gdiplus::PixelFormat format; int bpp; if (_format == MyGUI::PixelFormat::R8G8B8A8) { bpp = 4; format = PixelFormat32bppARGB; } else if (_format == MyGUI::PixelFormat::R8G8B8) { bpp = 3; format = PixelFormat24bppRGB; } else if (_format == MyGUI::PixelFormat::L8A8) { bpp = 2; format = PixelFormat16bppGrayScale; } else { MYGUI_LOG(Error, "Unsuitable texture format for saving."); return; } UINT num, size; Gdiplus::GetImageEncodersSize(&num, &size); Gdiplus::ImageCodecInfo* imageCodecInfo = (Gdiplus::ImageCodecInfo*)malloc(size); GetImageEncoders(num, size, imageCodecInfo); CLSID* pngClsid = NULL; for (UINT j = 0; j < num; ++j) { if (wcscmp(imageCodecInfo[j].MimeType, L"image/png") == 0) { pngClsid = &imageCodecInfo[j].Clsid; break; } } if (pngClsid == NULL) { MYGUI_LOG(Error, "png codec not found"); return; } Gdiplus::Bitmap image(_width, _height, bpp * _width, format, (BYTE*)_texture); HRESULT res = image.Save(MyGUI::UString(_filename).asWStr_c_str(), pngClsid, NULL); if (res != S_OK) MYGUI_LOG(Error, "Texture saving error. result = " << res); }
void Gui::shutdown() { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName()); BackwardCompatibility::shutdown(); _destroyAllChildWidget(); // деинициализируем и удаляем синглтоны mPointerManager->shutdown(); mInputManager->shutdown(); mSkinManager->shutdown(); mSubWidgetManager->shutdown(); mLayerManager->shutdown(); mFontManager->shutdown(); mControllerManager->shutdown(); mClipboardManager->shutdown(); mLayoutManager->shutdown(); mPluginManager->shutdown(); mDynLibManager->shutdown(); mLanguageManager->shutdown(); mResourceManager->shutdown(); mFactoryManager->shutdown(); mToolTipManager->shutdown(); WidgetManager::getInstance().unregisterUnlinker(this); mWidgetManager->shutdown(); mPathsManager->shutdown(); delete mPointerManager; delete mWidgetManager; delete mInputManager; delete mSkinManager; delete mSubWidgetManager; delete mLayerManager; delete mFontManager; delete mControllerManager; delete mClipboardManager; delete mLayoutManager; delete mDynLibManager; delete mPluginManager; delete mLanguageManager; delete mResourceManager; delete mFactoryManager; delete mToolTipManager; delete mPathsManager; // сбрасываем кеш texture_utility::getTextureSize("", false); MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }
void InputManager::shutdown() { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName()); Gui::getInstance().eventFrameStart -= newDelegate(this, &InputManager::frameEntered); WidgetManager::getInstance().unregisterUnlinker(this); MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }
void SharedLayer::dumpStatisticToLog() { static const char* spacer = " "; MYGUI_LOG(Info, spacer); MYGUI_LOG(Info, "Layer name='" << getName() << "'" << " type='" << getTypeName() << "'" << spacer); MYGUI_LOG(Info, "Count root nodes : " << (mChildItem == nullptr ? 0 : 1) << spacer); if (mChildItem != nullptr) { mChildItem->dumpStatisticToLog(0); } }
void OverlappedLayer::dumpStatisticToLog() { static const char* spacer = " "; MYGUI_LOG(Info, spacer); MYGUI_LOG(Info, "Layer name='" << getName() << "'" << " type='" << getTypeName() << "'" << spacer); MYGUI_LOG(Info, "Count root nodes : " << mChildItems.size() << spacer); for (VectorILayerNode::iterator iter=mChildItems.begin(); iter!=mChildItems.end(); ++iter) { (*iter)->dumpStatisticToLog(0); } }
void LayerManager::shutdown() { if (false == mIsInitialise) return; MYGUI_LOG(Info, "* Shutdown: " << INSTANCE_TYPE_NAME); WidgetManager::getInstance().unregisterUnlinker(this); Gui::getInstance().unregisterLoadXmlDelegate(XML_TYPE); clear(); MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully shutdown"); mIsInitialise = false; }
void PluginManager::installPlugin(IPlugin* _plugin) { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " used but not initialised"); MYGUI_LOG(Info, "Installing plugin: " << _plugin->getName()); mPlugins.insert(_plugin); _plugin->install(); _plugin->initialize(); MYGUI_LOG(Info, "Plugin successfully installed"); }
void LayoutManager::initialise() { MYGUI_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice"); MYGUI_LOG(Info, "* Initialise: " << getClassTypeName()); ResourceManager::getInstance().registerLoadXmlDelegate(mXmlLayoutTagName) = newDelegate(this, &LayoutManager::_load); std::string resourceCategory = ResourceManager::getInstance().getCategoryName(); FactoryManager::getInstance().registerFactory<ResourceLayout>(resourceCategory); MYGUI_LOG(Info, getClassTypeName() << " successfully initialized"); mIsInitialise = true; }
void LayoutManager::shutdown() { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName()); ResourceManager::getInstance().unregisterLoadXmlDelegate(mXmlLayoutTagName); std::string resourceCategory = ResourceManager::getInstance().getCategoryName(); FactoryManager::getInstance().unregisterFactory<ResourceLayout>(resourceCategory); MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }
void FontManager::shutdown() { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName()); MyGUI::ResourceManager::getInstance().unregisterLoadXmlDelegate(XML_TYPE); FactoryManager::getInstance().unregisterFactory<ResourceManualFont>(XML_TYPE_RESOURCE); FactoryManager::getInstance().unregisterFactory<ResourceTrueTypeFont>(XML_TYPE_RESOURCE); MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }