Jose Fonseca | 9653f95 | 2015-05-19 16:32:43 +0100 | [diff] [blame] | 1 | #pragma once |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 2 | |
3 | #include <QImage> | ||||
4 | #include <QSize> | ||||
5 | #include <QString> | ||||
6 | |||||
Zack Rusin | a69f0de | 2013-09-12 17:21:51 -0400 | [diff] [blame] | 7 | namespace image { |
8 | class Image; | ||||
9 | } | ||||
10 | |||||
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 11 | class ApiSurface |
12 | { | ||||
13 | public: | ||||
14 | ApiSurface(); | ||||
15 | |||||
16 | QSize size() const; | ||||
17 | void setSize(const QSize &size); | ||||
18 | |||||
Zack Rusin | b25c4b9 | 2011-11-16 22:43:34 -0500 | [diff] [blame] | 19 | int depth() const; |
20 | void setDepth(int depth); | ||||
21 | |||||
Zack Rusin | e181b99 | 2011-11-17 16:00:41 -0500 | [diff] [blame] | 22 | QString formatName() const; |
23 | void setFormatName(const QString &str); | ||||
24 | |||||
Jose Fonseca | 93a7c0c | 2015-05-27 20:52:51 +0100 | [diff] [blame] | 25 | void setData(const QByteArray &data); |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 26 | |
Jose Fonseca | 93a7c0c | 2015-05-27 20:52:51 +0100 | [diff] [blame] | 27 | QByteArray data() const; |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 28 | QImage thumb() const; |
29 | |||||
Jose Fonseca | 93a7c0c | 2015-05-27 20:52:51 +0100 | [diff] [blame] | 30 | static image::Image *imageFromData(const QByteArray &data); |
José Fonseca | 36509be | 2013-09-17 15:22:50 +0100 | [diff] [blame] | 31 | static QImage qimageFromRawImage(const image::Image *img, |
32 | float lowerValue = 0.0f, | ||||
33 | float upperValue = 1.0f, | ||||
34 | bool opaque = false, | ||||
35 | bool alpha = false); | ||||
Zack Rusin | a69f0de | 2013-09-12 17:21:51 -0400 | [diff] [blame] | 36 | |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 37 | private: |
38 | QSize m_size; | ||||
Jose Fonseca | 93a7c0c | 2015-05-27 20:52:51 +0100 | [diff] [blame] | 39 | QByteArray m_data; |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 40 | QImage m_thumb; |
Zack Rusin | b25c4b9 | 2011-11-16 22:43:34 -0500 | [diff] [blame] | 41 | int m_depth; |
Zack Rusin | e181b99 | 2011-11-17 16:00:41 -0500 | [diff] [blame] | 42 | QString m_formatName; |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 43 | }; |
44 | |||||
45 | |||||
46 | class ApiTexture : public ApiSurface | ||||
47 | { | ||||
48 | public: | ||||
49 | ApiTexture(); | ||||
50 | |||||
José Fonseca | 18081d5 | 2011-05-07 00:10:25 +0100 | [diff] [blame] | 51 | QString label() const; |
52 | void setLabel(const QString &str); | ||||
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 53 | |
54 | private: | ||||
José Fonseca | 18081d5 | 2011-05-07 00:10:25 +0100 | [diff] [blame] | 55 | QString m_label; |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 56 | }; |
57 | |||||
Zack Rusin | a684641 | 2011-04-10 19:51:44 -0400 | [diff] [blame] | 58 | class ApiFramebuffer : public ApiSurface |
59 | { | ||||
60 | public: | ||||
61 | ApiFramebuffer(); | ||||
62 | |||||
63 | QString type() const; | ||||
64 | void setType(const QString &str); | ||||
65 | |||||
66 | private: | ||||
67 | QString m_type; | ||||
68 | |||||
69 | }; |