libplasma
glapplet.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PLASMA_GLAPPLET_H
00021 #define PLASMA_GLAPPLET_H
00022
00023 #include <plasma/applet.h>
00024
00025 #include <QtOpenGL/QGLWidget>
00026
00027 namespace Plasma
00028 {
00029
00030 class GLAppletPrivate;
00031
00036 class PLASMA_EXPORT GLApplet : public Applet
00037 {
00038 Q_OBJECT
00039
00040 public:
00048 GLApplet(QGraphicsItem *parent,
00049 const QString &serviceId,
00050 int appletId);
00051
00062 GLApplet(QObject *parent, const QVariantList &args);
00063
00064 ~GLApplet();
00065
00066 GLuint bindTexture(const QImage &image, GLenum target = GL_TEXTURE_2D);
00067 void deleteTexture(GLuint texture_id);
00068
00074 virtual void paintGLInterface(QPainter *painter,
00075 const QStyleOptionGraphicsItem *option);
00076 void makeCurrent();
00077 private:
00078 virtual void paintInterface(QPainter *painter,
00079 const QStyleOptionGraphicsItem *option,
00080 const QRect &contentsRect);
00081 private:
00082 GLAppletPrivate *const d;
00083 };
00084
00085 }
00086
00087 #endif