blob: 3dd0ea58fb54b2434cc94cb549fe22fe5ea1395f [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
37 int unit() const;
38 void setUnit(int un);
39
40 int level() const;
41 void setLevel(int l);
42
43 QString target() const;
44 void setTarget(const QString &str);
45
46private:
47 int m_unit;
48 int m_level;
49 QString m_target;
50};
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