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