kalzium
labelengine.h
Go to the documentation of this file.00001 /********************************************************************** 00002 LabelEngine - Engine for displaying labels. 00003 00004 Copyright (C) 2007 Donald Ephraim Curtis <donald-curtis@uiowa.edu> 00005 Copyright (C) 2007 Benoit Jacob <jacob@math.jussieu.fr> 00006 00007 This file is part of the Avogadro molecular editor project. 00008 For more information, see <http://avogadro.sourceforge.net/> 00009 00010 Avogadro is free software; you can redistribute it and/or modify 00011 it under the terms of the GNU General Public License as published by 00012 the Free Software Foundation; either version 2 of the License, or 00013 (at your option) any later version. 00014 00015 Avogadro is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU General Public License for more details. 00019 00020 You should have received a copy of the GNU General Public License 00021 along with this program; if not, write to the Free Software 00022 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00023 02110-1301, USA. 00024 **********************************************************************/ 00025 00026 #ifndef __LABELENGINE_H 00027 #define __LABELENGINE_H 00028 00029 #include <avogadro/global.h> 00030 #include <avogadro/engine.h> 00031 00032 #include <openbabel/mol.h> 00033 00034 #include <QGLWidget> 00035 #include <QObject> 00036 #include <QImage> 00037 00038 namespace Avogadro { 00039 00041 class LabelEngine : public Engine 00042 { 00043 Q_OBJECT 00044 00045 public: 00047 LabelEngine(QObject *parent=0) : Engine(parent) {} 00049 ~LabelEngine() {} 00050 00052 00053 00054 QString name() { return(QString(tr("Label"))); } 00056 QString description() { return(QString(tr("Renders primitive labels"))); } 00058 00060 00061 bool render(GLWidget *gl); 00063 00064 }; 00065 00067 class LabelEngineFactory : public QObject, public EngineFactory 00068 { 00069 Q_OBJECT 00070 Q_INTERFACES(Avogadro::EngineFactory) 00071 00072 public: 00073 Engine *createInstance(QObject *parent = 0) { return new LabelEngine(parent); } 00074 }; 00075 00076 } // end namespace Avogadro 00077 00078 #endif
KDE 4.0 API Reference