| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsCorePrerequisites.h"
- /** @addtogroup Layers
- * @{
- */
- /** @defgroup Engine 3. Engine
- * Layer that builds upon Core, providing specific implementations of its interfaces as well as other high level systems.
- * @{
- */
- /** @defgroup Renderer-Engine Renderer
- * Abstract interface and helper functionality for rendering scene objects and other geometry.
- */
- /** @defgroup 2D 2D
- * Two dimensional geometry (sprites).
- */
- /** @defgroup Components Components
- * Built-in components.
- */
- /** @defgroup GUI GUI
- * Graphical user interface, including elements, styles, events and GUI manager.
- */
- /** @defgroup Input-Engine Input
- * User input (mouse, keyboard, gamepad, etc.).
- */
- /** @cond RTTI */
- /** @defgroup RTTI-Impl-Engine RTTI types
- * Types containing RTTI for specific classes.
- */
- /** @endcond */
- /** @defgroup Resources-Engine Resources
- * Builtin engine resource types and a manager for such resources.
- */
- /** @defgroup Utility-Engine Utility
- * Various utility methods and types used by the engine layer.
- */
- /** @defgroup Platform-Engine Platform
- * %Platform specific functionality.
- */
- /** @defgroup Script Script
- * Interaction with scripting languages and libraries.
- */
- /** @defgroup Application-Engine Application
- * Entry point into the application.
- */
- /** @defgroup Internal-Core [INTERNAL]
- * Low-level classes and methods not meant for normal use, useful for those that are modifying the engine.
- * @{
- */
- /** @defgroup 2D-Internal 2D
- * Two dimensional geometry (sprites).
- */
- /** @defgroup GUI-Internal GUI
- * Graphical user interface, including elements, styles, events and GUI manager.
- */
- /** @defgroup Renderer-Engine-Internal Renderer
- * Abstract interface and helper functionality for rendering scene objects and other geometry.
- */
- /** @defgroup Resources-Engine-Internal Resources
- * Builtin engine resource types and a manager for such resources.
- */
- /** @defgroup Script-Internal Script
- * Interaction with scripting languages and libraries.
- */
- /** @defgroup Utility-Engine-Internal Utility
- * Various utility methods and types used by the engine layer.
- */
- /** @} */
- /** @} */
- /** @} */
- #if (BS_PLATFORM == BS_PLATFORM_WIN32) && !defined(__MINGW32__)
- # ifdef BS_EXPORTS
- # define BS_EXPORT __declspec(dllexport)
- # else
- # if defined( __MINGW32__ )
- # define BS_EXPORT
- # else
- # define BS_EXPORT __declspec(dllimport)
- # endif
- # endif
- #elif defined ( BS_GCC_VISIBILITY )
- # define BS_EXPORT __attribute__ ((visibility("default")))
- #else
- # define BS_EXPORT
- #endif
- #include "BsGameObject.h"
- #include "BsEnums.h"
- #include "BsHEString.h"
- #include "BsPaths.h"
- namespace BansheeEngine
- {
- static const StringID RenderAPIDX9 = "D3D9RenderAPI";
- static const StringID RenderAPIDX11 = "D3D11RenderAPI";
- static const StringID RenderAPIOpenGL = "GLRenderAPI";
- static const StringID RendererDefault = "RenderBeast";
- class VirtualButton;
- class VirtualInput;
- class InputConfiguration;
- struct DragCallbackInfo;
- struct ShortcutKey;
- // GUI
- class CGUIWidget;
- class GUIManager;
- class GUIWidget;
- class GUIElementBase;
- class GUIElement;
- class GUILabel;
- class GUIButtonBase;
- class GUIButton;
- class GUITexture;
- class GUIToggle;
- class GUIInputBox;
- class GUISliderHandle;
- class GUIScrollBarVert;
- class GUIScrollBarHorz;
- class GUIScrollArea;
- class GUISkin;
- class GUIRenderTexture;
- struct GUIElementStyle;
- class GUIMouseEvent;
- class GUITextInputEvent;
- class GUICommandEvent;
- class GUIVirtualButtonEvent;
- class GUILayout;
- class GUILayoutX;
- class GUILayoutY;
- class GUIPanel;
- class GUIFixedSpace;
- class GUIFlexibleSpace;
- class GUIInputCaret;
- class GUIInputSelection;
- struct GUIDimensions;
- class GUIOptions;
- class GUIToggleGroup;
- class GUIListBox;
- class GUIDropDownDataEntry;
- class GUIDropDownMenu;
- class DragAndDropManager;
- class GUIMenu;
- class GUIMenuItem;
- class GUIContent;
- class GUIContextMenu;
- class GUIDropDownHitBox;
- class GUIDropDownContent;
- class RenderableElement;
- class GUISlider;
- class GUISliderVert;
- class GUISliderHorz;
- class GUIProgressBar;
- class RenderableHandler;
- class ProfilerOverlay;
- class ProfilerOverlayInternal;
- class DrawHelper;
- class Camera;
- class Renderable;
- class CameraCore;
- class RenderableCore;
- class PlainText;
- class ScriptCode;
- class ScriptCodeImportOptions;
- class RendererMeshData;
- // 2D
- class TextSprite;
- class ImageSprite;
- class SpriteTexture;
- struct SpriteMaterialInfo;
- // Components
- class CRenderable;
- class CCamera;
- class CLight;
- typedef std::shared_ptr<TextSprite> TextSpritePtr;
- typedef std::shared_ptr<SpriteTexture> SpriteTexturePtr;
- typedef std::shared_ptr<CCamera> CCameraPtr;
- typedef std::shared_ptr<CRenderable> CRenderablePtr;
- typedef std::shared_ptr<GUIToggleGroup> GUIToggleGroupPtr;
- typedef std::shared_ptr<Camera> CameraPtr;
- typedef std::shared_ptr<Renderable> RenderablePtr;
- typedef std::shared_ptr<InputConfiguration> InputConfigurationPtr;
- typedef std::shared_ptr<PlainText> PlainTextPtr;
- typedef std::shared_ptr<ScriptCode> ScriptCodePtr;
- typedef std::shared_ptr<GUISkin> GUISkinPtr;
- typedef std::shared_ptr<GUIContextMenu> GUIContextMenuPtr;
- typedef GameObjectHandle<CGUIWidget> HGUIWidget;
- typedef GameObjectHandle<CCamera> HCamera;
- typedef GameObjectHandle<CRenderable> HRenderable;
- typedef GameObjectHandle<ProfilerOverlay> HProfilerOverlay;
- typedef ResourceHandle<SpriteTexture> HSpriteTexture;
- typedef ResourceHandle<PlainText> HPlainText;
- typedef ResourceHandle<ScriptCode> HScriptCode;
- typedef ResourceHandle<GUISkin> HGUISkin;
- /** RTTI types. */
- enum TypeID_Banshee
- {
- TID_CCamera = 30000,
- TID_CRenderable = 30001,
- TID_SpriteTexture = 30002,
- TID_Camera = 30003,
- TID_Renderable = 30004,
- TID_PlainText = 30005,
- TID_ScriptCode = 30006,
- TID_ScriptCodeImportOptions = 30007,
- TID_GUIElementStyle = 30008,
- TID_GUISkin = 30009,
- TID_GUISkinEntry = 30010,
- TID_Light = 30011,
- TID_CLight = 30012,
- TID_GameSettings = 30013,
- TID_ResourceMapping = 30014
- };
- }
|