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); }
EntityIcon* EntityIconManager::createIcon(Gui::Icons::Icon* icon, EmberEntity* entity, unsigned int pixelSize) { if (!icon) { S_LOG_WARNING("Trying to create an EntityIcon with an invalid Icon."); return 0; } std::stringstream ss; ss << "entityIcon" << mIconsCounter++; CEGUI::DragContainer* item = static_cast<CEGUI::DragContainer*>(mGuiManager.createWindow("DragContainer", ss.str())); if (item) { item->setSize(CEGUI::USize(CEGUI::UDim(0, pixelSize), CEGUI::UDim(0, pixelSize))); //item->setTooltipText(name); ss << "Image" ; CEGUI::Window* iconWindow = mGuiManager.createWindow("EmberLook/StaticImage", ss.str()); if (iconWindow) { iconWindow->setProperty("BackgroundEnabled", "false"); iconWindow->setProperty("FrameEnabled", "false"); iconWindow->setProperty("InheritsAlpha", "true"); iconWindow->disable(); // iconWindow->setProperty("FrameEnabled", "false"); iconWindow->setProperty("Image", CEGUI::PropertyHelper<CEGUI::Image*>::toString(icon->getImage())); item->addChild(iconWindow); EntityIcon* entityIcon = new EntityIcon(*this, item, iconWindow, icon, entity); mIcons.push_back(entityIcon); return entityIcon; } } return 0; }
void CCreditosState::tick(unsigned int msecs) { CApplicationState::tick(msecs); CEGUI::Window* creditos = CEGUI::System::getSingletonPtr()->getDefaultGUIContext().getRootWindow()->getChild("texto"); float y = creditos->getArea().getPosition().d_y.d_scale; float alt = y + creditos->getArea().getHeight().d_scale; float x = creditos->getArea().getPosition().d_x.d_scale; float ancho = x + creditos->getArea().getWidth().d_scale; creditos->setProperty("Area","{{"+std::to_string(x)+ ",0},{"+std::to_string(y-0.0008)+",0},{"+std::to_string(ancho)+",0},{" +std::to_string(alt-0.0008)+",0}}"); creditos = CEGUI::System::getSingletonPtr()->getDefaultGUIContext().getRootWindow()->getChild("sai"); y = creditos->getArea().getPosition().d_y.d_scale; alt = y + creditos->getArea().getHeight().d_scale; x = creditos->getArea().getPosition().d_x.d_scale; ancho = x + creditos->getArea().getWidth().d_scale; creditos->setProperty("Area","{{"+std::to_string(x)+ ",0},{"+std::to_string(y-0.0008)+",0},{"+std::to_string(ancho)+",0},{" +std::to_string(alt-0.0008)+",0}}"); } // tick
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; }
MenuState::MenuState() { m_bQuit = false; m_FrameEvent = Ogre::FrameEvent(); // Create CEGUI interface! CEGUI::WindowManager &wmgr = CEGUI::WindowManager::getSingleton(); sheet = wmgr.createWindow( "DefaultWindow", "MainMenu/Sheet"); CEGUI::ImagesetManager::getSingleton().createFromImageFile("BG", "mainMenuBackground.png"); CEGUI::Window* menuBackground = wmgr.createWindow("TaharezLook/StaticImage", "MainMenu/BG"); menuBackground->setProperty( "Image", "set:BG image:full_image"); menuBackground->setSize(CEGUI::UVector2(CEGUI::UDim(0.0, 1440.0), CEGUI::UDim(0.0, 900.0))); menuBackground->setPosition( CEGUI::UVector2( CEGUI::UDim( 0.0, 0.0), CEGUI::UDim( 0.0, 0.0))); menuBackground->setProperty( "FrameEnabled", "False"); CEGUI::ImagesetManager::getSingleton().createFromImageFile("Loading", "loading.png"); loading = wmgr.createWindow("TaharezLook/StaticImage", "MainMenu/Loading"); loading->setProperty( "Image", "set:Loading image:full_image"); loading->setSize(CEGUI::UVector2(CEGUI::UDim(0.0, 512.0), CEGUI::UDim(0.0, 128.0))); loading->setPosition( CEGUI::UVector2( CEGUI::UDim( 0.5, -256.0), CEGUI::UDim( 0.5, -64.0))); loading->setProperty( "FrameEnabled", "False"); loading->setProperty( "BackgroundEnabled", "False"); CEGUI::ImagesetManager::getSingleton().createFromImageFile("NeuroPulseLogo", "neuroPulseLogo_1.png"); CEGUI::Window* neuroPulseLogo = wmgr.createWindow("TaharezLook/StaticImage", "MainMenu/Logo"); neuroPulseLogo->setProperty( "Image", "set:NeuroPulseLogo image:full_image"); neuroPulseLogo->setPosition( CEGUI::UVector2( CEGUI::UDim( 0.5, -275.0), CEGUI::UDim( 0.1, 0))); neuroPulseLogo->setSize(CEGUI::UVector2(CEGUI::UDim(0.0, 550.0), CEGUI::UDim(0.0, 200.0))); neuroPulseLogo->setProperty( "FrameEnabled", "False"); neuroPulseLogo->setProperty( "BackgroundEnabled", "False"); CEGUI::Window *play = wmgr.createWindow("TaharezLook/Button", "MainMenu/PlayButton"); play->setText("Play"); play->setPosition( CEGUI::UVector2( CEGUI::UDim( 0.4, 0), CEGUI::UDim( 0.45, 0))); play->setSize(CEGUI::UVector2(CEGUI::UDim(0.2, 0), CEGUI::UDim(0.04, 0))); play->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber( &MenuState::onPlay, this)); CEGUI::Window *options = wmgr.createWindow("TaharezLook/Button", "MainMenu/OptionsButton"); options->setText("Options"); options->setPosition( CEGUI::UVector2( CEGUI::UDim( 0.4, 0), CEGUI::UDim( 0.5, 0))); options->setSize(CEGUI::UVector2(CEGUI::UDim(0.2, 0), CEGUI::UDim(0.04, 0))); options->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber( &MenuState::onOptions, this)); CEGUI::Window *quit = wmgr.createWindow("TaharezLook/Button", "MainMenu/QuitButton"); quit->setText("Quit"); quit->setPosition( CEGUI::UVector2( CEGUI::UDim( 0.4, 0), CEGUI::UDim( 0.55, 0))); quit->setSize(CEGUI::UVector2(CEGUI::UDim(0.2, 0), CEGUI::UDim(0.04, 0))); quit->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber( &MenuState::onQuit, this)); sheet->addChildWindow(menuBackground); sheet->addChildWindow(neuroPulseLogo); sheet->addChildWindow(play); sheet->addChildWindow(options); sheet->addChildWindow(quit); }
void MenuState::createGUI() { //Limpiar interfaz del estado anterior------------------- CEGUI::Window* sheet=CEGUI::System::getSingleton().getDefaultGUIContext().getRootWindow(); //------------------------------------------------------- CEGUI::Window* sheetBG = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticImage","backgroundMenu"); sheetBG->setPosition(CEGUI::UVector2(cegui_reldim(0),cegui_reldim(0))); sheetBG->setSize( CEGUI::USize(cegui_reldim(1),cegui_reldim(1))); sheetBG->setProperty("Image","BackgroundImageMenu"); sheetBG->setProperty("FrameEnabled","False"); sheetBG->setProperty("BackgroundEnabled", "False"); CEGUI::ListboxTextItem* itm; CEGUI::Listbox* editBox = static_cast<CEGUI::Listbox*> (CEGUI::WindowManager::getSingleton().createWindow("OgreTray/Listbox","listbox")); editBox->setSize(CEGUI::USize(CEGUI::UDim(0.6,0),CEGUI::UDim(0.6,0))); editBox->setPosition(CEGUI::UVector2(CEGUI::UDim(0.20, 0),CEGUI::UDim(0.10, 0))); const CEGUI::Image* sel_img = &CEGUI::ImageManager::getSingleton().get("TaharezLook/MultiListSelectionBrush"); std::vector<string> files = listDir("./data/Levels/*"); // ./Para directorio actual ./Carpeta/* para otra carpeta for(unsigned int i=0;i<files.size();i++){ string aux=files[i]; if(Ogre::StringUtil::endsWith(aux,".txt")){ cout << "================ File: " << aux <<"================"<< endl; _recorridos.push_back(aux); string file=Ogre::StringUtil::split(aux,"/")[3]; cout<<"File: " << file << endl; file=Ogre::StringUtil::replaceAll(file,".txt",""); cout<<"File: " << file << endl; itm = new CEGUI::ListboxTextItem(file,0); itm->setFont("DickVanDyke-28"); itm->setTextColours(CEGUI::Colour(0.0,0.8,0.5)); itm->setSelectionBrushImage(sel_img); editBox->addItem(itm); } } //--------------------------------------------------- CEGUI::Window* playButton = CEGUI::WindowManager::getSingleton().createWindow("OgreTray/Button","playButton"); playButton->setText("[font='DickVanDyke'] Start"); playButton->setSize(CEGUI::USize(CEGUI::UDim(0.25,0),CEGUI::UDim(0.07,0))); playButton->setPosition(CEGUI::UVector2(CEGUI::UDim(0.4,0),CEGUI::UDim(0.8,0))); playButton->subscribeEvent(CEGUI::PushButton::EventClicked,CEGUI::Event::Subscriber(&MenuState::playB,this)); sheetBG->addChild(playButton); sheetBG->addChild(editBox); sheet->addChild(sheetBG); }
CEGUI::Window * Score::_createText(const std::string &text, const float &xRel, const float &yRel, const std::string &font) { CEGUI::Window *result = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticText"); result->setProperty("Text", CEGUI::String("[colour='") + _configValue<std::string>("font_color") + "']" + text); result->setProperty("Font", font); result->setPosition(CEGUI::UVector2(CEGUI::UDim(0, xRel), CEGUI::UDim(0, yRel))); result->setProperty("FrameEnabled", "False"); result->setProperty("VertFormatting", "LeftAligned"); result->setProperty("HorzFormatting", "LeftAligned"); return result; }
void setupGUI(){ CEGUI::WindowFactoryManager::addFactory<CEGUI::TplWindowFactory<AlphaHitWindow> >(); CEGUI::OgreRenderer::bootstrapSystem(); CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton(); CEGUI::Window* myRoot = wmgr.createWindow( "DefaultWindow", "root" ); myRoot->setProperty("MousePassThroughEnabled", "True"); CEGUI::System::getSingleton().getDefaultGUIContext().setRootWindow( myRoot ); CEGUI::SchemeManager::getSingleton().createFromFile("Thrive.scheme"); CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setDefaultImage("ThriveGeneric/MouseArrow"); //For demos: CEGUI::SchemeManager::getSingleton().createFromFile("TaharezLook.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("SampleBrowser.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("OgreTray.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("GameMenu.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("AlfiskoSkin.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("WindowsLook.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("VanillaSkin.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("Generic.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("VanillaCommonDialogs.scheme"); CEGUI::ImageManager::getSingleton().loadImageset("DriveIcons.imageset"); CEGUI::ImageManager::getSingleton().loadImageset("GameMenu.imageset"); CEGUI::ImageManager::getSingleton().loadImageset("HUDDemo.imageset"); }
void McsHudGui::init() { CEGUI::MouseCursor::getSingleton().hide(); CEGUI::WindowManager &wmgr = CEGUI::WindowManager::getSingleton(); CEGUI::Window *sheet = wmgr.createWindow("DefaultWindow", "MCSHudDefault/DefaultHud"); CEGUI::Window *crosshair = wmgr.createWindow("Vanilla/StaticImage", "MCSHud/Crosshair"); crosshair->setProperty("Image", "set:HudImages image:cross"); crosshair->setSize(CEGUI::UVector2(CEGUI::UDim(0, 32), CEGUI::UDim(0, 32))); crosshair->setPosition(CEGUI::UVector2(CEGUI::UDim(0.5f, -16), CEGUI::UDim(0.5f, -16))); crosshair->setProperty("BackgroundEnabled", "False"); crosshair->setProperty("FrameEnabled", "False"); mFpsText = wmgr.createWindow("Vanilla/StaticText", "MCSHud/FpsText"); mFpsText->setAlpha(0.6f); mFpsText->setText(""); mFpsText->setPosition(CEGUI::UVector2(CEGUI::UDim(0.0f, 5), CEGUI::UDim(0.0f, 5))); mFpsText->setSize(CEGUI::UVector2(CEGUI::UDim(0.4f, 0), CEGUI::UDim(0.04f, 0))); mFpsText->setProperty("BackgroundEnabled", "False"); mFpsText->setProperty("FrameEnabled", "False"); mPosText = wmgr.createWindow("Vanilla/StaticText", "MCSHud/PosText"); mPosText->setAlpha(0.6f); mPosText->setText(""); mPosText->setPosition(CEGUI::UVector2(CEGUI::UDim(0.0f, 5), CEGUI::UDim(0.04f, 5))); mPosText->setSize(CEGUI::UVector2(CEGUI::UDim(0.4f, 0), CEGUI::UDim(0.04f, 0))); mPosText->setProperty("BackgroundEnabled", "False"); mPosText->setProperty("FrameEnabled", "False"); mHitPosText = wmgr.createWindow("Vanilla/StaticText", "MCSHud/HitPosText"); mHitPosText->setAlpha(0.6f); mHitPosText->setText(""); mHitPosText->setPosition(CEGUI::UVector2(CEGUI::UDim(0.0f, 5), CEGUI::UDim(0.08f, 5))); mHitPosText->setSize(CEGUI::UVector2(CEGUI::UDim(0.4f, -5), CEGUI::UDim(0.04f, 0))); mHitPosText->setProperty("BackgroundEnabled", "False"); mHitPosText->setProperty("FrameEnabled", "False"); addFrameGraph(sheet); sheet->addChildWindow(crosshair); sheet->addChildWindow(mFpsText); sheet->addChildWindow(mPosText); sheet->addChildWindow(mHitPosText); CEGUI::System::getSingleton().setGUISheet(sheet); }
CGUIHeartsDisplay::CGUIHeartsDisplay(CEntity *pParentEntity, CEGUI::Window *pParentWindow, const CEGUI::UVector2 &vPosition) : CGUIOverlay("gui_hearts_display", pParentEntity, pParentWindow, pParentWindow->createChild("DefaultWindow")), m_MaximalHitpoints(0), m_CurrentHitpoints(0) { m_pRoot->setPosition(vPosition); m_pRoot->setSize(USize(UDim(0, 10 * GUI_HEART_IMG_WITH_BORDER_SIZE), UDim(0, 2 * GUI_HEART_IMG_WITH_BORDER_SIZE))); for (Ogre::uint16 i = 0; i < m_uiMaxHeartCount; i++) { CEGUI::Window *pWindow = m_pRoot->createChild("OgreTray/StaticImage", "heart_" + CEGUI::PropertyHelper<int>::toString(i) ); pWindow->setPosition(CEGUI::UVector2(CEGUI::UDim(0, (i % (m_uiMaxHeartCount / 2)) * GUI_HEART_IMG_WITH_BORDER_SIZE),CEGUI::UDim(0, (i / (m_uiMaxHeartCount / 2))* GUI_HEART_IMG_WITH_BORDER_SIZE))); pWindow->setSize(CEGUI::USize(CEGUI::UDim(0, GUI_HEART_IMG_SIZE),CEGUI::UDim(0, GUI_HEART_IMG_SIZE))); pWindow->setProperty("Image","hud/0/4"); pWindow->setProperty("FrameEnabled","False"); pWindow->setProperty("BackgroundEnabled","False"); pWindow->setVisible(false); } }
void DynamicEditor::VariableFactory::createNameDisplay(float _top, float _height, CEGUI::Window* _root)//(CEGUI::Window* _rootWindow, TypeTable* _params, const std::string& _factoryName, float* _uiElementTop) { static int uniqueName = 0; CEGUI::Window* variableNameDisplay = CEGUI::WindowManager::getSingletonPtr()->loadWindowLayout("ComponentSelectionDisplay.layout", _root->getName() + "Show" + uniqueName++); variableNameDisplay->setPosition(CEGUI::UVector2({{0.0f, 0.0f}, {0.0f,_top}})); variableNameDisplay->setHeight({0.0f, _height}); variableNameDisplay->setProperty("Text", name); _root->addChildWindow(variableNameDisplay); }
CEGUI::Window* HUDDemo::spawnPlate() { CEGUI::WindowManager& winMgr = CEGUI::WindowManager::getSingleton(); CEGUI::Window* plateRoot = winMgr.createWindow("DefaultWindow"); plateRoot->setSize(CEGUI::USize(cegui_absdim(0.0f), cegui_reldim(0.16f))); plateRoot->setAspectMode(CEGUI::AM_EXPAND); plateRoot->setAspectRatio(1.0f); plateRoot->setRiseOnClickEnabled(false); plateRoot->setPixelAligned(false); plateRoot->subscribeEvent(CEGUI::Window::EventMouseButtonDown, Event::Subscriber(&HUDDemo::handlePlateWindowClicked, this)); d_rootIngame->addChild(plateRoot); CEGUI::Window* plateImgWnd = winMgr.createWindow("Generic/Image", "ImageWindowPlate"); plateImgWnd->setProperty("Image", s_imageNamePlate); plateImgWnd->setSize(CEGUI::USize(cegui_reldim(1.0f), cegui_absdim(0.0f))); plateImgWnd->setAspectRatio(3.308f); plateImgWnd->setAspectMode(CEGUI::AM_EXPAND); plateImgWnd->setVerticalAlignment(CEGUI::VA_BOTTOM); plateImgWnd->setMousePassThroughEnabled(true); plateImgWnd->setPixelAligned(false); plateRoot->addChild(plateImgWnd); CEGUI::String image = getRandomGameImage(); CEGUI::Window* plateTopping = winMgr.createWindow("Generic/Image", "ImageWindowObject"); plateTopping->setProperty("Image", image); plateTopping->setSize(CEGUI::USize(cegui_reldim(0.88f), cegui_absdim(0.0f))); plateTopping->setAspectRatio(1.0f); plateTopping->setAspectMode(CEGUI::AM_EXPAND); plateTopping->setHorizontalAlignment(CEGUI::HA_CENTRE); plateTopping->setMousePassThroughEnabled(true); plateTopping->setPixelAligned(false); plateRoot->addChild(plateTopping); int randumNumber = rand() % 10000; float posY = randumNumber / 10000.0f; plateRoot->setPosition(CEGUI::UVector2(cegui_absdim(0.0f), cegui_reldim(0.1f + 0.6f * posY))); return plateRoot; }
void McsHudGui::addFrameGraph(CEGUI::Window* sheet) { Ogre::TexturePtr tex = mOgreRoot->getTextureManager()->createManual( "FrameGraph", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, Ogre::TEX_TYPE_2D, TimeGraphMaxFrames, TimeGraphMaxResolution, 0, Ogre::PF_R8G8B8, Ogre::TU_RENDERTARGET); Ogre::SceneManager* debugSceneMgr = mOgreRoot->createSceneManager(Ogre::ST_GENERIC); debugSceneMgr->setAmbientLight(Ogre::ColourValue(1.0f, 1.0f, 1.0f)); Ogre::MaterialPtr frameLinesMaterial = Ogre::MaterialManager::getSingleton().create("frameLinesMaterial","Game"); frameLinesMaterial->setReceiveShadows(false); frameLinesMaterial->getTechnique(0)->setLightingEnabled(false); frameLinesMaterial->getTechnique(0)->getPass(0)->setDepthCheckEnabled(false); frameLinesMaterial->getTechnique(0)->getPass(0)->setDepthWriteEnabled(false); mFrameLines = new FrameGraphRenderable(TimeGraphMaxFrames, TimeGraphMaxResolution); mFrameLines->setMaterial("frameLinesMaterial"); Ogre::SceneNode* frameLinesNode = debugSceneMgr->getRootSceneNode()->createChildSceneNode("frameGraph_node"); frameLinesNode->attachObject(mFrameLines); Ogre::Camera* dbg_camera = debugSceneMgr->createCamera("item_camera"); dbg_camera->setAspectRatio(static_cast<Ogre::Real>(TimeGraphMaxFrames) / static_cast<Ogre::Real>(TimeGraphMaxResolution)); Ogre::Viewport *v = tex->getBuffer()->getRenderTarget()->addViewport(dbg_camera); v->setClearEveryFrame( true ); v->setBackgroundColour( Ogre::ColourValue::Black ); CEGUI::Texture& guiTex = mCeRenderer->createTexture(tex); CEGUI::Imageset& imageSet = CEGUI::ImagesetManager::getSingleton().create("FrameGraphImageset", guiTex); imageSet.defineImage("FrameGraphImage", CEGUI::Point(0.0f, 0.0f), CEGUI::Size(guiTex.getSize()), CEGUI::Point(0.0f, 0.0f)); CEGUI::Window* si = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticImage", "FrameGraphWindow"); si->setSize(CEGUI::UVector2(CEGUI::UDim(0.0f, TimeGraphMaxFrames), CEGUI::UDim(0.0f, TimeGraphMaxResolution))); si->setPosition(CEGUI::UVector2(CEGUI::UDim(0.0f, 0), CEGUI::UDim(1.0f, -TimeGraphMaxResolution))); si->setProperty("Image", CEGUI::PropertyHelper::imageToString(&imageSet.getImage("FrameGraphImage"))); si->setAlpha(0.6f); si->setProperty("BackgroundEnabled", "False"); si->setProperty("FrameEnabled", "False"); sheet->addChildWindow(si); }
void MenuState::createScene() { CEGUI::WindowManager &wmgr = CEGUI::WindowManager::getSingleton(); CEGUI::Window *window = wmgr.createWindow("DefaultWindow", "CEGUI/MenuWindow"); // title logo CEGUI::Window *si = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticImage", "TitlePng"); si->setSize(CEGUI::UVector2(CEGUI::UDim(0.8, 0), CEGUI::UDim(0.25, 0))); si->setPosition(CEGUI::UVector2(CEGUI::UDim(0.1, 0), CEGUI::UDim(0.05, 0))); si->setProperty("Image","set:Title image:full_image"); si->setProperty("FrameEnabled", "False"); si->setProperty("BackgroundEnabled", "False"); window->addChildWindow(si); // new game button CEGUI::Window *new_game = wmgr.createWindow("TaharezLook/Button", "CEGUI/NewGameButton"); new_game->setText("Start Game"); new_game->setSize(CEGUI::UVector2(CEGUI::UDim(0.5, 0), CEGUI::UDim(0.15, 0))); new_game->setPosition(CEGUI::UVector2(CEGUI::UDim(0.25, 0), CEGUI::UDim(0.34, 0))); window->addChildWindow(new_game); // how to play button CEGUI::Window *instructions = wmgr.createWindow("TaharezLook/Button", "CEGUI/InstructionsButton"); instructions->setText("How to Play"); instructions->setSize(CEGUI::UVector2(CEGUI::UDim(0.5, 0), CEGUI::UDim(0.15, 0))); instructions->setPosition(CEGUI::UVector2(CEGUI::UDim(0.25, 0), CEGUI::UDim(0.53, 0))); window->addChildWindow(instructions); // quit button CEGUI::Window *quit = wmgr.createWindow("TaharezLook/Button", "CEGUI/QuitButton"); quit->setText("Exit Game"); quit->setSize(CEGUI::UVector2(CEGUI::UDim(0.5, 0), CEGUI::UDim(0.15, 0))); quit->setPosition(CEGUI::UVector2(CEGUI::UDim(0.25, 0), CEGUI::UDim(0.72, 0))); window->addChildWindow(quit); CEGUI::System::getSingleton().setGUISheet(window); // event calls new_game->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&MenuState::start, this)); instructions->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&MenuState::instruction, this)); quit->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&MenuState::quit, this)); }
void Gui::cargarImagen(const string &imagen, const string &nombre) { CEGUI::Window *myImageWindow = CEGUI::WindowManager::getSingleton().createWindow("Menu/StaticImage", nombre); wMgrPtr->getWindow("Root")->addChildWindow(myImageWindow); myImageWindow->setPosition(CEGUI::UVector2( CEGUI::UDim( 0, 0 ), CEGUI::UDim( 0, 0 ) ) ); cout<<"h " << h << endl; float proporcion = (float)h / 1920; cout<<"proporcion " << proporcion << endl; int ancho = 944*proporcion; cout<<"ancho " << ancho << endl; myImageWindow->setSize(CEGUI::UVector2(CEGUI::UDim(0,ancho),CEGUI::UDim(1,0))); myImageWindow->setProperty("Image",imagen); myImageWindow->setProperty("BackgroundEnabled", "true"); myImageWindow->setProperty("FrameEnabled", "False"); myImageWindow->setText("Prueba de texto dentro de la ventana"); myImageWindow->setTooltipText("Texto de la imagen"); myImageWindow->setAlpha(1.0); }
void setupGUI(){ CEGUI::WindowFactoryManager::addFactory<CEGUI::TplWindowFactory<AlphaHitWindow> >(); CEGUI::OgreRenderer::bootstrapSystem(); CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton(); CEGUI::Window* myRoot = wmgr.createWindow( "DefaultWindow", "root" ); myRoot->setProperty("CursorPassThroughEnabled", "True"); CEGUI::System::getSingleton().getDefaultGUIContext().setRootWindow( myRoot ); CEGUI::SchemeManager::getSingleton().createFromFile("Thrive.scheme"); CEGUI::System::getSingleton().getDefaultGUIContext().getCursor().setDefaultImage( "ThriveGeneric/MouseArrow"); m_aggregator = std::move(std::unique_ptr<CEGUI::InputAggregator>( new CEGUI::InputAggregator(&CEGUI::System::getSingleton() .getDefaultGUIContext()))); // Using the handling on keydown mode to detect when inputs are consumed m_aggregator->initialise(false); CEGUI::System::getSingleton().getDefaultGUIContext().setDefaultTooltipType( reinterpret_cast<const CEGUI::utf8*>("Thrive/Tooltip") ); // For demos // This file is renamed in newer CEGUI versions // CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setDefaultImage( // "ThriveGeneric/MouseArrow"); // CEGUI::SchemeManager::getSingleton().createFromFile("GameMenu.scheme"); // CEGUI::ImageManager::getSingleton().loadImageset("GameMenu.imageset"); // CEGUI::ImageManager::getSingleton().loadImageset("HUDDemo.imageset"); CEGUI::System::getSingleton().getDefaultGUIContext().setDefaultTooltipType( reinterpret_cast<const CEGUI::utf8*>("Thrive/Tooltip") ); CEGUI::AnimationManager::getSingleton().loadAnimationsFromXML("thrive.anims"); //For demos: CEGUI::SchemeManager::getSingleton().createFromFile("TaharezLook.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("SampleBrowser.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("OgreTray.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("AlfiskoSkin.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("WindowsLook.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("VanillaSkin.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("Generic.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("VanillaCommonDialogs.scheme"); CEGUI::ImageManager::getSingleton().loadImageset("DriveIcons.imageset"); CEGUI::ImageManager::getSingleton().loadImageset("HUDDemo.imageset"); m_consoleGUIWindow = new CEGUIWindow("Console"); }
CEGUI::Window* TestAARHUD::CreateText(const std::string& name, CEGUI::Window* parent, const std::string& text, float x, float y, float width, float height) { CEGUI::WindowManager* wm = CEGUI::WindowManager::getSingletonPtr(); // create base window and set our default attribs CEGUI::Window* result = wm->createWindow("WindowsLook/StaticText", name); parent->addChildWindow(result); result->setText(text); result->setPosition(CEGUI::UVector2(cegui_absdim(x), cegui_absdim(y))); result->setSize(CEGUI::UVector2(cegui_absdim(width), cegui_absdim(height))); result->setProperty("FrameEnabled", "false"); result->setProperty("BackgroundEnabled", "false"); result->setHorizontalAlignment(CEGUI::HA_LEFT); result->setVerticalAlignment(CEGUI::VA_TOP); // set default color to white result->setProperty("TextColours", CEGUI::PropertyHelper::colourToString(CEGUI::colour(1.0f, 1.0f, 1.0f))); result->show(); return result; }
bool IntroState::records(const CEGUI::EventArgs &e) { CEGUI::Window* sheet=CEGUI::System::getSingleton().getDefaultGUIContext().getRootWindow(); _credits=false; _options=false; _info=false; //Sheet Records Window* sheetBG = WindowManager::getSingleton().createWindow("TaharezLook/StaticImage","background_records"); sheetBG->setPosition( UVector2(cegui_reldim(0),cegui_reldim(0))); sheetBG->setSize( USize(cegui_reldim(1),cegui_reldim(1))); sheetBG->setProperty("Image","BackgroundImageRecords"); sheetBG->setProperty("FrameEnabled","False"); sheetBG->setProperty("BackgroundEnabled", "False"); CEGUI::Window* backButton = CEGUI::WindowManager::getSingleton().createWindow("OgreTray/Button","back"); backButton->setText("[font='DickVanDyke'] Back "); backButton->setSize(CEGUI::USize(CEGUI::UDim(0.23,0),CEGUI::UDim(0.07,0))); backButton->setXPosition(UDim(0.66f, 0.0f)); backButton->setYPosition(UDim(0.85f, 0.0f)); backButton->subscribeEvent(CEGUI::PushButton::EventClicked,CEGUI::Event::Subscriber(&IntroState::back,this)); CEGUI::Window* text = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticText","text"); text->setText("[font='DickVanDyke']"+readRecords()); text->setSize(CEGUI::USize(CEGUI::UDim(0.50,0),CEGUI::UDim(0.70,0))); text->setXPosition(UDim(0.1f, 0.0f)); text->setYPosition(UDim(0.15f, 0.0f)); text->setProperty("FrameEnabled","False"); text->setProperty("BackgroundEnabled", "False"); text->setProperty("HorzFormatting", "RightAligned"); sheetBG->addChild(backButton); sheetBG->addChild(text); sheet->addChild(sheetBG); return true; }
void CDataPool::OnPropertyChange(const CString &szName, const CString& szValue, CEGUI::Window* pSpecialWindow/* = NULL*/) { try { CEGUI::Window* pWin = pSpecialWindow ? pSpecialWindow : m_pCurrentSelectWindow; if (pWin) { //需要转化成utf8 if(szName == "Text" || szName == "Tooltip" || szName == "Name") { if (szName == "Name") { CString szPath = GetParentTreePath(pWin); if (szPath.IsEmpty()) { szPath = pWin->getName().c_str(); } g_leftTreeWindow->onRenameSelectWindow(szValue,pWin->getName().c_str(), szPath); pWin->setName((CEGUI::utf8*)mbcs_to_utf8(szValue.GetString())); g_pEditorView->onRenameSelectedWindow(szValue,pWin); } else { pWin->setProperty(szName.GetString(), (CEGUI::utf8*)mbcs_to_utf8(szValue.GetString())); } } else { pWin->setProperty(szName.GetString(), szValue.GetString()); } } } catch (CEGUI::Exception& e) { MessageBox(AfxGetMainWnd()->GetSafeHwnd(), e.what(), "改变属性出错信息", MB_OK); } }
/*********************************************************** set the current map of the game ***********************************************************/ void ChatBox::SetCurrentMap(const std::string & WorldName, const std::string & MapName) { try { _currentWorld = WorldName; _currentMap = MapName; CEGUI::Window * chatfw = CEGUI::WindowManager::getSingleton().getWindow("ChatFrame"); if(chatfw) chatfw->setProperty("Text", "Chat - " + _currentWorld + "/" + _currentMap); } catch(CEGUI::Exception &ex) { LogHandler::getInstance()->LogToFile(std::string("Exception setting map name on chat box: ") + ex.getMessage().c_str()); } }
/*********************************************************** handle windows enter event ***********************************************************/ bool ContainerBox::HandleInventoryEnter (const CEGUI::EventArgs& e) { const CEGUI::MouseEventArgs& dd_args = static_cast<const CEGUI::MouseEventArgs&>(e); unsigned int id = dd_args.window->getID(); CEGUI::Window* tmp = dd_args.window; std::string ttip = tmp->getProperty("Tooltip").c_str(); if(ttip == "") { CEGUI::String tmpstr((const unsigned char *)InventoryHandler::getInstance()->GetItemDescription(id).c_str()); tmp->setProperty("Tooltip", tmpstr); } return true; }
/************************************************************************* Creates a label that contains a description of what is seen in the sample *************************************************************************/ void CustomShapesDrawingSample::createDescriptionLabel() { WindowManager& winMgr = WindowManager::getSingleton(); // We create a button and subscribe to its click events CEGUI::Window* descriptionLabel = winMgr.createWindow("Generic/Label"); descriptionLabel->setSize(CEGUI::USize(cegui_reldim(0.8f), cegui_reldim(0.25f))); descriptionLabel->setHorizontalAlignment(HA_CENTRE); descriptionLabel->setProperty("HorzFormatting", "WordWrapCentreAligned"); descriptionLabel->setPosition(CEGUI::UVector2(cegui_reldim(0.0f), cegui_absdim(400.0f))); d_root->addChild(descriptionLabel); descriptionLabel->setText("The left graph is rendered directly into a GeometryBuffer and rendered as overlay." "The right graph is created using an SVGImage with modified SVGData and is then used in the same way as a regular CEGUI image" " - it is set as a property for a window that renders the image. \n\n" "The benefit of creating custom geometry by using an SVGImage and its SVGData is that it can be conveniently added to a CEGUI Window " "and that defining primitive objects, such as lines, rectangles etc., is easier. Additionally, the internal CEGUI SVG classes which " "create the geometry offer an anti-aliasing option that delivers anti-aliasing at almost no extra performance cost for the GPU."); }
void GUIManager::LoadMainMenu() { CEGUI::ImagesetManager::getSingletonPtr()->createFromImageFile("mainMenuBG","background.tga"); //add background CEGUI::Window *mainMenu = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticImage", "mainMenu"); sheet->addChildWindow(mainMenu); mainMenu->setSize(CEGUI::UVector2(CEGUI::UDim(1, 0), CEGUI::UDim(1, 0))); mainMenu->setPosition(CEGUI::UVector2(CEGUI::UDim(0, 0), CEGUI::UDim(0, 0))); mainMenu->setProperty("Image", "set:mainMenuBG image:full_image" ); mainMenu->setAlpha(1.0); CEGUI::PushButton* login = (CEGUI::PushButton*)CEGUI::WindowManager::getSingleton().createWindow("WindowsLook/Button"); mainMenu->addChildWindow(login); login->setArea(CEGUI::URect(CEGUI::UDim(0.2f,0), CEGUI::UDim(0.65f,0), CEGUI::UDim(0.3f,0), CEGUI::UDim(0.7f,0))); login->subscribeEvent(CEGUI::PushButton::EventActivated, CEGUI::Event::Subscriber(&GUIManager::HandleGameLoginClicked, this)); }
_MEMBER_FUNCTION_IMPL(GUIProgressBar, setValue) { CEGUI::Window * pWindow = sq_getinstance<CEGUI::Window *>(pVM); float fCurrentValue = 0.0f; sq_getfloat(pVM, 2, &fCurrentValue); if ( fCurrentValue > 100.0f || fCurrentValue < 0.0f ) { CLogFile::Printf("Invalid first argument value. (Argument accept values from 0.0 to 100.0 [float], your value %f)", fCurrentValue); sq_pushbool(pVM, false); } char szNewProgress[4]; sprintf(szNewProgress, "%f", fCurrentValue*0.01); pWindow->setProperty("CurrentProgress", szNewProgress); sq_pushbool(pVM, true); return 1; }
bool OnUpdateLatestBuy(const CEGUI::EventArgs& e) { CEGUI::Window* wnd = WEArgs(e).window; //先把图片清掉 ,默认为十个条目 char name[256] = ""; for(uint i = 0 ; i < 10 ; ++i) { sprintf(name,SHOPCITY_LATESTBUY_ITME_NAME_D,i); CEGUI::Window* temp = wnd->getChild(name); if(temp) { temp->setProperty("Image",""); OutputDebugStr(temp->getName().c_str()); OutputDebugStr("\n"); } } //由索引关联商城类型 SCGData::eSCType eCityType = GetShopCityTypeByTabContentSelIndex(); SCGData* dt = GetInst(ShopCityMsgMgr).GetShopCityGoodsData(); SCGData::MapSBT10& personal = dt->GetSelfBuyTop10(); SCGData::VecGDPTA perDTA = personal[eCityType]; size_t count = perDTA.size(); for(size_t i = 0 ; i < count ; ++i) { char name[256] = ""; sprintf(name,SHOPCITY_LATESTBUY_ITME_NAME_D,i); CEGUI::Window* temp = wnd->getChild(name); if(temp) { CGoodsList::tagGoods2* tg2 = CGoodsList::GetProperty(perDTA[i].index); if(tg2) { char imagesetname[256]; sprintf(imagesetname,GOODS_PREFIXID,tg2->BaseProperty.dwIconId); CEGUI::String imagename = CEGUI::PropertyHelper::intToString(tg2->BaseProperty.dwIconId)+".jpg"; SetBackGroundImage(WGUISheet(temp),imagesetname,GOODS_ICON_PATH,imagename.c_str()); } } } return true; }
// GUIProgressBar _MEMBER_FUNCTION_IMPL(GUIProgressBar, constructor) { CEGUI::Window * pWindow = g_pClient->GetGUI()->CreateGUIProgressBar(); if(!pWindow || SQ_FAILED(sq_setinstance(pVM, pWindow))) { CLogFile::Printf("Can't create GUIProgressBar."); sq_pushbool(pVM, false); return 1; } CClientScriptManager * pClientScriptManager = g_pClient->GetClientScriptManager(); pClientScriptManager->GetGUIManager()->Add(pWindow, pClientScriptManager->GetScriptingManager()->Get(pVM)); pWindow->setVisible(true); pWindow->setProperty("CurrentProgress", "0.0"); SubscribeGuiEvents(pWindow); sq_pushbool(pVM, true); return 1; }
GameDesktop::GameDesktop(sf::RenderWindow &screen) : screen_(screen), renderer_(CEGUI::OpenGLRenderer::bootstrapSystem()) { // Set up default resource groups CEGUI::DefaultResourceProvider *rp = static_cast<CEGUI::DefaultResourceProvider*>(CEGUI::System::getSingleton().getResourceProvider()); rp->setResourceGroupDirectory("schemes", "/usr/share/cegui-0/schemes/"); rp->setResourceGroupDirectory("imagesets", "/usr/share/cegui-0/imagesets/"); rp->setResourceGroupDirectory("fonts", "/usr/share/cegui-0/fonts/"); rp->setResourceGroupDirectory("layouts", "/usr/share/cegui-0/layouts/"); rp->setResourceGroupDirectory("looknfeels", "/usr/share/cegui-0/looknfeel"); rp->setResourceGroupDirectory("lua_scripts", "/usr/share/cegui-0/lua_scripts/"); CEGUI::ImageManager::setImagesetDefaultResourceGroup("imagesets"); CEGUI::Font::setDefaultResourceGroup("fonts"); CEGUI::Scheme::setDefaultResourceGroup("schemes"); CEGUI::WidgetLookManager::setDefaultResourceGroup("looknfeels"); CEGUI::WindowManager::setDefaultResourceGroup("layouts"); CEGUI::ScriptModule::setDefaultResourceGroup("lua_scripts"); // Set up the GUI CEGUI::SchemeManager::getSingleton().createFromFile("WindowsLook.scheme"); CEGUI::FontManager::getSingleton().createFromFile("DejaVuSans-10.font"); CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setDefaultImage("WindowsLook/MouseArrow"); CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton(); CEGUI::Window *root = wmgr.createWindow("DefaultWindow", "root"); root->setProperty("MousePassThroughEnabled", "True"); CEGUI::System::getSingleton().getDefaultGUIContext().setRootWindow(root); CEGUI::FrameWindow *fw = static_cast<CEGUI::FrameWindow*>(wmgr.createWindow("WindowsLook/FrameWindow", "testWindow")); root->addChild(fw); fw->setText("Hello World!"); // Initialize SFML-to-CEGUI key mapping initializeKeyMap(); screen_.setView(view_); }
// 清空商品详情中的显示 bool OnPlayerShopClearGoodsInfo(const CEGUI::EventArgs& e) { CEGUI::Window* wnd = WEArgs(e).window; if(!wnd) return false; CEGUI::Window* iconWnd = wnd->getChildRecursive("PlayerShop/backgrond/GoodsInfo/Icon"); CEGUI::Window* nameWnd = wnd->getChildRecursive("PlayerShop/backgrond/GoodsInfo/Name"); CEGUI::Window* oneGroupNumWnd = wnd->getChildRecursive("PlayerShop/backgrond/GoodsInfo/OneGroupNum"); CEGUI::Window* priceWnd = wnd->getChildRecursive("PlayerShop/backgrond/GoodsInfo/Price"); CEGUI::Window* averagePriceWnd = wnd->getChildRecursive("PlayerShop/backgrond/GoodsInfo/AveragePrice"); if (!iconWnd || !nameWnd || !oneGroupNumWnd || !priceWnd || !averagePriceWnd) return false; iconWnd->setProperty("Image",""); nameWnd->setText(""); oneGroupNumWnd->setText(""); priceWnd->setText(""); averagePriceWnd->setText(""); return true; }
InputContext* DynamicEditor::EditorFactoryType::createEditor(CEGUI::TabControl* _tab, std::string _factoryName, std::string _typeName, DynamicEditor* _editor) { CEGUI::Window* page = CEGUI::WindowManager::getSingletonPtr()->loadWindowLayout("EntityInstanceTab.layout", _factoryName); FactoryParameters* params = new FactoryParameters(true); DynamicEditorMode* editorMode = modeFactory->createMode(page, params); CEGUI::Window* typeNameDisplay = page->getChild(_factoryName + "Tab/EntityTypeName"); typeNameDisplay->appendText(_typeName); page->setProperty("Text",_factoryName); _tab->addTab(page); page->setUserData(editorMode); editorMode->initEditorMode(_factoryName, _editor); float uiElementTop = 0.0f; for (auto i = instanceVariableFactories.begin(); i != instanceVariableFactories.end(); i++) { DynamicEditorVariable* editorVar = (*i)->createVariable(editorMode->getWindow(),params->getTypeTable(), _factoryName, &uiElementTop); editorMode->addVariable((*i)->getName(), editorVar); } return editorMode; }