#include "stdafx.h" #include "D3D9.h" #pragma comment(lib, "GWEN-Renderer-DirectX9.lib"); #pragma comment(lib, "gwen_static.lib"); #pragma comment(lib, "FreeImage.lib"); #include "Gwen/Renderers/DirectX9.h" #include "Gwen/Controls/Canvas.h" #include "Gwen/Skins/Simple.h" #include "Gwen/Controls/Button.h" #include using namespace irr; using namespace core; using namespace scene; using namespace video; using namespace io; using namespace gui; #pragma comment(lib, "Irrlicht.lib") #pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup") #define WIN32_LEAN_AND_MEAN #include "windows.h" #include "FileSystem.h" #include "LoadMap.h" #include "Entity.h" int main(int argc, char* arg[]) { IrrlichtDevice* device = createDevice( video::EDT_DIRECT3D9, dimension2d(512,512), 24, false, false, true, 0); if(!device) return 1; IVideoDriver* driver = device->getVideoDriver(); ISceneManager* sceneManager = device->getSceneManager(); //IGUIEnvironment* guiEnv = device->getGUIEnvironment(); // this one sucks SExposedVideoData sexp = driver->getExposedVideoData(); IDirect3DDevice9* g_pD3DDevice = sexp.D3D9.D3DDev9; Gwen::Renderer::DirectX9* GUIRenderer = new Gwen::Renderer::DirectX9(g_pD3DDevice); Gwen::Skin::Simple skin; skin.SetRender( GUIRenderer ); Gwen::Controls::Canvas* Canvas = new Gwen::Controls::Canvas( &skin ); Canvas->SetBounds(10,10,100,100); Gwen::Controls::Button* pButton = new Gwen::Controls::Button( Canvas ); pButton->SetBounds( 10, 10, 50, 50 ); pButton->SetText( "My First Button" ); SetupFileSystem(); LoadMap( device, "none.irr" ); ICameraSceneNode* cam = sceneManager->addCameraSceneNode(0, vector3df(2,2,1), vector3df(0,0,0)); while(device->run()) { driver->beginScene(true, true, SColor(255, 100,100,100)); sceneManager->drawAll(); driver->endScene(); Canvas->RenderCanvas(); } free(Canvas); //free(skin); //free(GUIRenderer); return 0; }