#pragma region Copyright /* Toxid Game Copyright (C) 2002-2008 Nuclex Development Labs */ #pragma endregion #include "UI/UIServer.h" #include "Main.h" #include "UI/TitleScreen.h" #include #include #include #include #include #include #include namespace Toxid { // ------------------------------------------------------------------------------------------- // namespace { Video::VideoDevice::PretransformedVertex V[] = { { Point3(10, 10, 1), 1, 0xFFFFFFFF, 0xFFFFFFFF, Point2(0, 0) }, { Point3(10, 20, 1), 1, 0xFFFFFFFF, 0xFFFFFFFF, Point2(0, 0) }, { Point3(20, 20, 1), 1, 0xFFFFFFFF, 0xFFFFFFFF, Point2(0, 0) }, { Point3(20, 10, 1), 1, 0xFFFFFFFF, 0xFFFFFFFF, Point2(0, 0) } }; } // anonymous namespace // ------------------------------------------------------------------------------------------- // UIServer::UIServer(const string &sThemeFile) : m_Theme( Kernel::getInstance().getStorageServer(), Kernel::getInstance().getVideoServer(), Kernel::getInstance().getTextServer() ), m_VertexDrawer(Main::getInstance().getVideoDevice()) { // Load the whole theme xml file into a string string themeContents = stringFromStream( Kernel::getInstance().getStorageServer()->openStream( sThemeFile, Storage::Stream::AM_READ ) ); // Parse the theme into an Xml DOM Storage::XMLSerializer xmlDomTheme(themeContents); // Now we can let the DynamicTheme extract the theme description from // the 'theme' scope of the Xml document m_Theme.load(xmlDomTheme.openScope("theme")); // Assign a cursor to be used shared_ptr spCursorImage = Kernel::getInstance().getVideoServer()->loadImage( Kernel::getInstance().getStorageServer()->openStream("silly_cursor.png") ); Main::getInstance().getVideoDevice()->setCursor(spCursorImage); }; // ------------------------------------------------------------------------------------------- // void UIServer::renderFrame( const shared_ptr &spVideoRC, const shared_ptr &spAudioRC ) { m_VertexDrawer.begin(spVideoRC); Kernel::getInstance().getGUIServer()->draw(m_VertexDrawer, m_Theme); m_VertexDrawer.end(); } // ------------------------------------------------------------------------------------------- // const shared_ptr &UIServer::getScreen() const { return Kernel::getInstance().getGUIServer()->getDesktopWindow(); } // ------------------------------------------------------------------------------------------- // void UIServer::setScreen(const shared_ptr &spScreen) { m_spPreviousScreen = Kernel::getInstance().getGUIServer()->getDesktopWindow(); Kernel::getInstance().getGUIServer()->setDesktopWindow(spScreen); } // ------------------------------------------------------------------------------------------- // } // namespace Toxid