blob: bc403af27409c103deeeb431710a67238f6481f1 [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
8class ApiSurface
9{
10public:
11 ApiSurface();
12
13 QSize size() const;
14 void setSize(const QSize &size);
15
José Fonsecab794df12011-04-12 08:28:45 +010016 int numChannels() const;
17 void setNumChannels(int numChannels);
18
Zack Rusinb25c4b92011-11-16 22:43:34 -050019 int depth() const;
20 void setDepth(int depth);
21
Zack Rusine181b992011-11-17 16:00:41 -050022 QString formatName() const;
23 void setFormatName(const QString &str);
24
Zack Rusin952e9d42011-04-09 23:37:21 -040025 void contentsFromBase64(const QByteArray &base64);
26
27 QImage image() const;
28 QImage thumb() const;
29
30private:
31 QSize m_size;
José Fonsecab794df12011-04-12 08:28:45 +010032 int m_numChannels;
Zack Rusin952e9d42011-04-09 23:37:21 -040033 QImage m_image;
34 QImage m_thumb;
Zack Rusinb25c4b92011-11-16 22:43:34 -050035 int m_depth;
Zack Rusine181b992011-11-17 16:00:41 -050036 QString m_formatName;
Zack Rusin952e9d42011-04-09 23:37:21 -040037};
38
39
40class ApiTexture : public ApiSurface
41{
42public:
43 ApiTexture();
44
José Fonseca18081d52011-05-07 00:10:25 +010045 QString label() const;
46 void setLabel(const QString &str);
Zack Rusin952e9d42011-04-09 23:37:21 -040047
48private:
José Fonseca18081d52011-05-07 00:10:25 +010049 QString m_label;
Zack Rusin952e9d42011-04-09 23:37:21 -040050};
51
Zack Rusina6846412011-04-10 19:51:44 -040052class ApiFramebuffer : public ApiSurface
53{
54public:
55 ApiFramebuffer();
56
57 QString type() const;
58 void setType(const QString &str);
59
60private:
61 QString m_type;
62
63};
64
Zack Rusin952e9d42011-04-09 23:37:21 -040065#endif