Mercurial > fife-parpg
diff ext/guichan-0.8.1/examples/helloworld.hpp @ 0:4a0efb7baf70
* Datasets becomes the new trunk and retires after that :-)
author | mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Sun, 29 Jun 2008 18:44:17 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ext/guichan-0.8.1/examples/helloworld.hpp Sun Jun 29 18:44:17 2008 +0000 @@ -0,0 +1,51 @@ +/** + * Code to populate a global Gui object with a simple + * Hello World example. + */ + +namespace helloworld +{ + gcn::Container* top; + gcn::ImageFont* font; + gcn::Label* label; + + /** + * Initialises the Hello World example by populating the global Gui + * object. + */ + void init() + { + // We first create a container to be used as the top widget. + // The top widget in Guichan can be any kind of widget, but + // in order to make the Gui contain more than one widget we + // make the top widget a container. + top = new gcn::Container(); + // We set the dimension of the top container to match the screen. + top->setDimension(gcn::Rectangle(0, 0, 640, 480)); + // Finally we pass the top widget to the Gui object. + globals::gui->setTop(top); + + // Now we load the font used in this example. + font = new gcn::ImageFont("fixedfont.bmp", " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); + // Widgets may have a global font so we don't need to pass the + // font object to every created widget. The global font is static. + gcn::Widget::setGlobalFont(font); + + // Now we create a label with the text "Hello World". + label = new gcn::Label("Hello World"); + // We give the label a position. + label->setPosition(280, 220); + // And finally we add the label to the top container. + top->add(label); + } + + /** + * Halts the Hello World example. + */ + void halt() + { + delete label; + delete font; + delete top; + } +}