summaryrefslogtreecommitdiff
path: root/Source/Asura.Engine/Graphics/RenderTarget.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Asura.Engine/Graphics/RenderTarget.h')
-rw-r--r--Source/Asura.Engine/Graphics/RenderTarget.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/Source/Asura.Engine/Graphics/RenderTarget.h b/Source/Asura.Engine/Graphics/RenderTarget.h
index 05d7068..afa8967 100644
--- a/Source/Asura.Engine/Graphics/RenderTarget.h
+++ b/Source/Asura.Engine/Graphics/RenderTarget.h
@@ -1,20 +1,24 @@
#ifndef __ASURA_ENGINE_RENDERTARGET_H__
#define __ASURA_ENGINE_RENDERTARGET_H__
+#include "Math/Rect.hpp"
#include "Texture.h"
#include "Object.h"
+#include "Color.h"
namespace AsuraEngine
{
namespace Graphics
{
+ class Drawable;
+
///
/// ɱΪȾĿ࣬
/// Canvas(RenderTexture)
/// Window(RenderWindow)
///
- class RenderTarget : virtual public Object
+ class RenderTarget : virtual public Object
{
public:
@@ -22,6 +26,26 @@ namespace AsuraEngine
virtual ~RenderTarget() {};
+ ///
+ /// ɫcolRT
+ ///
+ virtual void Clear(const Color& col = Color::Black) = 0;
+
+ ///
+ /// ɫcolղRT
+ ///
+ virtual void Clear(const Math::Recti& quad, const Color& col = Color::Black) = 0;
+
+ ///
+ /// textureRT
+ ///
+ virtual void Draw(const Drawable* texture, const RenderState& state) = 0;
+
+ ///
+ /// һtextureRT
+ ///
+ virtual void Draw(const Drawable* texture, const Math::Recti& quad, const RenderState& state) = 0;
+
};
}