From 8164adb15b76f537f8b6c78b9992786b61d61cc8 Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 30 Mar 2019 21:49:29 +0800 Subject: *misc --- source/modules/asura-core/graphics/image_data.cpp | 28 ++++++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'source/modules/asura-core/graphics/image_data.cpp') diff --git a/source/modules/asura-core/graphics/image_data.cpp b/source/modules/asura-core/graphics/image_data.cpp index b79dfab..64f83a8 100644 --- a/source/modules/asura-core/graphics/image_data.cpp +++ b/source/modules/asura-core/graphics/image_data.cpp @@ -16,8 +16,12 @@ namespace AsuraEngine new STBDecoder() // jpeg, tga, bmp }; - ImageData::ImageData(const IO::DataBuffer& buffer) - : DecodedData(buffer) + ImageData::ImageData() + : pixels(nullptr) + , size(0) + , width(0) + , height(0) + , format(COLOR_FORMAT_UNKNOWN) { } @@ -27,10 +31,12 @@ namespace AsuraEngine delete[] pixels; } - /// - /// 解析,如果无法成功,抛出异常 - /// - void ImageData::Decode(const IO::DataBuffer& buffer) + ImageData::operator bool() + { + return size > 0; + } + + void ImageData::Decode(IO::DataBuffer& buffer) { for (ImageDecoder* decoder : ImageDecoders) { @@ -46,6 +52,16 @@ namespace AsuraEngine { } + + void ImageData::Lock() + { + mMutex.Lock(); + } + + void ImageData::Unlock() + { + mMutex.Unlock(); + } } } \ No newline at end of file -- cgit v1.1-26-g67d0