#ifndef XNA_FORWARD_HPP #define XNA_FORWARD_HPP #include "types.hpp" namespace xna { //CShap struct TimeSpan; using PTimeSpan = std::shared_ptr<TimeSpan>; class Stream; using PStream = std::shared_ptr<Stream>; class FileStream; using PFileStream = std::shared_ptr<FileStream>; class MemoryStream; using PMemoryStream = std::shared_ptr<MemoryStream>; //Framework class BoundingBox; using PBoundingBox = std::shared_ptr<BoundingBox>; class BoundingFrustum; using PBoundingFrustum = std::shared_ptr<BoundingFrustum>; class BoundinSphere; using PBoundinSphere = std::shared_ptr<BoundinSphere>; struct Color; using PColor = std::shared_ptr<Color>; class Curve; using PCurve = std::shared_ptr<Curve>; class CurveContinuity; using PCurveContinuity = std::shared_ptr<CurveContinuity>; class CurveKey; using PCurveKey = std::shared_ptr<CurveKey>; class CurveKeyCollection; using PCurveKeyCollection = std::shared_ptr<CurveKeyCollection>; struct Matrix; using PMatrix = std::shared_ptr<Matrix>; class Plane; using PPlane = std::shared_ptr<Plane>; struct Point; using PPoint = std::shared_ptr<Point>; class Quaternion; using PQuaternion = std::shared_ptr<Quaternion>; class Ray; using PRay = std::shared_ptr<Ray>; struct Rectangle; using PRectangle = std::shared_ptr<Rectangle>; struct Vector2; using Vec2 = Vector2; using PVector2 = std::shared_ptr<Vector2>; using PVec2 = std::shared_ptr<Vector2>; struct Vector3; using Vec3 = Vector3; using PVector3 = std::shared_ptr<Vector3>; using PVec3 = std::shared_ptr<Vector3>; struct Vector4; using Vec4 = Vector4; using PVector4 = std::shared_ptr<Vector4>; using PVec4 = std::shared_ptr<Vector4>; //Game class DrawableGameComponent; using PDrawableGameComponent = std::shared_ptr<DrawableGameComponent>; class Game; using PGame = std::shared_ptr<Game>; class GameComponent; using PGameComponent = std::shared_ptr<GameComponent>; class GameComponentCollection; using PGameComponentCollection = std::shared_ptr<GameComponentCollection>; class GameClock; using PGameClock = std::shared_ptr<GameClock>; class GameTime; using PGameTime = std::shared_ptr<GameTime>; class GameWindow; using PGameWindow = std::shared_ptr<GameWindow>; class GraphicsDeviceInformation; using PGraphicsDeviceInformation = std::shared_ptr<GraphicsDeviceInformation>; class GraphicsDeviceManager; using PGraphicsDeviceManager = std::shared_ptr<GraphicsDeviceManager>; class IDrawable; using PIDrawable = std::shared_ptr<IDrawable>; class IGameComponent; using PIGameComponent = std::shared_ptr<IGameComponent>; class IUpdatable; using PIUpdatable = std::shared_ptr<IUpdatable>; //Graphics class BlendState; using PBlendState = std::shared_ptr<BlendState>; class ConstantBuffer; using PConstantBuffer = std::shared_ptr<ConstantBuffer>; class DataBuffer; using PDataBuffer = std::shared_ptr<DataBuffer>; class DisplayMode; using PDisplayMode = std::shared_ptr<DisplayMode>; class DisplayModeCollection; using PDisplayModeCollection = std::shared_ptr<DisplayModeCollection>; class GraphicsAdapter; using PGraphicsAdapter = std::shared_ptr<GraphicsAdapter>; class GraphicsDevice; using PGraphicsDevice = std::shared_ptr<GraphicsDevice>; class GraphicsDeviceInformation; using PGraphicsDeviceInformation = std::shared_ptr<GraphicsDeviceInformation>; class PresentationParameters; using PPresentationParameters = std::shared_ptr< PresentationParameters>; class RenderTarget2D; using PRenderTarget2D = std::shared_ptr<RenderTarget2D>; class SwapChain; using PSwapChain = std::shared_ptr<SwapChain>; class Texture; using PTexture = std::shared_ptr<Texture>; class Texture2D; using PTexture2D = std::shared_ptr<Texture2D>; class RasterizerState; using PRasterizerState = std::shared_ptr<RasterizerState>; class SamplerState; using PSamplerState = std::shared_ptr<SamplerState>; class Shader; using PShader = std::shared_ptr<Shader>; class VertexBuffer; using PVertexBuffer = std::shared_ptr<VertexBuffer>; class VertexInputLayout; using PVertexInputLayout = std::shared_ptr<VertexInputLayout>; struct VertexPositionColor; using PVertexPositionColor = std::shared_ptr<VertexPositionColor>; class VertexShader; using pVertexShader = std::shared_ptr<VertexShader>; struct Viewport; using PViewport = std::shared_ptr<Viewport>; } #endif