aboutsummaryrefslogtreecommitdiff
path: root/texture.h
diff options
context:
space:
mode:
authorHarry Jeffery <harry@exec64.co.uk>2015-11-10 00:54:24 +0000
committerHarry Jeffery <harry@exec64.co.uk>2015-11-10 00:54:24 +0000
commit7c8c33aa199c5fa8b2cdb85ce57bd9c596da78f4 (patch)
tree8ba3c95d5d5911c1a7ac7c8e78010c9f3fd10206 /texture.h
parent60e9d6f61aa9e12cbbbde8e1d9de3b9455aa1e44 (diff)
downloadimv-7c8c33aa199c5fa8b2cdb85ce57bd9c596da78f4.tar.gz
Add imv_texture object
Diffstat (limited to 'texture.h')
-rw-r--r--texture.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/texture.h b/texture.h
new file mode 100644
index 0000000..cae0d33
--- /dev/null
+++ b/texture.h
@@ -0,0 +1,27 @@
+#ifndef IMV_TEXTURE_H
+#define IMV_TEXTURE_H
+
+#include <SDL2/SDL.h>
+#include <FreeImage.h>
+
+struct imv_texture {
+ int width; //width of the texture overall
+ int height; //height of the texture overall
+ int num_chunks; //number of chunks allocated
+ SDL_Texture **chunks; //array of chunks
+ int num_chunks_wide; //number of chunks per row of the image
+ int num_chunks_tall; //number of chunks per column of the image
+ int chunk_width; //chunk width
+ int chunk_height; //chunk height
+ int last_chunk_width; //width of rightmost chunk
+ int last_chunk_height; //height of bottommost chunk
+ SDL_Renderer *renderer; //SDL renderer to draw to
+};
+
+void imv_init_texture(struct imv_texture *tex, SDL_Renderer *r);
+void imv_destroy_texture(struct imv_texture *tex);
+
+int imv_texture_set_image(struct imv_texture *tex, FIBITMAP *image);
+void imv_texture_draw(struct imv_texture *tex, int x, int y, double scale);
+
+#endif