Magick++ 7.0.10

Montage.cpp
Go to the documentation of this file.
1 // This may look like C code, but it is really -*- C++ -*-
2 //
3 // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
4 //
5 // Implementation of Montage
6 //
7
8 #define MAGICKCORE_IMPLEMENTATION 1
9 #define MAGICK_PLUSPLUS_IMPLEMENTATION 1
10
11 #include "Magick++/Include.h"
12 #include <string>
13 #include <string.h>
14
15 #include "Magick++/Montage.h"
16 #include "Magick++/Functions.h"
17
18 Magick::Montage::Montage(void)
19 : _backgroundColor("#ffffff"),
20 _fileName(),
21 _fill("#000000ff"),
22 _font(),
23 _geometry("120x120+4+3>"),
24 _gravity(CenterGravity),
25 _label(),
26 _pointSize(12),
27 _shadow(false),
28 _stroke(),
29 _texture(),
30 _tile("6x4"),
31 _title(),
32 _transparentColor()
33 {
34 }
35
36 Magick::Montage::~Montage(void)
37 {
38 }
39
40 void Magick::Montage::backgroundColor(const Magick::Color &backgroundColor_)
41 {
42 _backgroundColor=backgroundColor_;
43 }
44
45 Magick::Color Magick::Montage::backgroundColor(void) const
46 {
47 return(_backgroundColor);
48 }
49
50 void Magick::Montage::fileName(const std::string &fileName_)
51 {
52 _fileName=fileName_;
53 }
54
55 std::string Magick::Montage::fileName(void) const
56 {
57 return(_fileName);
58 }
59
60 void Magick::Montage::fillColor(const Color &fill_)
61 {
62 _fill=fill_;
63 }
64
65 Magick::Color Magick::Montage::fillColor(void) const
66 {
67 return(_fill);
68 }
69
70 void Magick::Montage::font(const std::string &font_)
71 {
72 _font=font_;
73 }
74
75 std::string Magick::Montage::font(void) const
76 {
77 return(_font);
78 }
79
80 void Magick::Montage::geometry(const Magick::Geometry &geometry_)
81 {
82 _geometry=geometry_;
83 }
84
85 Magick::Geometry Magick::Montage::geometry(void) const
86 {
87 return(_geometry);
88 }
89
90 void Magick::Montage::gravity(Magick::GravityType gravity_)
91 {
92 _gravity=gravity_;
93 }
94
95 Magick::GravityType Magick::Montage::gravity(void) const
96 {
97 return(_gravity);
98 }
99
100 void Magick::Montage::label(const std::string &label_)
101 {
102 _label=label_;
103 }
104
105 std::string Magick::Montage::label(void) const
106 {
107 return(_label);
108 }
109
110 void Magick::Montage::pointSize(size_t pointSize_)
111 {
112 _pointSize=pointSize_;
113 }
114
115 size_t Magick::Montage::pointSize(void) const
116 {
117 return(_pointSize);
118 }
119
120 void Magick::Montage::shadow(bool shadow_)
121 {
122 _shadow=shadow_;
123 }
124
125 bool Magick::Montage::shadow(void) const
126 {
127 return(_shadow);
128 }
129
130 void Magick::Montage::strokeColor(const Color &stroke_)
131 {
132 _stroke=stroke_;
133 }
134
135 Magick::Color Magick::Montage::strokeColor(void) const
136 {
137 return(_stroke);
138 }
139
140 void Magick::Montage::texture(const std::string &texture_)
141 {
142 _texture=texture_;
143 }
144
145 std::string Magick::Montage::texture(void) const
146 {
147 return(_texture);
148 }
149
150 void Magick::Montage::tile(const Geometry &tile_)
151 {
152 _tile=tile_;
153 }
154
155 Magick::Geometry Magick::Montage::tile(void) const
156 {
157 return(_tile);
158 }
159
160 void Magick::Montage::title(const std::string &title_)
161 {
162 _title=title_;
163 }
164
165 std::string Magick::Montage::title(void) const
166 {
167 return(_title);
168 }
169
170 void Magick::Montage::transparentColor(const Magick::Color &transparentColor_)
171 {
172 _transparentColor=transparentColor_;
173 }
174
175 Magick::Color Magick::Montage::transparentColor(void) const
176 {
177 return(_transparentColor);
178 }
179
180 void Magick::Montage::updateMontageInfo(MontageInfo &montageInfo_ ) const
181 {
182 (void) memset(&montageInfo_,0,sizeof(montageInfo_));
183
184 // matte_color
185 montageInfo_.matte_color=Color();
186 // background_color
187 montageInfo_.background_color=_backgroundColor;
188 // border_color
189 montageInfo_.border_color=Color();
190 // border_width
191 montageInfo_.border_width=0;
192 // filename
193 if (_font.length() != 0)
194 {
195 _fileName.copy(montageInfo_.filename,MagickPathExtent-1);
196 montageInfo_.filename[ _fileName.length() ] = 0; // null terminate
197 }
198 // fill
199 montageInfo_.fill=_fill;
200 // font
201 if (_font.length() != 0)
202 Magick::CloneString(&montageInfo_.font,_font);
203 // geometry
204 if (_geometry.isValid())
205 Magick::CloneString(&montageInfo_.geometry,_geometry);
206 // gravity
207 montageInfo_.gravity=_gravity;
208 // pointsize
209 montageInfo_.pointsize=_pointSize;
210 // shadow
211 montageInfo_.shadow=static_cast<MagickBooleanType>
212 (_shadow ? MagickTrue : MagickFalse);
213 // signature (validity stamp)
214 montageInfo_.signature=MagickCoreSignature;
215 // stroke
216 montageInfo_.stroke=_stroke;
217 // texture
218 if (_texture.length() != 0)
219 Magick::CloneString(&montageInfo_.texture,_texture);
220 // tile
221 if (_tile.isValid())
222 Magick::CloneString(&montageInfo_.tile,_tile);
223 // title
224 if (_title.length() != 0)
225 Magick::CloneString(&montageInfo_.title,_title);
226 }
227
228 //
229 // Implementation of MontageFramed
230 //
231
232 Magick::MontageFramed::MontageFramed(void)
233 : _matteColor("#bdbdbd"),
234 _borderColor("#dfdfdf"),
235 _borderWidth(0),
236 _frame()
237 {
238 }
239
240 Magick::MontageFramed::~MontageFramed(void)
241 {
242 }
243
244 void Magick::MontageFramed::matteColor(const Magick::Color &matteColor_)
245 {
246 _matteColor=matteColor_;
247 }
248
249 Magick::Color Magick::MontageFramed::matteColor(void) const
250 {
251 return(_matteColor);
252 }
253
254 void Magick::MontageFramed::borderColor(const Magick::Color &borderColor_)
255 {
256 _borderColor=borderColor_;
257 }
258
259 Magick::Color Magick::MontageFramed::borderColor(void) const
260 {
261 return(_borderColor);
262 }
263
264 void Magick::MontageFramed::borderWidth(size_t borderWidth_)
265 {
266 _borderWidth=borderWidth_;
267 }
268
269 size_t Magick::MontageFramed::borderWidth(void) const
270 {
271 return(_borderWidth);
272 }
273
274 void Magick::MontageFramed::frameGeometry(const Magick::Geometry &frame_)
275 {
276 _frame=frame_;
277 }
278
279 Magick::Geometry Magick::MontageFramed::frameGeometry(void) const
280 {
281 return(_frame);
282 }
283
284 void Magick::MontageFramed::updateMontageInfo(MontageInfo &montageInfo_) const
285 {
286 // Do base updates
287 Montage::updateMontageInfo(montageInfo_);
288
289 // matte_color
290 montageInfo_.matte_color = _matteColor;
291 // border_color
292 montageInfo_.border_color=_borderColor;
293 // border_width
294 montageInfo_.border_width=_borderWidth;
295 // frame
296 if (_frame.isValid())
297 Magick::CloneString(&montageInfo_.frame,_frame);
298 }
Magick::Color
class MagickPPExport Color
Definition: Color.h:16
Functions.h
Magick::Montage::gravity
GravityType gravity(void) const
Definition: Montage.cpp:95
Magick::Montage::texture
std::string texture(void) const
Definition: Montage.cpp:145
Magick::MontageFramed::~MontageFramed
~MontageFramed(void)
Definition: Montage.cpp:240
Magick::MontageFramed::frameGeometry
Geometry frameGeometry(void) const
Definition: Montage.cpp:279
Magick::MontageFramed::borderWidth
size_t borderWidth(void) const
Definition: Montage.cpp:269
Magick::Montage::fillColor
Color fillColor(void) const
Definition: Montage.cpp:65
Magick::MontageFramed::matteColor
Color matteColor(void) const
Definition: Montage.cpp:249
Magick::Montage::pointSize
size_t pointSize(void) const
Definition: Montage.cpp:115
Magick::Montage::~Montage
virtual ~Montage(void)
Definition: Montage.cpp:36
Magick::Montage::backgroundColor
Color backgroundColor(void) const
Definition: Montage.cpp:45
Magick::Montage::Montage
Montage(void)
Definition: Montage.cpp:18
Magick::Montage::font
std::string font(void) const
Definition: Montage.cpp:75
Magick::Montage::fileName
std::string fileName(void) const
Definition: Montage.cpp:55
Montage.h
Magick::MontageFramed::borderColor
Color borderColor(void) const
Definition: Montage.cpp:259
Magick::Montage::transparentColor
Color transparentColor(void) const
Definition: Montage.cpp:175
Magick::Color
Definition: Color.h:34
Magick::Geometry
Definition: Geometry.h:35
Magick::Montage::geometry
Geometry geometry(void) const
Definition: Montage.cpp:85
Include.h
Magick::Montage::title
std::string title(void) const
Definition: Montage.cpp:165
Magick::CloneString
MagickPPExport void CloneString(char **destination_, const std::string &source_)
Definition: Functions.cpp:23
Magick::Montage::tile
Geometry tile(void) const
Definition: Montage.cpp:155
Magick::MontageFramed::updateMontageInfo
void updateMontageInfo(MagickCore::MontageInfo &montageInfo_) const
Definition: Montage.cpp:284
Magick::Montage::updateMontageInfo
virtual void updateMontageInfo(MagickCore::MontageInfo &montageInfo_) const
Definition: Montage.cpp:180
Magick::Montage::strokeColor
Color strokeColor(void) const
Definition: Montage.cpp:135
Magick::MontageFramed::MontageFramed
MontageFramed(void)
Definition: Montage.cpp:232
Magick::Montage::shadow
bool shadow(void) const
Definition: Montage.cpp:125
Magick::Montage::label
std::string label(void) const
Definition: Montage.cpp:105