// Copyright 2008 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU Library General Public License as
// published by the Free Software Foundation; either version 2, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details

// You should have received a copy of the GNU Library General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

//force

%Feature PyKDE_GLuint

%If (PyKDE_GLuint)
typedef unsigned int GLuint;
typedef unsigned int GLenum;
%End

namespace Plasma
{

//force
class GLApplet : Plasma::Applet
{
//force
%TypeHeaderCode
#include <plasma/glapplet.h>
%End
public:
                            GLApplet (QGraphicsItem* parent, const QString& serviceId, int appletId);
                            GLApplet (QObject* parent /TransferThis/, const QVariantList& args);


//mt undefined symbol: GLenum target -- need mapped type?
//mt undefined symbol: GLuint None -- need mapped type?
//mt     GLuint             bindTexture (const QImage& image, GLenum target = GL_TEXTURE_2D);




//mt undefined symbol: GLuint texture_id -- need mapped type?
//mt     void               deleteTexture (GLuint texture_id);


    virtual void            paintGLInterface (QPainter* painter, const QStyleOptionGraphicsItem* option);
    void                    makeCurrent ();
    ~GLApplet ();
    GLuint                  bindTexture (const QImage& image, GLenum target = GL_TEXTURE_2D);
    void                    deleteTexture (GLuint texture_id);

private:
    virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*);
    virtual void paintInterface(QPainter*, const QStyleOptionGraphicsItem*, const QRect&);
//end
};
// GLApplet

//end
};
// Plasma


//end
