Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 1 | #ifndef APISURFACE_H |
2 | #define APISURFACE_H | ||||
3 | |||||
4 | #include <QImage> | ||||
5 | #include <QSize> | ||||
6 | #include <QString> | ||||
7 | |||||
Zack Rusin | a69f0de | 2013-09-12 17:21:51 -0400 | [diff] [blame^] | 8 | namespace image { |
9 | class Image; | ||||
10 | } | ||||
11 | |||||
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 12 | class ApiSurface |
13 | { | ||||
14 | public: | ||||
15 | ApiSurface(); | ||||
16 | |||||
17 | QSize size() const; | ||||
18 | void setSize(const QSize &size); | ||||
19 | |||||
Zack Rusin | b25c4b9 | 2011-11-16 22:43:34 -0500 | [diff] [blame] | 20 | int depth() const; |
21 | void setDepth(int depth); | ||||
22 | |||||
Zack Rusin | e181b99 | 2011-11-17 16:00:41 -0500 | [diff] [blame] | 23 | QString formatName() const; |
24 | void setFormatName(const QString &str); | ||||
25 | |||||
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 26 | void contentsFromBase64(const QByteArray &base64); |
27 | |||||
Zack Rusin | a69f0de | 2013-09-12 17:21:51 -0400 | [diff] [blame^] | 28 | QByteArray base64Data() const; |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 29 | QImage thumb() const; |
30 | |||||
Zack Rusin | a69f0de | 2013-09-12 17:21:51 -0400 | [diff] [blame^] | 31 | static image::Image *imageFromBase64(const QByteArray &data); |
32 | static QImage qimageFromRawImage(const image::Image *img); | ||||
33 | |||||
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 34 | private: |
35 | QSize m_size; | ||||
José Fonseca | b794df1 | 2011-04-12 08:28:45 +0100 | [diff] [blame] | 36 | int m_numChannels; |
Zack Rusin | a69f0de | 2013-09-12 17:21:51 -0400 | [diff] [blame^] | 37 | QByteArray m_base64Data; |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 38 | QImage m_thumb; |
Zack Rusin | b25c4b9 | 2011-11-16 22:43:34 -0500 | [diff] [blame] | 39 | int m_depth; |
Zack Rusin | e181b99 | 2011-11-17 16:00:41 -0500 | [diff] [blame] | 40 | QString m_formatName; |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 41 | }; |
42 | |||||
43 | |||||
44 | class ApiTexture : public ApiSurface | ||||
45 | { | ||||
46 | public: | ||||
47 | ApiTexture(); | ||||
48 | |||||
José Fonseca | 18081d5 | 2011-05-07 00:10:25 +0100 | [diff] [blame] | 49 | QString label() const; |
50 | void setLabel(const QString &str); | ||||
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 51 | |
52 | private: | ||||
José Fonseca | 18081d5 | 2011-05-07 00:10:25 +0100 | [diff] [blame] | 53 | QString m_label; |
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 54 | }; |
55 | |||||
Zack Rusin | a684641 | 2011-04-10 19:51:44 -0400 | [diff] [blame] | 56 | class ApiFramebuffer : public ApiSurface |
57 | { | ||||
58 | public: | ||||
59 | ApiFramebuffer(); | ||||
60 | |||||
61 | QString type() const; | ||||
62 | void setType(const QString &str); | ||||
63 | |||||
64 | private: | ||||
65 | QString m_type; | ||||
66 | |||||
67 | }; | ||||
68 | |||||
Zack Rusin | 952e9d4 | 2011-04-09 23:37:21 -0400 | [diff] [blame] | 69 | #endif |