dbf-halloween2015
annotate src/image.h @ 4:4316c0c879e9
fixed RUN script for macosx
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 01 Nov 2015 06:18:18 +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 private: |
nuclear@0 | 6 mutable int tex_width, tex_height; |
nuclear@0 | 7 mutable unsigned int tex; |
nuclear@0 | 8 mutable bool tex_valid; |
nuclear@0 | 9 |
nuclear@0 | 10 public: |
nuclear@0 | 11 int width, height; |
nuclear@0 | 12 unsigned char *pixels; |
nuclear@0 | 13 |
nuclear@0 | 14 Image(); |
nuclear@0 | 15 ~Image(); |
nuclear@0 | 16 |
nuclear@0 | 17 Image(const Image &img); |
nuclear@0 | 18 Image &operator =(const Image &img); |
nuclear@0 | 19 |
nuclear@0 | 20 bool create(int width, int height, unsigned char *pixels = 0); |
nuclear@0 | 21 void destroy(); |
nuclear@0 | 22 |
nuclear@0 | 23 bool load(const char *fname); |
nuclear@0 | 24 bool save(const char *fname) const; |
nuclear@0 | 25 |
nuclear@0 | 26 unsigned int texture() const; |
nuclear@0 | 27 int texture_width() const; |
nuclear@0 | 28 int texture_height() const; |
nuclear@0 | 29 |
nuclear@0 | 30 void invalidate_texture(); |
nuclear@0 | 31 }; |
nuclear@0 | 32 |
nuclear@0 | 33 void clear_image(Image *img); |
nuclear@0 | 34 void clear_image(Image *img, float r, float g, float b, float a = 255); |
nuclear@0 | 35 void clear_image_alpha(Image *img, float a); |
nuclear@0 | 36 |
nuclear@0 | 37 enum ImgCombine { |
nuclear@0 | 38 IMG_OP_ADD, |
nuclear@0 | 39 IMG_OP_SUB, |
nuclear@0 | 40 IMG_OP_MUL, |
nuclear@0 | 41 IMG_OP_LERP |
nuclear@0 | 42 }; |
nuclear@0 | 43 |
nuclear@0 | 44 bool combine_image(Image *dest, const Image *aimg, const Image *bimg, ImgCombine op = IMG_OP_LERP, float t = 0.5); |
nuclear@0 | 45 |
nuclear@0 | 46 void convolve_horiz_image(Image *dest, float *kern, int ksz, float scale = 0.0); |
nuclear@0 | 47 void convolve_vert_image(Image *dest, float *kern, int ksz, float scale = 0.0); |
nuclear@0 | 48 |
nuclear@0 | 49 #endif // IMAGE_H_ |