diff options
| author | Mirrorbot <mirrorbot@cogarr.net> | 2025-12-27 17:53:06 -0600 |
|---|---|---|
| committer | Mirrorbot <mirrorbot@cogarr.net> | 2025-12-27 17:53:06 -0600 |
| commit | 71e94ee161447b84c0eaabf6567f8fa62262cd3e (patch) | |
| tree | 391064cc6173a6fe75069af2fdc1978af12f623e /tools/GUIEditor/main.cpp | |
| download | irrlicht-71e94ee161447b84c0eaabf6567f8fa62262cd3e.tar.gz irrlicht-71e94ee161447b84c0eaabf6567f8fa62262cd3e.tar.bz2 irrlicht-71e94ee161447b84c0eaabf6567f8fa62262cd3e.zip | |
Diffstat (limited to 'tools/GUIEditor/main.cpp')
| -rw-r--r-- | tools/GUIEditor/main.cpp | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/tools/GUIEditor/main.cpp b/tools/GUIEditor/main.cpp new file mode 100644 index 0000000..e8434b2 --- /dev/null +++ b/tools/GUIEditor/main.cpp @@ -0,0 +1,76 @@ +#include <irrlicht.h>
+#include "driverChoice.h"
+
+// include the gui creator element factory
+#include "CGUIEditFactory.h"
+
+using namespace irr;
+using namespace gui;
+
+#ifdef _MSC_VER
+#pragma comment(lib, "Irrlicht.lib")
+#endif
+
+int main()
+{
+ // ask user for driver
+ video::E_DRIVER_TYPE driverType=driverChoiceConsole();
+ if (driverType==video::EDT_COUNT)
+ return 1;
+
+ IrrlichtDevice *device = createDevice(driverType, core::dimension2du(800, 600));
+ video::IVideoDriver* driver = device->getVideoDriver();
+ scene::ISceneManager* smgr = device->getSceneManager();
+ gui::IGUIEnvironment *env = device->getGUIEnvironment();
+
+ device->setResizable(true);
+
+ /*
+ first we create the factory which can make new GUI elements
+ and register it with the gui environment.
+ */
+
+ IGUIElementFactory* factory = new CGUIEditFactory(env);
+ env->registerGUIElementFactory(factory);
+ // remember to drop since we created with a create call
+ factory->drop();
+
+ IGUISkin *skin = env->createSkin(EGST_WINDOWS_METALLIC);
+ env->setSkin(skin);
+
+ IGUIFont *font = env->getFont("../../media/lucida.xml");
+ if (font)
+ skin->setFont(font);
+ skin->drop();
+
+ // change transparency of skin
+ for (s32 i=0; i<gui::EGDC_COUNT ; ++i)
+ {
+ video::SColor col = env->getSkin()->getColor((gui::EGUI_DEFAULT_COLOR)i);
+ col.setAlpha(250);
+ env->getSkin()->setColor((gui::EGUI_DEFAULT_COLOR)i, col);
+ }
+
+ /*
+ now we add the GUI Editor Workspace
+ */
+
+ env->addGUIElement("GUIEditor");
+
+ while(device->run())
+ {
+ device->sleep(10);
+
+ if (device->isWindowActive())
+ {
+ driver->beginScene(true, true, video::SColor(0,200,200,200));
+ smgr->drawAll();
+ env->drawAll();
+ driver->endScene();
+ }
+ }
+
+ device->drop();
+
+ return 0;
+}
|
