diff options
Diffstat (limited to 'src/lua/graphics/Image.h')
-rw-r--r-- | src/lua/graphics/Image.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/lua/graphics/Image.h b/src/lua/graphics/Image.h new file mode 100644 index 0000000..689793a --- /dev/null +++ b/src/lua/graphics/Image.h @@ -0,0 +1,59 @@ +#ifndef __JIN_LUA_GRAPHICS_IMAGE_H +#define __JIN_LUA_GRAPHICS_IMAGE_H +#include "libjin/jin.h" +#include "../luaopen_types.h" + +namespace jin +{ +namespace lua +{ +namespace graphics +{ + + class Image : public Object + { + public: + static Image* createImage(const char* file); + static Image* createImage(const void* mem, size_t size); + + int getWidth() + { + return image->getWidth(); + } + int getHeight() + { + return image->getHeight(); + } + void setAnchor(int x, int y) + { + image->setAnchor(x, y); + } + jin::graphics::color getPixel(int x, int y) + { + return image->getPixel(x, y); + } + inline const jin::graphics::Texture* getRawImage() const + { + return image; + } + + void draw(int x, int y, float sx, float sy, float r) + { + image->draw(x, y, sx, sy, r); + } + + private: + ~Image() + { + delete image; + } + + jin::graphics::Texture* image; + + }; + +} // graphics +} // lua +} // jin + +#endif
\ No newline at end of file |