Mercurial > fife-parpg
view ext/guichan-0.8.2/examples/hgewidgets.cpp @ 607:eab690c748a3
This is a more permanent fix for the timer issues. Pychan was using the timers incorrectly. This has now been fixed. It has eliminated the need to have global lists of timers in fife_timer. This has not been tested extensivly.
[t:483]
author | prock@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Fri, 17 Sep 2010 19:55:15 +0000 |
parents | 64738befdf3b |
children |
line wrap: on
line source
/** * This is an example that shows of the widgets present in * Guichan. The example uses the HGE back end. */ #include <guichan.hpp> #include <iostream> // Here we store a global Gui object. We make it global // so it's easily accessable. Of course, global variables // should normally be avioded when it comes to OOP, but // this examples it not an example that shows how to make a // good and clean C++ application but merely an example // that shows how to use Guichan. namespace globals { gcn::Gui* gui; } // Include code to set up an HGE application with Guichan. // The hge.hpp file is responsible for creating and deleting // the global Gui object. #include "hge.hpp" // Include code to set up a Guichan GUI with all the widgets // of Guichan. The code populates the global Gui object. #include "widgets.hpp" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { HGE* hge = hgeCreate(HGE_VERSION); try { hge::init(); widgets::init(); hge::run(); widgets::halt(); hge::halt(); } // Catch all Guichan exceptions. catch (gcn::Exception e) { MessageBox(NULL, e.getMessage().c_str(), "Guichan exception", MB_OK | MB_ICONERROR | MB_SYSTEMMODAL); return 1; } // Catch all Std exceptions. catch (std::exception e) { MessageBox(NULL, e.what(), "Std exception", MB_OK | MB_ICONERROR | MB_SYSTEMMODAL); return 1; } // Catch all unknown exceptions. catch (...) { MessageBox(NULL, hge->System_GetErrorMessage(), "Unknown exception", MB_OK | MB_ICONERROR | MB_SYSTEMMODAL); return 1; } return 0; }