vrshoot
annotate src/image.h @ 2:334d17aed7de
visual studio project files
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 02 Feb 2014 18:36:38 +0200 |
parents | |
children |
rev | line source |
---|---|
nuclear@0 | 1 #ifndef IMAGE_H_ |
nuclear@0 | 2 #define IMAGE_H_ |
nuclear@0 | 3 |
nuclear@0 | 4 class Image { |
nuclear@0 | 5 public: |
nuclear@0 | 6 enum Format { |
nuclear@0 | 7 FMT_GREY, |
nuclear@0 | 8 FMT_RGB, |
nuclear@0 | 9 FMT_RGBA, |
nuclear@0 | 10 FMT_GREY_FLOAT, |
nuclear@0 | 11 FMT_RGB_FLOAT, |
nuclear@0 | 12 FMT_RGBA_FLOAT |
nuclear@0 | 13 }; |
nuclear@0 | 14 |
nuclear@0 | 15 private: |
nuclear@0 | 16 Format fmt; |
nuclear@0 | 17 int width, height; |
nuclear@0 | 18 void *pixels; |
nuclear@0 | 19 |
nuclear@0 | 20 public: |
nuclear@0 | 21 Image(); |
nuclear@0 | 22 ~Image(); |
nuclear@0 | 23 |
nuclear@0 | 24 int get_width() const; |
nuclear@0 | 25 int get_height() const; |
nuclear@0 | 26 |
nuclear@0 | 27 Format get_format() const; |
nuclear@0 | 28 |
nuclear@0 | 29 bool create(int x, int y, Format fmt = FMT_RGBA); |
nuclear@0 | 30 bool set_pixels(int xsz, int ysz, void *pixels, Format fmt = FMT_RGBA); |
nuclear@0 | 31 bool set_pixels(int xsz, int ysz, void *pixels, int scan_width, Format fmt = FMT_RGBA); |
nuclear@0 | 32 bool set_pixels(int xsz, int ysz, void *pixels, int x, int y, int scan_width = -1, Format fmt = FMT_RGBA); |
nuclear@0 | 33 void *get_pixels() const; |
nuclear@0 | 34 |
nuclear@0 | 35 void flip_horizontal(); |
nuclear@0 | 36 void flip_vertical(); |
nuclear@0 | 37 void rotate_180(); |
nuclear@0 | 38 |
nuclear@0 | 39 bool load(const char *fname); |
nuclear@0 | 40 bool save(const char *fname) const; |
nuclear@0 | 41 }; |
nuclear@0 | 42 |
nuclear@0 | 43 #endif // IMAGE_H_ |