1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
class AfficheText
{
public:
AfficheText()
{
}
~AfficheText()
{
}
void createText(void)
{
// get the resource manager
ResourceGroupManager &resGroupMgr = ResourceGroupManager::getSingleton();
// tell it to look at this location
resGroupMgr.addResourceLocation(FONT_FOLDER, "FileSystem");
// get the font manager
FontManager &fontMgr = FontManager::getSingleton();
// create a font resource
ResourcePtr font = fontMgr.create("MyFont","General");
// set as truetype
font->setParameter("type","truetype");
// set the .ttf file name
font->setParameter("source",FONT_FILE_NAME);
// set the size
font->setParameter("size","16");
// set the dpi
font->setParameter("resolution","96");
// load the ttf
font->load();
// get the overlay manager
OverlayManager& overlayMgr = OverlayManager::getSingleton();
// Create a panel
Ogre::OverlayContainer* panel = static_cast<OverlayContainer*>(
overlayMgr.createOverlayElement("Panel", "PanelName"));
panel->setMetricsMode(Ogre::GMM_PIXELS);
panel->setPosition(10, 10);
panel->setDimensions(100, 100);
// Create a text area
TextAreaOverlayElement* textArea = static_cast<TextAreaOverlayElement*>(
overlayMgr.createOverlayElement("TextArea", "TextAreaName"));
textArea->setMetricsMode(Ogre::GMM_PIXELS);
textArea->setPosition(0, 0);
textArea->setDimensions(100, 100);
textArea->setCharHeight(16);
// set the font name to the font resource that you just created.
textArea->setFontName("MyFont");
// say something
textArea->setCaption("Hello, World!");
// Create an overlay, and add the panel
Ogre::Overlay* overlay = overlayMgr.create("OverlayName");
overlay->add2D(panel);
// Add the text area to the panel
panel->addChild(textArea);
// Show the overlay
overlay->show();
}
};
|
Partager