#ifndef XNA_FORWARD_HPP #define XNA_FORWARD_HPP #include "types.hpp" namespace xna { //Audio class SoundEffect; using PSoundEffect = std::shared_ptr; struct SoundEffectInstance; using PSoundEffectInstance = std::shared_ptr; class AudioEngine; using PAudioEngine = std::shared_ptr; struct WaveFormat; using PWaveFormat = std::shared_ptr; //CShap struct TimeSpan; using PTimeSpan = std::shared_ptr; class Stream; using PStream = std::shared_ptr; class FileStream; using PFileStream = std::shared_ptr; class MemoryStream; using PMemoryStream = std::shared_ptr; //Framework class BoundingBox; using PBoundingBox = std::shared_ptr; class BoundingFrustum; using PBoundingFrustum = std::shared_ptr; class BoundinSphere; using PBoundinSphere = std::shared_ptr; struct Color; using PColor = std::shared_ptr; class Curve; using PCurve = std::shared_ptr; class CurveContinuity; using PCurveContinuity = std::shared_ptr; class CurveKey; using PCurveKey = std::shared_ptr; class CurveKeyCollection; using PCurveKeyCollection = std::shared_ptr; struct Matrix; using PMatrix = std::shared_ptr; class Plane; using PPlane = std::shared_ptr; struct Point; using PPoint = std::shared_ptr; struct Quaternion; using PQuaternion = std::shared_ptr; class Ray; using PRay = std::shared_ptr; struct Rectangle; using PRectangle = std::shared_ptr; struct Vector2; using PVector2 = std::shared_ptr; struct Vector3; using PVector3 = std::shared_ptr; struct Vector4; using PVector4 = std::shared_ptr; //Game class DrawableGameComponent; using PDrawableGameComponent = std::shared_ptr; class Game; using PGame = std::shared_ptr; class GameComponent; using PGameComponent = std::shared_ptr; class GameComponentCollection; using PGameComponentCollection = std::shared_ptr; class GameClock; using PGameClock = std::shared_ptr; class GameTime; using PGameTime = std::shared_ptr; class GameWindow; using PGameWindow = std::shared_ptr; class GraphicsDeviceInformation; using PGraphicsDeviceInformation = std::shared_ptr; class GraphicsDeviceManager; using PGraphicsDeviceManager = std::shared_ptr; class IDrawable; using PIDrawable = std::shared_ptr; class IGameComponent; using PIGameComponent = std::shared_ptr; class IUpdatable; using PIUpdatable = std::shared_ptr; //Graphics class BlendState; using PBlendState = std::shared_ptr; class ConstantBuffer; using PConstantBuffer = std::shared_ptr; class DataBuffer; using PDataBuffer = std::shared_ptr; class DepthStencilState; using PDepthStencilState = std::shared_ptr; class DisplayMode; using PDisplayMode = std::shared_ptr; using UDisplayMode = std::unique_ptr; class DisplayModeCollection; using PDisplayModeCollection = std::shared_ptr; using UDisplayModeCollection = std::unique_ptr; class GraphicsAdapter; using PGraphicsAdapter = std::shared_ptr; using UGraphicsAdapter = std::unique_ptr; class GraphicsDevice; using PGraphicsDevice = std::shared_ptr; class GraphicsDeviceInformation; using PGraphicsDeviceInformation = std::shared_ptr; class PresentationParameters; using PPresentationParameters = std::shared_ptr< PresentationParameters>; class RenderTarget2D; using PRenderTarget2D = std::shared_ptr; class SwapChain; using PSwapChain = std::shared_ptr; class Texture; using PTexture = std::shared_ptr; class Texture2D; using PTexture2D = std::shared_ptr; class RasterizerState; using PRasterizerState = std::shared_ptr; class SamplerState; using PSamplerState = std::shared_ptr; class Shader; using PShader = std::shared_ptr; class SpriteBatch; using PSpriteBatch = std::shared_ptr; class SpriteFont; using PSpriteFont = std::shared_ptr; class VertexBuffer; using PVertexBuffer = std::shared_ptr; class VertexInputLayout; using PVertexInputLayout = std::shared_ptr; struct VertexPositionColor; using PVertexPositionColor = std::shared_ptr; class VertexShader; using pVertexShader = std::shared_ptr; struct Viewport; using PViewport = std::shared_ptr; //Input class GamePad; using PGamePad = std::shared_ptr; struct GamePadTriggers; using PGamePagTriggers = std::shared_ptr; struct GamePadThumbSticks; using PGamePadThumbSticks = std::shared_ptr; struct GamePadDPad; using PGamePadDPad = std::shared_ptr; struct GamePadCapabilities; using PGamePadCapabilities = std::shared_ptr; struct GamePadButtons; using PGamePadButtons = std::shared_ptr; struct GamePadState; using PGamePadState = std::shared_ptr; struct KeyboardState; using PKeyboardState = std::shared_ptr; struct MouseState; using PMouseState = std::shared_ptr; } #endif