Merging r5975 through r6036 from trunk to ogl-es branch.
GLES drivers adapted, but only did make compile-tests. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6038 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
84
tools/GUIEditor/main.cpp
Normal file
84
tools/GUIEditor/main.cpp
Normal file
@@ -0,0 +1,84 @@
|
||||
#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(false);
|
||||
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())
|
||||
{
|
||||
if (!device->isWindowMinimized())
|
||||
{
|
||||
const core::dimension2d<u32>& screenSize = driver->getScreenSize();
|
||||
wchar_t caption[512];
|
||||
swprintf_irr(caption, 512, L"screen (%4u/%4u)", screenSize.Width, screenSize.Height);
|
||||
device->setWindowCaption(caption);
|
||||
driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0,200,200,200));
|
||||
smgr->drawAll();
|
||||
env->drawAll();
|
||||
driver->endScene();
|
||||
}
|
||||
|
||||
// be nice to CPU
|
||||
device->sleep(10);
|
||||
if (!device->isWindowActive())
|
||||
device->sleep(90);
|
||||
}
|
||||
|
||||
device->closeDevice();
|
||||
device->drop();
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user