blob: bdf21a38a040d2255f0dc3282a99aa0ebfddd12a [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 Rusin952e9d42011-04-09 23:37:21 -040019 void contentsFromBase64(const QByteArray &base64);
20
21 QImage image() const;
22 QImage thumb() const;
23
24private:
25 QSize m_size;
José Fonsecab794df12011-04-12 08:28:45 +010026 int m_numChannels;
Zack Rusin952e9d42011-04-09 23:37:21 -040027 QImage m_image;
28 QImage m_thumb;
29};
30
31
32class ApiTexture : public ApiSurface
33{
34public:
35 ApiTexture();
36
José Fonseca18081d52011-05-07 00:10:25 +010037 QString label() const;
38 void setLabel(const QString &str);
Zack Rusin952e9d42011-04-09 23:37:21 -040039
40private:
José Fonseca18081d52011-05-07 00:10:25 +010041 QString m_label;
Zack Rusin952e9d42011-04-09 23:37:21 -040042};
43
Zack Rusina6846412011-04-10 19:51:44 -040044class ApiFramebuffer : public ApiSurface
45{
46public:
47 ApiFramebuffer();
48
49 QString type() const;
50 void setType(const QString &str);
51
52private:
53 QString m_type;
54
55};
56
Zack Rusin952e9d42011-04-09 23:37:21 -040057#endif