blob: 79afaf927ca5ccc9780b0de69dfb430d0e8814d4 [file] [log] [blame]
Zack Rusin952e9d42011-04-09 23:37:21 -04001#ifndef APISURFACE_H
2#define APISURFACE_H
3
4#include <QImage>
5#include <QSize>
6#include <QString>
7
Zack Rusina69f0de2013-09-12 17:21:51 -04008namespace image {
9 class Image;
10}
11
Zack Rusin952e9d42011-04-09 23:37:21 -040012class ApiSurface
13{
14public:
15 ApiSurface();
16
17 QSize size() const;
18 void setSize(const QSize &size);
19
Zack Rusinb25c4b92011-11-16 22:43:34 -050020 int depth() const;
21 void setDepth(int depth);
22
Zack Rusine181b992011-11-17 16:00:41 -050023 QString formatName() const;
24 void setFormatName(const QString &str);
25
Zack Rusin952e9d42011-04-09 23:37:21 -040026 void contentsFromBase64(const QByteArray &base64);
27
Zack Rusina69f0de2013-09-12 17:21:51 -040028 QByteArray base64Data() const;
Zack Rusin952e9d42011-04-09 23:37:21 -040029 QImage thumb() const;
30
Zack Rusina69f0de2013-09-12 17:21:51 -040031 static image::Image *imageFromBase64(const QByteArray &data);
32 static QImage qimageFromRawImage(const image::Image *img);
33
Zack Rusin952e9d42011-04-09 23:37:21 -040034private:
35 QSize m_size;
José Fonsecab794df12011-04-12 08:28:45 +010036 int m_numChannels;
Zack Rusina69f0de2013-09-12 17:21:51 -040037 QByteArray m_base64Data;
Zack Rusin952e9d42011-04-09 23:37:21 -040038 QImage m_thumb;
Zack Rusinb25c4b92011-11-16 22:43:34 -050039 int m_depth;
Zack Rusine181b992011-11-17 16:00:41 -050040 QString m_formatName;
Zack Rusin952e9d42011-04-09 23:37:21 -040041};
42
43
44class ApiTexture : public ApiSurface
45{
46public:
47 ApiTexture();
48
José Fonseca18081d52011-05-07 00:10:25 +010049 QString label() const;
50 void setLabel(const QString &str);
Zack Rusin952e9d42011-04-09 23:37:21 -040051
52private:
José Fonseca18081d52011-05-07 00:10:25 +010053 QString m_label;
Zack Rusin952e9d42011-04-09 23:37:21 -040054};
55
Zack Rusina6846412011-04-10 19:51:44 -040056class ApiFramebuffer : public ApiSurface
57{
58public:
59 ApiFramebuffer();
60
61 QString type() const;
62 void setType(const QString &str);
63
64private:
65 QString m_type;
66
67};
68
Zack Rusin952e9d42011-04-09 23:37:21 -040069#endif