some fixes to the cmake files. It still is not working
[kdeedu-porting.git] / kalzium / libavogadro-kalzium / src / painterdevice.h
blobf8ba9c1f52fb5edd004b58b6ebb25f7130bfecc2
1 /**********************************************************************
2 PainterDevice - Painter Device base class.
4 Copyright (C) 2007,2008 Marcus D. Hanwell
6 This file is part of the Avogadro molecular editor project.
7 For more information, see <http://avogadro.sourceforge.net/>
9 Avogadro is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 Avogadro is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 02110-1301, USA.
23 **********************************************************************/
25 #ifndef __PAINTERDEVICE_H
26 #define __PAINTERDEVICE_H
28 #include <avogadro/painter.h>
30 namespace Avogadro {
32 class Camera;
33 class Primitive;
34 class Molecule;
35 class Color;
37 class PainterDevice
39 public:
40 PainterDevice() {}
41 virtual ~PainterDevice() {}
43 virtual Painter *painter() const = 0;
44 virtual Camera *camera() const = 0;
45 virtual bool isSelected( const Primitive *p ) const = 0;
46 virtual double radius( const Primitive *p ) const = 0;
47 virtual const Molecule *molecule() const = 0;
48 virtual Color* colorMap() const = 0;
50 virtual int width() = 0;
51 virtual int height() = 0;
54 } // End namespace Avogadro
56 #endif