ランタイム
ICanvasRenderer.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include "Mix/Reference.h"
7 
8 namespace Mix{ namespace Graphics{ namespace Utility{
9 
13  {
14  protected:
16  virtual ~ICanvasRenderer( void ){}
17 
18  public:
22  virtual Boolean GetFont( Mix::Graphics::Utility::IFont** ppFont ) const = 0;
25  virtual void SetFont( Mix::Graphics::Utility::IFont* pFont ) = 0;
26 
29  virtual const Mix::Vector4& GetColor( void ) const = 0;
32  virtual void SetColor( const Mix::Vector4& color ) = 0;
33 
36  virtual Mix::Graphics::BLEND_TYPE GetBlendType( void ) const = 0;
39  virtual void SetBlendType( Mix::Graphics::BLEND_TYPE type ) = 0;
40 
43  virtual const Mix::Matrix3x3& GetMatrix( void ) const = 0;
46  virtual void SetMatrix( const Mix::Matrix3x3& mat ) = 0;
49  virtual UInt32 PushMatrix( void ) = 0;
52  virtual UInt32 PopMatrix( void ) = 0;
55  virtual UInt32 DrainMatrix( void ) = 0;
56 
59  virtual const Mix::Rectangle& GetClip( void ) const = 0;
65  virtual void SetClip( Int32 x, Int32 y, Int32 width, Int32 height ) = 0;
68  virtual void SetClip( const Mix::Rectangle& rect ) = 0;
71  virtual UInt32 PushClip( void ) = 0;
74  virtual UInt32 PopClip( void ) = 0;
77  virtual UInt32 DrainClip( void ) = 0;
78 
82  virtual void AddLine( const Mix::Vector2& p1, const Mix::Vector2& p2 ) = 0;
86  virtual void AddLines( const Mix::Vector2 points[], UInt16 numPoints ) = 0;
87 
90  virtual void AddRectangle( const Mix::RectangleF& rect ) = 0;
94  virtual void AddPolygon( const Mix::Vector2 points[], UInt16 numPoints ) = 0;
95 
98  virtual void AddFillRectangle( const Mix::RectangleF& rect ) = 0;
102  virtual void AddFillPolygon( const Mix::Vector2 points[], UInt16 numPoints ) = 0;
103 
112  virtual void AddImage( Mix::Graphics::ITexture* pTexture, Float32 dx, Float32 dy, Float32 width, Float32 height, Float32 sx, Float32 sy ) = 0;
117  virtual void AddImage( Mix::Graphics::ITexture* pTexture, const Mix::RectangleF& dst, const Mix::Vector2& src ) = 0;
128  virtual void AddImage( Mix::Graphics::ITexture* pTexture, Float32 dx, Float32 dy, Float32 dw, Float32 dh, Float32 sx, Float32 sy, Float32 sw, Float32 sh ) = 0;
133  virtual void AddImage( Mix::Graphics::ITexture* pTexture, const Mix::RectangleF& dst, const Mix::RectangleF& src ) = 0;
134 
139  virtual void AddString( Float32 x, Float32 y, const wchar_t* pStr ) = 0;
143  virtual void AddString( const Mix::Vector2& pos, const wchar_t* pStr ) = 0;
148  virtual void AddString( const Mix::RectangleF& rect, const wchar_t* pStr, UInt32 flags = 0 ) = 0;
149 
151  virtual void Update( void ) = 0;
153  virtual void Draw( void ) = 0;
154  };
155 
156 }}}
virtual const Mix::Vector4 & GetColor(void) const =0
現在設定されているカラーを取得します
virtual void AddRectangle(const Mix::RectangleF &rect)=0
矩形を追加します
virtual void AddImage(Mix::Graphics::ITexture *pTexture, Float32 dx, Float32 dy, Float32 width, Float32 height, Float32 sx, Float32 sy)=0
イメージを追加します
virtual void Update(void)=0
キャンバスレンダラーを更新します
virtual void AddLines(const Mix::Vector2 points[], UInt16 numPoints)=0
ラインを追加します
virtual void SetBlendType(Mix::Graphics::BLEND_TYPE type)=0
ブレンドタイプを設定します
テクスチャインターフェース
Definition: ITexture.h:12
3x3行列クラス
Definition: Matrix3x3.h:10
浮動小数点型矩形クラス
Definition: RectangleF.h:13
virtual const Mix::Matrix3x3 & GetMatrix(void) const =0
現在設定されている変換行列を取得します
int Int32
符号有り32ビット整数
Definition: Common.h:65
virtual void SetColor(const Mix::Vector4 &color)=0
カラーを設定します
フォントインターフェース
Definition: IFont.h:12
virtual Boolean GetFont(Mix::Graphics::Utility::IFont **ppFont) const =0
現在設定されているフォントを取得します
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
virtual void AddString(Float32 x, Float32 y, const wchar_t *pStr)=0
文字列を追加します
virtual void AddLine(const Mix::Vector2 &p1, const Mix::Vector2 &p2)=0
ラインを追加します
virtual void SetMatrix(const Mix::Matrix3x3 &mat)=0
変換行列を設定します
virtual ~ICanvasRenderer(void)
デストラクタ
Definition: ICanvasRenderer.h:16
virtual void AddPolygon(const Mix::Vector2 points[], UInt16 numPoints)=0
多角形を追加します
virtual void AddFillRectangle(const Mix::RectangleF &rect)=0
塗りつぶした矩形を追加します
virtual void AddFillPolygon(const Mix::Vector2 points[], UInt16 numPoints)=0
塗りつぶした多角形を追加します
ミックス
Definition: AtomicValue.h:6
virtual Mix::Graphics::BLEND_TYPE GetBlendType(void) const =0
ブレンドタイプを取得します
2次元浮動小数点ベクトルクラス
Definition: Vector2.h:12
矩形クラス
Definition: Rectangle.h:12
virtual UInt32 DrainMatrix(void)=0
スタックに積まれている全ての行列を排出します
float Float32
32ビット浮動小数点
Definition: Common.h:83
リファレンスクラス
Definition: Reference.h:12
リファレンスクラスインクルードファイル
virtual UInt32 PushMatrix(void)=0
現在の変換行列を保存します
4次元浮動小数点ベクトルクラス
Definition: Vector4.h:12
キャンバスレンダラーインターフェース
Definition: ICanvasRenderer.h:12
unsigned short UInt16
符号無し16ビット整数
Definition: Common.h:62
virtual void SetFont(Mix::Graphics::Utility::IFont *pFont)=0
フォントを設定します
virtual UInt32 DrainClip(void)=0
スタックに積まれている全てのクリップを排出します
virtual const Mix::Rectangle & GetClip(void) const =0
現在のクリップを取得します
BLEND_TYPE
ブレンドタイプ列挙定数
Definition: Common.h:1519
virtual UInt32 PopMatrix(void)=0
現在の変換行列を破棄します
virtual UInt32 PushClip(void)=0
現在のクリップを保存します
virtual void Draw(void)=0
キャンバスレンダラーを描画します
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
virtual void SetClip(Int32 x, Int32 y, Int32 width, Int32 height)=0
クリップを設定します
virtual UInt32 PopClip(void)=0
現在のクリップを破棄します