diff options
Diffstat (limited to 'Source/Asura.Engine/Graphics/Image.h')
-rw-r--r-- | Source/Asura.Engine/Graphics/Image.h | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/Source/Asura.Engine/Graphics/Image.h b/Source/Asura.Engine/Graphics/Image.h index 391d1c4..da881aa 100644 --- a/Source/Asura.Engine/Graphics/Image.h +++ b/Source/Asura.Engine/Graphics/Image.h @@ -1,13 +1,12 @@ #ifndef __ASURA_ENGINE_IMAGE_H__ #define __ASURA_ENGINE_IMAGE_H__ -#include "Math/Vector2.h" #include "StringMap.hpp" #include "Manager.hpp" #include "Texture.h" #include "Color.h" #include "Factory.h" -#include "SimClass.h" +#include "ImageData.h" namespace AsuraEngine { @@ -20,7 +19,7 @@ namespace AsuraEngine /// ImageͼƬڴȡϷĽһImageڴ桢ԴֻᱣһݣҪ /// imageêλãźתǶȣʹspriteһֻࡣҪǿǵeditorengineʹòͬķװ /// - class Image final : public Texture, public SimClass + class Image final : public Drawable, public Scripting::Portable { public: @@ -28,10 +27,10 @@ namespace AsuraEngine ~Image(); /// - /// bufferimagemPixelsΪգݡ¹imageʹglTexImage2Dύimage - /// ݡ + /// bufferimageϢmPixelsΪգݡ¹imageʹglTexImage2Dύimage + /// ݡ /// - bool Load(const void* data, size_t size); + bool Load(const ImageData* data); uint GetWidth(); uint GetHeight(); @@ -39,11 +38,11 @@ namespace AsuraEngine /// /// ijһλõ /// - Color GetPixel(uint x, uint y); + Color32 GetPixel(uint x, uint y); - void Render(int x, int y, int sx, int sy, int ox, int oy, int r) override; + virtual void Render(const RenderTarget* rt, const RenderState& state) override; - void Render(const Math::Rect& quad, int x, int y, int sx, int sy, int ox, int oy, int r) override; + virtual void Render(const RenderTarget* rt, const Math::Rectf& quad, const RenderState& state) override; //---------------------------------------------------------------------------------------------------------- @@ -58,12 +57,7 @@ namespace AsuraEngine private: - /// - /// СΪλ - /// - uint mWidth, mHeight; - - Color* mPixels; + const ImageData* mImageData; }; |