#ifndef XNA_FORWARD_HPP #define XNA_FORWARD_HPP #include "types.hpp" namespace xna { //Framework class BoundingBox; class BoundingFrustum; class BoundinSphere; struct Color; class Curve; class CurveContinuity; class CurveKey; class CurveKeyCollection; struct Matrix; class Plane; struct Point; class Quaternion; class Ray; struct Rectangle; struct Vector2; struct Vector3; struct Vector4; //Audio //Graphics class BlendState; class DisplayMode; class DisplayModeCollection; class GraphicsAdapter; class GraphicsDevice; class RenderTarget2D; class SwapChain; class Texture; class Texture2D; struct Viewport; //Game class DrawableGameComponent; class Game; class GameComponent; class GameComponentCollection; class GameTime; class GameWindow; class IDrawable; class IGameComponent; class IUpdatable; using PBoundingBox = std::shared_ptr<BoundingBox>; using PBoundingFrustum = std::shared_ptr<BoundingFrustum>; using PBoundinSphere = std::shared_ptr<BoundinSphere>; using PColor = std::shared_ptr<Color>; using PCurve = std::shared_ptr<Curve>; using PCurveContinuity = std::shared_ptr<CurveContinuity>; using PCurveKey = std::shared_ptr<CurveKey>; using PCurveKeyCollection = std::shared_ptr<CurveKeyCollection>; using PMatrix = std::shared_ptr<Matrix>; using PPlane = std::shared_ptr<Plane>; using PPoint = std::shared_ptr<Point>; using PQuaternion = std::shared_ptr<Quaternion>; using PRay = std::shared_ptr<Ray>; using PRectangle = std::shared_ptr<Rectangle>; using PVector2 = std::shared_ptr<Vector2>; using PVector3 = std::shared_ptr<Vector3>; using PVector4 = std::shared_ptr<Vector4>; using PBlendState = std::shared_ptr<BlendState>; using PDisplayMode = std::shared_ptr<DisplayMode>; using PDisplayModeCollection = std::shared_ptr<DisplayModeCollection>; using PGraphicsAdapter = std::shared_ptr<GraphicsAdapter>; using PGraphicsDevice = std::shared_ptr<GraphicsDevice>; using PRenderTarget2D = std::shared_ptr<RenderTarget2D>; using PSwapChain = std::shared_ptr<SwapChain>; using PTexture = std::shared_ptr<Texture>; using PTexture2D = std::shared_ptr<Texture2D>; using PViewport = std::shared_ptr<Viewport>; using PDrawableGameComponent = std::shared_ptr<DrawableGameComponent>; using PGame = std::shared_ptr<Game>; using PGameComponent = std::shared_ptr<GameComponent>; using PGameComponentCollection = std::shared_ptr<GameComponentCollection>; using PGameTime = std::shared_ptr<GameTime>; using PGameWindow = std::shared_ptr<GameWindow>; using PIDrawable = std::shared_ptr<IDrawable>; using PIGameComponent = std::shared_ptr<IGameComponent>; using PIUpdatable = std::shared_ptr<IUpdatable>; } #endif