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
00034 class PLASMA_EXPORT GLApplet : public Applet
00035 {
00036 Q_OBJECT
00037
00038 public:
00046 GLApplet(QGraphicsItem *parent,
00047 const QString &serviceId,
00048 int appletId);
00049
00060 GLApplet(QObject *parent, const QVariantList &args);
00061
00062 ~GLApplet();
00063
00064 GLuint bindTexture(const QImage &image, GLenum target = GL_TEXTURE_2D);
00065 void deleteTexture(GLuint texture_id);
00066
00072 virtual void paintGLInterface(QPainter *painter,
00073 const QStyleOptionGraphicsItem *option);
00074 void makeCurrent();
00075 private:
00076 virtual void paintInterface(QPainter *painter,
00077 const QStyleOptionGraphicsItem *option,
00078 const QRect &contentsRect);
00079 private:
00080 class Private;
00081 Private *const d;
00082 };
00083
00084 }
00085
00086 #endif