Core.h

00001 /*
00002  * This source file is part of libRocket, the HTML/CSS Interface Middleware
00003  *
00004  * For the latest information, see http://www.librocket.com
00005  *
00006  * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
00007  *
00008  * Permission is hereby granted, free of charge, to any person obtaining a copy
00009  * of this software and associated documentation files (the "Software"), to deal
00010  * in the Software without restriction, including without limitation the rights
00011  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00012  * copies of the Software, and to permit persons to whom the Software is
00013  * furnished to do so, subject to the following conditions:
00014  *
00015  * The above copyright notice and this permission notice shall be included in
00016  * all copies or substantial portions of the Software.
00017  * 
00018  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00019  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00020  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00021  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00022  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00023  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00024  * THE SOFTWARE.
00025  *
00026  */
00027 
00028 #ifndef ROCKETCORECORE_H
00029 #define ROCKETCORECORE_H
00030 
00031 #include <Rocket/Core/Types.h>
00032 #include <Rocket/Core/Math.h>
00033 #include <Rocket/Core/Header.h>
00034 #include <Rocket/Core/Box.h>
00035 #include <Rocket/Core/Context.h>
00036 #include <Rocket/Core/ContextInstancer.h>
00037 #include <Rocket/Core/Decorator.h>
00038 #include <Rocket/Core/DecoratorInstancer.h>
00039 #include <Rocket/Core/Element.h>
00040 #include <Rocket/Core/ElementDocument.h>
00041 #include <Rocket/Core/ElementInstancer.h>
00042 #include <Rocket/Core/ElementInstancerGeneric.h>
00043 #include <Rocket/Core/ElementReference.h>
00044 #include <Rocket/Core/ElementScroll.h>
00045 #include <Rocket/Core/ElementText.h>
00046 #include <Rocket/Core/ElementUtilities.h>
00047 #include <Rocket/Core/Event.h>
00048 #include <Rocket/Core/EventInstancer.h>
00049 #include <Rocket/Core/EventListener.h>
00050 #include <Rocket/Core/EventListenerInstancer.h>
00051 #include <Rocket/Core/Factory.h>
00052 #include <Rocket/Core/FileInterface.h>
00053 #include <Rocket/Core/Font.h>
00054 #include <Rocket/Core/FontDatabase.h>
00055 #include <Rocket/Core/FontEffect.h>
00056 #include <Rocket/Core/FontGlyph.h>
00057 #include <Rocket/Core/Geometry.h>
00058 #include <Rocket/Core/GeometryUtilities.h>
00059 #include <Rocket/Core/Input.h>
00060 #include <Rocket/Core/Log.h>
00061 #include <Rocket/Core/Plugin.h>
00062 #include <Rocket/Core/Property.h>
00063 #include <Rocket/Core/PropertyDefinition.h>
00064 #include <Rocket/Core/PropertyDictionary.h>
00065 #include <Rocket/Core/PropertyParser.h>
00066 #include <Rocket/Core/PropertySpecification.h>
00067 #include <Rocket/Core/RenderInterface.h>
00068 #include <Rocket/Core/String.h>
00069 #include <Rocket/Core/StyleSheet.h>
00070 #include <Rocket/Core/StyleSheetKeywords.h>
00071 #include <Rocket/Core/StyleSheetSpecification.h>
00072 #include <Rocket/Core/SystemInterface.h>
00073 #include <Rocket/Core/Texture.h>
00074 #include <Rocket/Core/Types.h>
00075 #include <Rocket/Core/Vertex.h>
00076 #include <Rocket/Core/XMLNodeHandler.h>
00077 #include <Rocket/Core/XMLParser.h>
00078 
00079 namespace Rocket {
00080 namespace Core {
00081 
00082 class Plugin;
00083 
00090 
00091 ROCKETCORE_API bool Initialise();
00093 ROCKETCORE_API void Shutdown();
00094 
00097 ROCKETCORE_API String GetVersion();
00098 
00101 ROCKETCORE_API void SetSystemInterface(SystemInterface* system_interface);
00104 ROCKETCORE_API SystemInterface* GetSystemInterface();
00105 
00110 ROCKETCORE_API void SetRenderInterface(RenderInterface* render_interface);
00113 ROCKETCORE_API RenderInterface* GetRenderInterface();
00114 
00118 ROCKETCORE_API void SetFileInterface(FileInterface* file_interface);
00121 ROCKETCORE_API FileInterface* GetFileInterface();
00122 
00128 ROCKETCORE_API Context* CreateContext(const String& name, const Vector2i& dimensions, RenderInterface* render_interface = NULL);
00132 ROCKETCORE_API Context* GetContext(const String& name);
00136 ROCKETCORE_API Context* GetContext(int index);
00139 ROCKETCORE_API int GetNumContexts();
00140 
00142 ROCKETCORE_API void RegisterPlugin(Plugin* plugin);
00143 
00145 ROCKETCORE_API void ReleaseCompiledGeometries();
00147 ROCKETCORE_API void ReleaseTextures();
00148 
00149 }
00150 }
00151 
00152 #endif