void WidgetDemo::initialiseEventLights(CEGUI::Window* container) { CEGUI::WindowManager &winMgr = CEGUI::WindowManager::getSingleton(); CEGUI::Window* horizontalLayout = winMgr.createWindow("HorizontalLayoutContainer", "EventLightsContainer"); horizontalLayout->setPosition(CEGUI::UVector2(cegui_reldim(0.085f), cegui_reldim(0.93f))); container->addChild(horizontalLayout); d_windowLightUpdatedEvent = winMgr.createWindow("SampleBrowserSkin/Light"); horizontalLayout->addChild(d_windowLightUpdatedEvent); d_windowLightUpdatedEvent->setSize(CEGUI::USize(cegui_reldim(0.0f), cegui_reldim(0.04f))); d_windowLightUpdatedEvent->setAspectMode(CEGUI::AM_EXPAND); d_windowLightUpdatedEvent->setProperty("LightColour", "FF66FF66"); CEGUI::Window* updateEventLabel = winMgr.createWindow("Vanilla/Label"); horizontalLayout->addChild(updateEventLabel); updateEventLabel->setSize(CEGUI::USize(cegui_reldim(0.25f), cegui_reldim(0.04f))); updateEventLabel->setText("EventUpdated"); updateEventLabel->setFont("DejaVuSans-12-NoScale"); updateEventLabel->setProperty("HorzFormatting", "LeftAligned"); d_windowLightMouseMoveEvent = winMgr.createWindow("SampleBrowserSkin/Light"); horizontalLayout->addChild(d_windowLightMouseMoveEvent); d_windowLightMouseMoveEvent->setSize(CEGUI::USize(cegui_reldim(0.0f), cegui_reldim(0.04f))); d_windowLightMouseMoveEvent->setAspectMode(CEGUI::AM_EXPAND); d_windowLightMouseMoveEvent->setProperty("LightColour", "FF77BBFF"); CEGUI::Window* mouseMoveEventLabel = winMgr.createWindow("Vanilla/Label"); horizontalLayout->addChild(mouseMoveEventLabel); mouseMoveEventLabel->setSize(CEGUI::USize(cegui_reldim(0.25f), cegui_reldim(0.04f))); mouseMoveEventLabel->setText("EventMouseMove"); mouseMoveEventLabel->setFont("DejaVuSans-12-NoScale"); mouseMoveEventLabel->setProperty("HorzFormatting", "LeftAligned"); }
// GUIText _MEMBER_FUNCTION_IMPL(GUIText, constructor) { // Get our GUI CGUI * pGUI = g_pClient->GetGUI(); CEGUI::Window * pWindow = pGUI->CreateGUIStaticText(); if(!pWindow || SQ_FAILED(sq_setinstance(pVM, pWindow))) { CLogFile::Printf("Can't create GUIText."); sq_pushbool(pVM, false); return 1; } //_SET_RELEASE_HOOK(GUIElement); CClientScriptManager * pClientScriptManager = g_pClient->GetClientScriptManager(); pClientScriptManager->GetGUIManager()->Add(pWindow, pClientScriptManager->GetScriptingManager()->Get(pVM)); pWindow->setVisible(true); pWindow->setProperty("FrameEnabled", "false"); pWindow->setProperty("BackgroundEnabled", "false"); pWindow->setFont(pGUI->GetFont("tahoma-bold")); pWindow->setProperty("TextColours", "tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF"); SubscribeGuiEvents(pWindow); sq_pushbool(pVM, true); return 1; }
void SettingComboBox::onFontChanged(CEGUI::WindowEventArgs& e) { CEGUI::Window* name = getNameW(); CEGUI::Combobox* box = getComboBoxW(); name->setFont(CEGUI::Window::getFont()); box->setFont(CEGUI::Window::getFont()); }
void HUDDemo::createScorePopup(const CEGUI::Vector2<float>& mousePos, int points) { CEGUI::WindowManager& winMgr = CEGUI::WindowManager::getSingleton(); CEGUI::Window* popupWindow = winMgr.createWindow("HUDDemo/PopupLabel"); d_rootIngame->addChild(popupWindow); popupWindow->setPosition(CEGUI::UVector2(cegui_absdim(mousePos.d_x), cegui_absdim(mousePos.d_y))); popupWindow->setText(CEGUI::PropertyHelper<int>::toString(points)); popupWindow->setRiseOnClickEnabled(false); popupWindow->subscribeEvent(AnimationInstance::EventAnimationEnded, Event::Subscriber(&HUDDemo::handleScorePopupAnimationEnded, this)); popupWindow->setPixelAligned(false); popupWindow->setFont("DejaVuSans-14"); popupWindow->setPosition(popupWindow->getPosition() + CEGUI::UVector2(cegui_reldim(0.03f), cegui_reldim(-0.02f))); if(points < 0) popupWindow->setProperty("NormalTextColour", "FF880000"); else { popupWindow->setText( "+" + popupWindow->getText()); popupWindow->setProperty("NormalTextColour", "FF006600"); } CEGUI::EventArgs args; popupWindow->fireEvent("StartAnimation", args); }
CGUIManager::CGUIManager(Ogre::SceneManager *pSceneManager, Ogre::RenderTarget &target) : CEntity("GUIManager", nullptr), m_pSceneManager(pSceneManager), m_nRenderQueue(Ogre::RENDER_QUEUE_OVERLAY), m_bPostQueue(false), m_bRenderPause(false), m_vNativeRes(target.getWidth(), target.getHeight()), m_MouseMoving(MD_COUNT, false), m_fMouseSpeedX(0), m_fMouseSpeedY(0), m_fMouseAcceleration(2), m_fMouseInitialSpeed(50) { CInputListenerManager::getSingleton().addInputListener(this); OgreBites::SdkTrayManager *pTrayMgr = CGame::getSingleton().showLoadingBar(1, 1); pTrayMgr->loadBarSetCaption("GUI ..."); Ogre::LogManager::getSingletonPtr()->logMessage("*** Initializing CEGUI ***"); Ogre::LogManager::getSingletonPtr()->logMessage(" creating bootstrapSystem"); pTrayMgr->userUpdateLoadBar("Creating bootstrap system", 0.1); m_pCEGuiOgreRenderer = &CEGUI::OgreRenderer::bootstrapSystem(target); m_pCEGuiOgreRenderer->setFrameControlExecutionEnabled(false); Ogre::LogManager::getSingletonPtr()->logMessage(" setting up resource paths"); pTrayMgr->userUpdateLoadBar("Setting up resource paths", 0.1); CEGUI::ImageManager::setImagesetDefaultResourceGroup("Imagesets"); CEGUI::Font::setDefaultResourceGroup("Fonts"); CEGUI::Scheme::setDefaultResourceGroup("Schemes"); CEGUI::WidgetLookManager::setDefaultResourceGroup("LookNFeel"); CEGUI::WindowManager::setDefaultResourceGroup("Layouts"); Ogre::LogManager::getSingletonPtr()->logMessage(" creating scheme"); pTrayMgr->userUpdateLoadBar("Creating scheme", 0.1); createResources(); pSceneManager->addRenderQueueListener(this); Ogre::LogManager::getSingletonPtr()->logMessage(" creating root window"); pTrayMgr->userUpdateLoadBar("Initializing the root window", 0.1); CEGUI::Window *guiRoot = CEGUI::WindowManager::getSingleton().createWindow("DefaultWindow", "MasterRoot"); m_pRoot = guiRoot; //guiRoot->setAlpha(0); guiRoot->setSize(USize(UDim(1, 0), UDim(1, 0))); //guiRoot->setProperty("BackgroundEnabled", "false"); CEGUI::System::getSingleton().getDefaultGUIContext().setRootWindow(guiRoot); CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setDefaultImage("OgreTrayImages/MouseArrow"); //CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setDefaultImage("OgreTrayImages/MouseInvisible"); CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setPosition(CEGUI::Vector2f(0,0)); CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setConstraintArea(NULL); pTrayMgr->userUpdateLoadBar("Creating fonts", 0.2); createFreeTypeFont("dejavusans12", 12, "DejaVuSans.ttf"); createFreeTypeFont("dejavusans8", 8, "DejaVuSans.ttf"); createFreeTypeFont("dejavusans20", 20, "DejaVuSans.ttf"); CEGUI::System::getSingleton().getDefaultGUIContext().setDefaultFont( "dejavusans12" ); guiRoot->setFont("dejavusans12"); pTrayMgr->userUpdateLoadBar("Creating gui components", 0.2); new CGUIDebugPullMenu(this, guiRoot, CGUIPullMenu::PMD_RIGHT); pTrayMgr->userUpdateLoadBar("done...", 0.2); Sizef vSize = CGUIManager::getSingleton().getNativeRes(); Ogre::LogManager::getSingleton().logMessage("GUIManager initialized..."); CGame::getSingleton().hideLoadingBar(); }
CGUIStatistics::CGUIStatistics(Window *pRoot) : m_iSelectedSlot(0) { CInputListenerManager::getSingleton().addInputListener(this); // create cegui windows/buttons Window *pStatisticsRoot = pRoot->createChild("DefaultWindow", "GUIStatisticsRoot"); pStatisticsRoot->setPosition(CEGUI::UVector2(CEGUI::UDim(0, 0), CEGUI::UDim(0, 0))); pStatisticsRoot->setSize(CEGUI::USize(CEGUI::UDim(1, 0), CEGUI::UDim(1, 0))); pStatisticsRoot->setInheritsAlpha(false); pStatisticsRoot->setAlpha(1); pStatisticsRoot->setRiseOnClickEnabled(false); pStatisticsRoot->moveToBack(); m_pStatisticsRoot = pStatisticsRoot; CEGUI::Window *pBackground = pStatisticsRoot-> createChild("OgreTray/StaticImage", "Background"); pBackground->setPosition(CEGUI::UVector2(CEGUI::UDim(0, 0), CEGUI::UDim(0, 0))); pBackground->setSize(CEGUI::USize(CEGUI::UDim(1, 0), CEGUI::UDim(1, 0))); pBackground->setInheritsAlpha(false); pBackground->setAlpha(1); pBackground->setProperty("Image", "main_menu_background/full"); pBackground->setProperty("FrameEnabled", "False"); pBackground->setProperty("BackgroundEnabled", "True"); pBackground->setRiseOnClickEnabled(false); CEGUI::Window *pButtonContainer = pStatisticsRoot->createChild("DefaultWindow", "ButtonContainer"); pButtonContainer->setPosition(UVector2(UDim(0, 0), UDim(0, 0))); pButtonContainer->setSize(USize(UDim(1, 0), UDim(1, 0))); CEGUI::Window *pFinishedText = pButtonContainer->createChild("OgreTray/Titlebar", "text"); pFinishedText->setFont("dejavusans20"); pFinishedText->setText("unset"); pFinishedText->setPosition(UVector2(UDim(0.05,0), UDim(0.05,0))); pFinishedText->setSize(USize(UDim(0.9, 0), UDim(0.1, 0))); CEGUI::Window *pStatisticsGroup = pButtonContainer->createChild("OgreTray/Group", "statisticsgroup"); pStatisticsGroup->setFont("dejavusans16"); pStatisticsGroup->setText(XMLResources::GLOBAL.getCEGUIString("Statistics")); pStatisticsGroup->setPosition(UVector2(UDim(0.1, 0), UDim(0.2, 0))); pStatisticsGroup->setSize(USize(UDim(0.8, 0), UDim(0.5, 0))); CEGUI::Window *pRetryButton = pButtonContainer->createChild("OgreTray/Button", "Retry"); pRetryButton->setPosition(UVector2(UDim(0.1, 0), UDim(0.8, 0))); pRetryButton->setSize(USize(UDim(0.3, 0), UDim(0.15, 0))); pRetryButton->setFont("dejavusans16"); pRetryButton->setText(XMLResources::GLOBAL.getCEGUIString("Retry")); m_pButtons[BT_RETRY] = pRetryButton; pRetryButton->subscribeEvent( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&CGUIStatistics::onRetryClicked, this)); CEGUI::Window *pToMenuButton = pButtonContainer->createChild("OgreTray/Button", "ToMenu"); pToMenuButton->setPosition(UVector2(UDim(0.6, 0), UDim(0.8, 0))); pToMenuButton->setSize(USize(UDim(0.3, 0), UDim(0.15, 0))); pToMenuButton->setFont("dejavusans16"); pToMenuButton->setText(XMLResources::GLOBAL.getCEGUIString("To level selection")); pToMenuButton->subscribeEvent( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&CGUIStatistics::onToMenuClicked, this)); m_pButtons[BT_TO_MENU] = pToMenuButton; for (int i = 0; i < L_COUNT; i++) { createLabel(i, pStatisticsGroup, false); createLabel(i, pStatisticsGroup, true); } hide(); }