diff options
Diffstat (limited to 'source/libs/asura-lib-core')
-rw-r--r-- | source/libs/asura-lib-core/graphics/image_data.cpp | 4 | ||||
-rw-r--r-- | source/libs/asura-lib-core/graphics/image_data.h | 22 |
2 files changed, 15 insertions, 11 deletions
diff --git a/source/libs/asura-lib-core/graphics/image_data.cpp b/source/libs/asura-lib-core/graphics/image_data.cpp index 28c706a..b79dfab 100644 --- a/source/libs/asura-lib-core/graphics/image_data.cpp +++ b/source/libs/asura-lib-core/graphics/image_data.cpp @@ -16,7 +16,7 @@ namespace AsuraEngine new STBDecoder() // jpeg, tga, bmp }; - ImageData::ImageData(const Filesystem::DataBuffer& buffer) + ImageData::ImageData(const IO::DataBuffer& buffer) : DecodedData(buffer) { } @@ -30,7 +30,7 @@ namespace AsuraEngine /// /// ɹ׳쳣 /// - void ImageData::Decode(const Filesystem::DataBuffer& buffer) + void ImageData::Decode(const IO::DataBuffer& buffer) { for (ImageDecoder* decoder : ImageDecoders) { 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 |