#define Glut_disable_atexit_hack
#pragma comment (lib, "Glew32.lib")
#include <stdlib.h>
#include <gl/glew.h>
#include <gl/glut.h>
#include <CEGUI/CEGUI.h>
#include <CEGUI/RendererModules/OpenGL/GL3Renderer.h>
#include <CEGUI/RendererModules/OpenGL/GLRenderer.h>
#include <GL/glfw.h>
#include <CEGuiOpenGL3BaseApplication.h>
#include <CEGuiOpenGLBaseApplication.h>
#include <CEGUI/WindowManager.h>
void render (void);
void Keyfunc (unsigned char, int, int);
int resource_group (void);
int load_data_files (void);
int Create_window (void);
void reshape (int w, int h);
int window_id;
bool keep_running = true;
int main (int argc, char *argv[])
{
Glutinit (&ARGC, argv);
Glutinitdisplaymode (glut_depth | glut_double | GLUT_RGBA);
Glutinitwindowsize (640, 480);
Glutcreatewindow (argv[0]);
//Glutsetcursor (Glut_cursor_none);//Hide original cursor
Glutreshapefunc (reshape);
Glenum err = Glewinit ();
cegui::opengl3renderer& myrenderer = Cegui::opengl3renderer::create ();
Cegui::system::create (Myrenderer);
Resource_group ();
Load_data_files ();
Glutdisplayfunc (render);
Glutmainloop ();
return 0;
}
void reshape (int w, int h)
{
Glviewport (0, 0, (Glsizei) W, (Glsizei) h);
Glmatrixmode (gl_projection);
Glloadidentity ();
Gluperspective (40.0, (Glfloat) w/(Glfloat) H, 1.0, 20.0);
Glmatrixmode (Gl_modelview);
Glloadidentity ();
}
void render (void)
{
Glloadidentity ();
Glclear (Gl_color_buffer_bit | Gl_depth_buffer_bit);
Create_window ();
Cegui::system::getsingleton (). renderallguicontexts ();
Glutswapbuffers ();
}
void Keyfunc (unsigned char key, int x, int y)
{
Switch (key)
{
Case 113:
Case 81:
Case 27:
Keep_running = false;
Break
}
}
int Resource_group (void) //Set default resource group
{
Cegui::D Efaultresourceprovider *rp = Static_cast<cegui::D efaultresourceprovider*>
(Cegui::system::getsingleton (). Getresourceprovider ());
Rp->setresourcegroupdirectory ("Schemes", "e:\\vtk\\cegui\\example\\datafiles\\schemes/");
Rp->setresourcegroupdirectory ("Imagesets", "e:\\vtk\\cegui\\example\\datafiles\\imagesets/");
Rp->setresourcegroupdirectory ("Fonts", "e:\\vtk\\cegui\\example\\datafiles\\fonts/");
Rp->setresourcegroupdirectory ("layouts", "e:\\vtk\\cegui\\example\\datafiles\\layouts/");
Rp->setresourcegroupdirectory ("Looknfeels", "e:\\vtk\\cegui\\example\\datafiles\\looknfeel/");
Rp->setresourcegroupdirectory ("Schemas", "e:\\vtk\\cegui\\example\\datafiles\\xmlrefschema/");
Cegui::imagemanager::setimagesetdefaultresourcegroup ("Imagesets");
Rp->setdefaultresourcegroup ("e:\\vtk\\cegui\\example\\datafiles/");
Cegui::font::setdefaultresourcegroup ("fonts");
Cegui::scheme::setdefaultresourcegroup ("schemes");
Cegui::widgetlookmanager::setdefaultresourcegroup ("Looknfeels");
Cegui::windowmanager::setdefaultresourcegroup ("layouts");
Cegui::xercesparser::setschemadefaultresourcegroup ("schemas");
cegui::xmlparser* parser = Cegui::system::getsingleton (). Getxmlparser ();
if (Parser->ispropertypresent ("Schemadefaultresourcegroup"))
Parser->setproperty ("Schemadefaultresourcegroup", "schemas");
return 1;
}
int load_data_files (void) //load resource file
{
Cegui::schememanager::getsingleton (). CreateFromFile ("Taharezlook.scheme");
Cegui::fontmanager::getsingleton (). CreateFromFile ("Dejavusans-10.font");
Cegui::system::getsingleton (). Getdefaultguicontext (). Setdefaultfont ("DejaVuSans-10");
Cegui::system::getsingleton (). Getdefaultguicontext (). Getmousecursor (). Setdefaultimage ("TaharezLook/MouseArrow" );
Cegui::system::getsingleton (). Getdefaultguicontext (). Setdefaulttooltiptype ("Windowslook/tooltip");
return 1;
}
int Create_window (void) //Create a window
{
using namespace Cegui;
WindowManager &wmgr = Windowmanager::getsingleton ();
window* myroot = Wmgr.createwindow ("Defaultwindow", "root");
System::getsingleton (). Getdefaultguicontext (). Setrootwindow (Myroot);
FrameWindow *fwnd = (framewindow*) wmgr.createwindow ("Taharezlook/framewindow", "Testwindow");
Myroot->addchild (Fwnd);
Position a quarter of the from the top-left of the parent.
Fwnd->setposition (UVector2 (Udim (0.25f, 0.0f), Udim (0.25f, 0.0f)));
Set size to be half the size of the parent
Fwnd->setsize (Usize (Udim (0.5f, 0.0f), Udim (0.5f, 0.0f)));
Fwnd->settext ("Hello world!!");
/*window* myroot = Windowmanager::getsingleton (). Loadlayoutfromfile ("1.layout");
System::getsingleton (). Getdefaultguicontext (). Setrootwindow (Myroot); * *
return 1;
}
CEGUI0.8.4 Example