aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/render/image.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/render/image.cpp')
-rw-r--r--src/libjin/render/image.cpp18
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);