Chemical Data Processing Library C++ API - Version 1.2.0
Vis/AtomFunctions.hpp
Go to the documentation of this file.
1 /*
2  * AtomFunctions.hpp
3  *
4  * This file is part of the Chemical Data Processing Toolkit
5  *
6  * Copyright (C) 2003 Thomas Seidel <thomas.seidel@univie.ac.at>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; see the file COPYING. If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23 
29 #ifndef CDPL_VIS_ATOMFUNCTIONS_HPP
30 #define CDPL_VIS_ATOMFUNCTIONS_HPP
31 
32 #include <string>
33 
34 #include "CDPL/Vis/APIPrefix.hpp"
35 
36 
37 namespace CDPL
38 {
39 
40  namespace Chem
41  {
42 
43  class Atom;
44  }
45 
46  namespace Vis
47  {
48 
49  class Color;
50  class Font;
51  class Brush;
52  class Pen;
53  class SizeSpecification;
54 
55  CDPL_VIS_API const Color& getColor(const Chem::Atom& atom);
56 
57  CDPL_VIS_API void setColor(Chem::Atom& atom, const Color& color);
58 
59  CDPL_VIS_API bool hasColor(const Chem::Atom& atom);
60 
62 
63 
65 
66  CDPL_VIS_API void setLabelFont(Chem::Atom& atom, const Font& font);
67 
69 
71 
72 
74 
76 
78 
80 
81 
83 
85 
87 
89 
90 
92 
94 
96 
98 
99 
101 
103 
105 
107 
108 
110 
112 
114 
116 
117  /*
118  * \since 1.1
119  */
121 
123 
125 
127 
128  /*
129  * \since 1.1
130  */
132 
134 
136 
138 
139  /*
140  * \since 1.2
141  */
143 
145 
147 
149 
150  /*
151  * \since 1.2
152  */
154 
155  CDPL_VIS_API void setCustomLabelFont(Chem::Atom& atom, const Font& font);
156 
158 
160 
161  /*
162  * \since 1.2
163  */
165 
167 
169 
171 
172  /*
173  * \since 1.2
174  */
176 
178 
180 
182 
183  /*
184  * \since 1.2
185  */
186  CDPL_VIS_API const std::string& getCustomLabel(const Chem::Atom& atom);
187 
188  CDPL_VIS_API void setCustomLabel(Chem::Atom& atom, const std::string& text);
189 
191 
193 
194  /*
195  * \since 1.2
196  */
198 
199  CDPL_VIS_API void setHighlightedFlag(Chem::Atom& atom, bool highlighted);
200 
202 
204 
205  /*
206  * \since 1.2
207  */
209 
211 
213 
215 
216  /*
217  * \since 1.2
218  */
220 
222 
224 
226 
227  } // namespace Vis
228 } // namespace CDPL
229 
230 #endif // CDPL_VIS_ATOMFUNCTIONS_HPP
Definition of the preprocessor macro CDPL_VIS_API.
#define CDPL_VIS_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Atom.
Definition: Atom.hpp:52
Specifies the fill pattern and fill color of shapes.
Definition: Brush.hpp:50
Specifies a color in terms of its red, green and blue components and an alpha-channel for transparenc...
Definition: Color.hpp:52
Specifies a font for drawing text.
Definition: Font.hpp:54
Specifies how to draw lines and outlines of shapes.
Definition: Pen.hpp:53
Specifies the value and type of a size attribute and defines how the value may change during processi...
Definition: SizeSpecification.hpp:45
CDPL_VIS_API bool hasSecondaryLabelFont(const Chem::Atom &atom)
CDPL_VIS_API const std::string & getCustomLabel(const Chem::Atom &atom)
CDPL_VIS_API void clearCustomLabel(Chem::Atom &atom)
CDPL_VIS_API const Color & getCustomLabelColor(const Chem::Atom &atom)
CDPL_VIS_API void setCustomLabelSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL_VIS_API bool hasSecondaryLabelSize(const Chem::Atom &atom)
CDPL_VIS_API void clearConfigurationLabelFont(Chem::Atom &atom)
CDPL_VIS_API void setColor(Chem::Atom &atom, const Color &color)
CDPL_VIS_API void setConfigurationLabelFont(Chem::Atom &atom, const Font &font)
CDPL_VIS_API bool hasConfigurationLabelFont(const Chem::Atom &atom)
CDPL_VIS_API void clearLabelFont(Chem::Atom &atom)
CDPL_VIS_API void clearHighlightedFlag(Chem::Atom &atom)
CDPL_VIS_API bool hasColor(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getLabelMargin(const Chem::Atom &atom)
CDPL_VIS_API void clearCustomLabelSize(Chem::Atom &atom)
CDPL_VIS_API void clearConfigurationLabelSize(Chem::Atom &atom)
CDPL_VIS_API void setHighlightAreaBrush(Chem::Atom &atom, const Brush &brush)
CDPL_VIS_API void setHighlightAreaOutlinePen(Chem::Atom &atom, const Pen &pen)
CDPL_VIS_API const SizeSpecification & getRadicalElectronDotSize(const Chem::Atom &atom)
CDPL_VIS_API void clearCustomLabelColor(Chem::Atom &atom)
CDPL_VIS_API void clearSecondaryLabelFont(Chem::Atom &atom)
CDPL_VIS_API const Color & getConfigurationLabelColor(const Chem::Atom &atom)
CDPL_VIS_API const Font & getConfigurationLabelFont(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getCustomLabelSize(const Chem::Atom &atom)
CDPL_VIS_API const Font & getLabelFont(const Chem::Atom &atom)
CDPL_VIS_API bool hasLabelSize(const Chem::Atom &atom)
CDPL_VIS_API const Color & getColor(const Chem::Atom &atom)
CDPL_VIS_API void clearLabelSize(Chem::Atom &atom)
CDPL_VIS_API void setRadicalElectronDotSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL_VIS_API void setLabelSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL_VIS_API void setSecondaryLabelSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL_VIS_API void clearHighlightAreaBrush(Chem::Atom &atom)
CDPL_VIS_API bool hasRadicalElectronDotSize(const Chem::Atom &atom)
CDPL_VIS_API void setLabelFont(Chem::Atom &atom, const Font &font)
CDPL_VIS_API void clearLabelMargin(Chem::Atom &atom)
CDPL_VIS_API bool hasCustomLabel(const Chem::Atom &atom)
CDPL_VIS_API void clearHighlightAreaOutlinePen(Chem::Atom &atom)
CDPL_VIS_API bool getHighlightedFlag(const Chem::Atom &atom)
CDPL_VIS_API void clearConfigurationLabelColor(Chem::Atom &atom)
CDPL_VIS_API void setLabelMargin(Chem::Atom &atom, const SizeSpecification &margin)
CDPL_VIS_API const Font & getSecondaryLabelFont(const Chem::Atom &atom)
CDPL_VIS_API void setCustomLabelFont(Chem::Atom &atom, const Font &font)
CDPL_VIS_API bool hasLabelMargin(const Chem::Atom &atom)
CDPL_VIS_API bool hasCustomLabelColor(const Chem::Atom &atom)
CDPL_VIS_API void setHighlightedFlag(Chem::Atom &atom, bool highlighted)
CDPL_VIS_API bool hasHighlightAreaOutlinePen(const Chem::Atom &atom)
CDPL_VIS_API void setCustomLabel(Chem::Atom &atom, const std::string &text)
CDPL_VIS_API const Brush & getHighlightAreaBrush(const Chem::Atom &atom)
CDPL_VIS_API bool hasLabelFont(const Chem::Atom &atom)
CDPL_VIS_API bool hasCustomLabelSize(const Chem::Atom &atom)
CDPL_VIS_API void setSecondaryLabelFont(Chem::Atom &atom, const Font &)
CDPL_VIS_API const SizeSpecification & getLabelSize(const Chem::Atom &atom)
CDPL_VIS_API void clearSecondaryLabelSize(Chem::Atom &atom)
CDPL_VIS_API bool hasCustomLabelFont(const Chem::Atom &atom)
CDPL_VIS_API const Pen & getHighlightAreaOutlinePen(const Chem::Atom &atom)
CDPL_VIS_API void setConfigurationLabelColor(Chem::Atom &atom, const Color &color)
CDPL_VIS_API void clearRadicalElectronDotSize(Chem::Atom &atom)
CDPL_VIS_API bool hasConfigurationLabelColor(const Chem::Atom &atom)
CDPL_VIS_API void setCustomLabelColor(Chem::Atom &atom, const Color &color)
CDPL_VIS_API void setConfigurationLabelSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL_VIS_API void clearColor(Chem::Atom &atom)
CDPL_VIS_API bool hasHighlightAreaBrush(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getConfigurationLabelSize(const Chem::Atom &atom)
CDPL_VIS_API void clearCustomLabelFont(Chem::Atom &atom)
CDPL_VIS_API bool hasHighlightedFlag(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getSecondaryLabelSize(const Chem::Atom &atom)
CDPL_VIS_API bool hasConfigurationLabelSize(const Chem::Atom &atom)
CDPL_VIS_API const Font & getCustomLabelFont(const Chem::Atom &atom)
The namespace of the Chemical Data Processing Library.