History: Creating Overlays via Code
Preview of version: 1
- «
- »
This code snippet demonstrates how to create Overlays using code.
You'll need to include OgreTextAreaOverlayElement.h and OgreFontManager.h for this snippet to compile.
OverlayManager& overlayManager = OverlayManager::getSingleton();
// Create a panel
OverlayContainer* panel = static_cast<OverlayContainer*>(
overlayManager.createOverlayElement("Panel", "PanelName"));
panel->setMetricsMode(Ogre::GMM_PIXELS);
panel->setPosition(10, 10);
panel->setDimensions(100, 100);
//panel->setMaterialName("MaterialName"); // Optional background material
// Create a text area
TextAreaOverlayElement* textArea = static_cast<TextAreaOverlayElement*>(
overlayManager.createOverlayElement("TextArea", "TextAreaName"));
textArea->setMetricsMode(Ogre::GMM_PIXELS);
textArea->setPosition(0, 0);
textArea->setDimensions(100, 100);
textArea->setCaption("Hello, World!");
textArea->setCharHeight(16);
textArea->setFontName("TrebuchetMSBold");
textArea->setColourBottom(ColourValue(0.3, 0.5, 0.3));
textArea->setColourTop(ColourValue(0.5, 0.7, 0.5));
// Create an overlay, and add the panel
Overlay* overlay = overlayManager.create("OverlayName");
overlay->add2D(panel);
// Add the text area to the panel
panel->addChild(textArea);
// Show the overlay
overlay->show();