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