diff options
Diffstat (limited to 'src/libjin/render/image.cpp')
-rw-r--r-- | src/libjin/render/image.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/libjin/render/image.cpp b/src/libjin/render/image.cpp index b27b9a6..5de997a 100644 --- a/src/libjin/render/image.cpp +++ b/src/libjin/render/image.cpp @@ -1,23 +1,27 @@ #include "image.h" #include "3rdparty/stb/stb_image.h" #include "../utils/utils.h" + namespace jin { namespace render { - Image::Image(): Drawable(), pixels(0) + + Image::Image(const char* file) + : Drawable(), pixels(0) { + loadf(file); } - Image::~Image() + Image::Image(const char* buffer, size_t size) + : Drawable(), pixels(0) { - stbi_image_free(pixels); + loadb(buffer, size); } - void Image::init() + Image::~Image() { - Drawable::init(); - pixels = 0; + stbi_image_free(pixels); } color Image::getPixel(int x, int y) @@ -61,7 +65,7 @@ namespace render return true; } - bool Image::loadb(const char* b, int size) + bool Image::loadb(const char* b, size_t size) { // ʹstbi_load_from_memory unsigned char* imageData = stbi_load_from_memory((unsigned char *)b, size, &width, &height, NULL, STBI_rgb_alpha); |