diff options
Diffstat (limited to 'source/libs/asura-lib-core/graphics/image_data.h')
-rw-r--r-- | source/libs/asura-lib-core/graphics/image_data.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/source/libs/asura-lib-core/graphics/image_data.h b/source/libs/asura-lib-core/graphics/image_data.h index 53a9e85..820e276 100644 --- a/source/libs/asura-lib-core/graphics/image_data.h +++ b/source/libs/asura-lib-core/graphics/image_data.h @@ -4,8 +4,9 @@ #include <list> #include <asura-lib-utils/scripting/portable.hpp> -#include <asura-lib-utils/filesystem/decoded_data.h> -#include <asura-lib-utils/filesystem/data_buffer.h> +#include <asura-lib-utils/io/decoded_data.h> +#include <asura-lib-utils/io/data_buffer.h> +#include <asura-lib-utils/threading/thread.h> #include "pixel_format.h" #include "color.h" @@ -18,17 +19,22 @@ namespace AsuraEngine class ImageDecoder; class ImageData ASURA_FINAL - : public Filesystem::DecodedData + : public AEIO::DecodedData , public Scripting::Portable<ImageData> { public: + LUAX_DECL_FACTORY(ImageData); + /// /// ͼƬļϢʧܣ׳쳣 /// - ImageData(const Filesystem::DataBuffer& buffer); + ImageData(const AEIO::DataBuffer& buffer); ~ImageData(); + void Load(const AEIO::DataBuffer& buffer); + void LoadAsync(const AEIO::DataBuffer& buffer, AEThreading::Thread* thread); + Color GetPixel(uint x, uint y); uint width, height; @@ -38,17 +44,13 @@ namespace AsuraEngine private: - void Decode(const Filesystem::DataBuffer& buffer) override; + void Decode(const AEIO::DataBuffer& buffer) override; /// /// ڵһimage dataʱṩdecoderڼdecodersмѡԡ /// static std::list<ImageDecoder*> ImageDecoders; - public: - - LUAX_DECL_FACTORY(ImageData); - LUAX_DECL_METHOD(_New); LUAX_DECL_METHOD(_GetPixel); LUAX_DECL_METHOD(_GetSize); @@ -61,4 +63,6 @@ namespace AsuraEngine } } +namespace AEGraphics = AsuraEngine::Graphics; + #endif
\ No newline at end of file |