History: Creating Overlays via Code
Preview of version: 3
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.
Copy to clipboard
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();
See also