| 17 | } |
| 18 | |
| 19 | void DemoKeeper::createScene() |
| 20 | { |
| 21 | // MsdfFontShader uses custom fragment program and default vertex program |
| 22 | #if defined(MYGUI_OGRE_PLATFORM) |
| 23 | auto& renderManager = MyGUI::OgreRenderManager::getInstance(); |
| 24 | std::string vpFile = "MyGUI_Ogre_VP." + renderManager.getShaderExtension(); |
| 25 | std::string fpFile = "Msdf_Ogre_FP." + renderManager.getShaderExtension(); |
| 26 | // custom VP for glsles to match shader versions (Msdf fragment shader require glsl es 300, while default MyGUI shader use glsl es 100) |
| 27 | if (renderManager.getShaderExtension() == "glsles") |
| 28 | vpFile = "Msdf_Ogre_VP." + renderManager.getShaderExtension(); |
| 29 | MyGUI::RenderManager::getInstance().registerShader("MsdfFontShader", vpFile, fpFile); |
| 30 | #elif defined(MYGUI_OPENGL_PLATFORM) |
| 31 | // TODO not implemented in RenderManager |
| 32 | #elif defined(MYGUI_DIRECTX_PLATFORM) |
| 33 | // TODO not implemented in RenderManager |
| 34 | #elif defined(MYGUI_DIRECTX11_PLATFORM) |
| 35 | MyGUI::RenderManager::getInstance().registerShader( |
| 36 | "MsdfFontShader", |
| 37 | "MyGUI_DirectX11_VP.hlsl", |
| 38 | "Msdf_DirectX11_FP.hlsl"); |
| 39 | #elif defined(MYGUI_OPENGL3_PLATFORM) |
| 40 | MyGUI::RenderManager::getInstance().registerShader( |
| 41 | "MsdfFontShader", |
| 42 | "MyGUI_OpenGL3_VP.glsl", |
| 43 | "Msdf_OpenGL3_FP.glsl"); |
| 44 | #elif defined(MYGUI_OPENGLES_PLATFORM) |
| 45 | MyGUI::RenderManager::getInstance().registerShader( |
| 46 | "MsdfFontShader", |
| 47 | "MyGUI_OpenGLES_VP.glsl", |
| 48 | "Msdf_OpenGLES_FP.glsl"); |
| 49 | #endif |
| 50 | |
| 51 | MyGUI::ResourceManager::getInstance().load("MsdfFont.xml"); |
| 52 | |
| 53 | base::BaseDemoManager::createScene(); |
| 54 | MyGUI::LayoutManager::getInstance().loadLayout("Wallpaper.layout"); |
| 55 | const MyGUI::VectorWidgetPtr& root = MyGUI::LayoutManager::getInstance().loadLayout("HelpPanel.layout"); |
| 56 | if (root.size() == 1) |
| 57 | root.at(0)->findWidget("Text")->castType<MyGUI::TextBox>()->setCaption( |
| 58 | "Msdf font, that can be scaled and rendered with a high quality, while single small texture is used " |
| 59 | "for all sizes. Small-size fonts are still better with a regular texture."); |
| 60 | |
| 61 | MyGUI::Button* button1 = MyGUI::Gui::getInstance().createWidget<MyGUI::Button>( |
| 62 | "Button", |
| 63 | MyGUI::IntCoord(110, 10, 200, 50), |
| 64 | MyGUI::Align::Default, |
| 65 | "Main"); |
| 66 | button1->eventMouseButtonClick += MyGUI::newDelegate(this, &DemoKeeper::increaseFontHeight); |
| 67 | button1->setCaption("Increase font height"); |
| 68 | MyGUI::Button* button2 = MyGUI::Gui::getInstance().createWidget<MyGUI::Button>( |
| 69 | "Button", |
| 70 | MyGUI::IntCoord(320, 10, 200, 50), |
| 71 | MyGUI::Align::Default, |
| 72 | "Main"); |
| 73 | button2->eventMouseButtonClick += MyGUI::newDelegate(this, &DemoKeeper::decreaseFontHeight); |
| 74 | button2->setCaption("Decrease font height"); |
| 75 | |
| 76 | MyGUI::ImageBox* fontTexture = MyGUI::Gui::getInstance().createWidget<MyGUI::ImageBox>( |
nothing calls this directly
no test coverage detected