summaryrefslogtreecommitdiff
path: root/source/libs/asura-lib-core
diff options
context:
space:
mode:
Diffstat (limited to 'source/libs/asura-lib-core')
-rw-r--r--source/libs/asura-lib-core/graphics/image_data.cpp4
-rw-r--r--source/libs/asura-lib-core/graphics/image_data.h22
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