MagickCore 6.9.11-60
Convert, Edit, Or Compose Bitmap Images
draw.h
Go to the documentation of this file.
1/*
2 Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License. You may
6 obtain a copy of the License at
7
8 https://imagemagick.org/script/license.php
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 MagickCore drawing methods.
17*/
18#ifndef MAGICKCORE_DRAW_H
19#define MAGICKCORE_DRAW_H
20
21#include "magick/geometry.h"
22#include "magick/image.h"
23#include "magick/pixel.h"
24#include "magick/type.h"
25#include "magick/color.h"
26
27#if defined(__cplusplus) || defined(c_plusplus)
28extern "C" {
29#endif
30
31typedef enum
32{
38
39typedef enum
40{
46
47typedef enum
48{
55
56typedef enum
57{
62
63typedef enum
64{
66#undef EvenOddRule
70
71typedef enum
72{
77
78typedef enum
79{
85
86typedef enum
87{
93
94typedef enum
95{
103
104typedef enum
105{
123
124typedef enum
125{
129
130typedef enum
131{
137
138typedef struct _PointInfo
139{
140 double
144
145typedef struct _StopInfo
146{
149
153
154typedef struct _GradientInfo
155{
158
161
164
167
168 size_t
170
173
176
177 size_t
179
182
186
190
191typedef struct _ElementReference
192{
193 char
195
198
201
202 size_t
204
205 struct _ElementReference
209
210typedef struct _DrawInfo
211{
212 char
215
218
221
224
228
229 double
231
234
235 Image
239
243
246
247 LineCap
249
252
253 size_t
255
256 double
258
261
264
265 char
267
268 size_t
270
271 char
275
278
281
282 size_t
284
285 char
287
288 double
290
291 char
293
296
300
301 char
303
304 double
306
307 char
309
312
315
316 Quantum
318
321
324
327
328 size_t
330
331 double
335
338
339 double
342
345
346 Image
348
351
352 Image
354
355 char
358
359typedef struct _PrimitiveInfo
360{
363
364 size_t
366
369
372
373 char
375
379
380typedef struct _TypeMetric
381{
384
385 double
393
396
400
405
408 DrawClipPath(Image *,const DrawInfo *,const char *),
411 DrawPatternPath(Image *,const DrawInfo *,const char *,Image **),
412 DrawPrimitive(Image *,const DrawInfo *,const PrimitiveInfo *);
413
414extern MagickExport void
416 GetDrawInfo(const ImageInfo *,DrawInfo *);
417
418#if defined(__cplusplus) || defined(c_plusplus)
419}
420#endif
421
422#endif
ComplianceType
Definition color.h:29
CompositeOperator
Definition composite.h:26
MagickExport MagickBooleanType DrawGradientImage(Image *, const DrawInfo *)
GradientType
Definition draw.h:72
@ UndefinedGradient
Definition draw.h:73
@ LinearGradient
Definition draw.h:74
@ RadialGradient
Definition draw.h:75
MagickExport void GetAffineMatrix(AffineMatrix *)
MagickExport void GetDrawInfo(const ImageInfo *, DrawInfo *)
Definition draw.c:5812
PrimitiveType
Definition draw.h:105
@ RectanglePrimitive
Definition draw.h:109
@ ColorPrimitive
Definition draw.h:117
@ MattePrimitive
Definition draw.h:118
@ PathPrimitive
Definition draw.h:121
@ CirclePrimitive
Definition draw.h:113
@ TextPrimitive
Definition draw.h:119
@ PointPrimitive
Definition draw.h:107
@ RoundRectanglePrimitive
Definition draw.h:110
@ ArcPrimitive
Definition draw.h:111
@ PolygonPrimitive
Definition draw.h:115
@ LinePrimitive
Definition draw.h:108
@ BezierPrimitive
Definition draw.h:116
@ EllipsePrimitive
Definition draw.h:112
@ ImagePrimitive
Definition draw.h:120
@ UndefinedPrimitive
Definition draw.h:106
@ PolylinePrimitive
Definition draw.h:114
struct _PointInfo PointInfo
LineJoin
Definition draw.h:87
@ RoundJoin
Definition draw.h:90
@ MiterJoin
Definition draw.h:89
@ UndefinedJoin
Definition draw.h:88
@ BevelJoin
Definition draw.h:91
struct _TypeMetric TypeMetric
MagickExport MagickBooleanType DrawPatternPath(Image *, const DrawInfo *, const char *, Image **)
struct _ElementReference ElementReference
DecorationType
Definition draw.h:48
@ OverlineDecoration
Definition draw.h:52
@ NoDecoration
Definition draw.h:50
@ UndefinedDecoration
Definition draw.h:49
@ UnderlineDecoration
Definition draw.h:51
@ LineThroughDecoration
Definition draw.h:53
MagickExport MagickBooleanType DrawAffineImage(Image *, const Image *, const AffineMatrix *)
struct _PrimitiveInfo PrimitiveInfo
MagickExport MagickBooleanType DrawClipPath(Image *, const DrawInfo *, const char *)
MagickExport MagickBooleanType DrawImage(Image *, const DrawInfo *)
LineCap
Definition draw.h:79
@ ButtCap
Definition draw.h:81
@ UndefinedCap
Definition draw.h:80
@ SquareCap
Definition draw.h:83
@ RoundCap
Definition draw.h:82
struct _DrawInfo DrawInfo
DirectionType
Definition draw.h:57
@ LeftToRightDirection
Definition draw.h:60
@ UndefinedDirection
Definition draw.h:58
@ RightToLeftDirection
Definition draw.h:59
struct _GradientInfo GradientInfo
AlignType
Definition draw.h:32
@ CenterAlign
Definition draw.h:35
@ UndefinedAlign
Definition draw.h:33
@ RightAlign
Definition draw.h:36
@ LeftAlign
Definition draw.h:34
FillRule
Definition draw.h:64
@ EvenOddRule
Definition draw.h:67
@ NonZeroRule
Definition draw.h:68
@ UndefinedRule
Definition draw.h:65
ReferenceType
Definition draw.h:125
@ GradientReference
Definition draw.h:127
@ UndefinedReference
Definition draw.h:126
SpreadMethod
Definition draw.h:131
@ RepeatSpread
Definition draw.h:135
@ UndefinedSpread
Definition draw.h:132
@ ReflectSpread
Definition draw.h:134
@ PadSpread
Definition draw.h:133
ClipPathUnits
Definition draw.h:40
@ UserSpace
Definition draw.h:42
@ UserSpaceOnUse
Definition draw.h:43
@ ObjectBoundingBox
Definition draw.h:44
@ UndefinedPathUnits
Definition draw.h:41
MagickExport DrawInfo * AcquireDrawInfo(void)
MagickExport DrawInfo * CloneDrawInfo(const ImageInfo *, const DrawInfo *)
struct _StopInfo StopInfo
MagickExport MagickBooleanType DrawPrimitive(Image *, const DrawInfo *, const PrimitiveInfo *)
Definition draw.c:5174
PaintMethod
Definition draw.h:95
@ UndefinedMethod
Definition draw.h:96
@ FillToBorderMethod
Definition draw.h:100
@ PointMethod
Definition draw.h:97
@ ResetMethod
Definition draw.h:101
@ FloodfillMethod
Definition draw.h:99
@ ReplaceMethod
Definition draw.h:98
MagickExport DrawInfo * DestroyDrawInfo(DrawInfo *)
Definition draw.c:974
GravityType
Definition geometry.h:80
MagickDoubleType MagickRealType
Definition magick-type.h:129
unsigned short Quantum
Definition magick-type.h:89
MagickBooleanType
Definition magick-type.h:203
#define MagickExport
Definition method-attribute.h:80
Definition geometry.h:96
Definition draw.h:211
double stroke_width
Definition draw.h:230
MagickBooleanType text_antialias
Definition draw.h:242
DirectionType direction
Definition draw.h:337
double pointsize
Definition draw.h:289
double interword_spacing
Definition draw.h:333
Image * clipping_mask
Definition draw.h:347
char * encoding
Definition draw.h:286
GradientInfo gradient
Definition draw.h:233
SegmentInfo bounds
Definition draw.h:311
Image * fill_pattern
Definition draw.h:236
PixelPacket stroke
Definition draw.h:227
MagickBooleanType clip_path
Definition draw.h:344
double stroke_opacity
Definition draw.h:341
double interline_spacing
Definition draw.h:334
size_t signature
Definition draw.h:329
AffineMatrix affine
Definition draw.h:220
MagickBooleanType debug
Definition draw.h:326
PixelPacket fill
Definition draw.h:226
LineJoin linejoin
Definition draw.h:251
DecorationType decorate
Definition draw.h:260
size_t face
Definition draw.h:269
char * id
Definition draw.h:356
double kerning
Definition draw.h:332
ElementReference element_reference
Definition draw.h:323
LineCap linecap
Definition draw.h:248
Image * stroke_pattern
Definition draw.h:238
char * clip_mask
Definition draw.h:308
ClipPathUnits clip_units
Definition draw.h:314
size_t miterlimit
Definition draw.h:254
FillRule fill_rule
Definition draw.h:245
char * primitive
Definition draw.h:213
char * text
Definition draw.h:266
ComplianceType compliance
Definition draw.h:350
char * geometry
Definition draw.h:214
MagickBooleanType render
Definition draw.h:320
char * font
Definition draw.h:272
Image * composite_mask
Definition draw.h:353
AlignType align
Definition draw.h:295
char * metrics
Definition draw.h:273
size_t weight
Definition draw.h:283
Image * tile
Definition draw.h:237
char * family
Definition draw.h:274
char * server_name
Definition draw.h:302
char * density
Definition draw.h:292
MagickBooleanType stroke_antialias
Definition draw.h:241
double * dash_pattern
Definition draw.h:305
PixelPacket border_color
Definition draw.h:299
StretchType stretch
Definition draw.h:280
double fill_opacity
Definition draw.h:340
PixelPacket undercolor
Definition draw.h:298
CompositeOperator compose
Definition draw.h:263
double dash_offset
Definition draw.h:257
StyleType style
Definition draw.h:277
GravityType gravity
Definition draw.h:223
Quantum opacity
Definition draw.h:317
RectangleInfo viewbox
Definition draw.h:217
Definition draw.h:192
ReferenceType type
Definition draw.h:197
struct _ElementReference * previous
Definition draw.h:205
char * id
Definition draw.h:194
size_t signature
Definition draw.h:203
GradientInfo gradient
Definition draw.h:200
struct _ElementReference * next
Definition draw.h:207
Definition draw.h:155
MagickRealType angle
Definition draw.h:185
size_t number_stops
Definition draw.h:169
MagickBooleanType debug
Definition draw.h:175
MagickRealType radius
Definition draw.h:184
StopInfo * stops
Definition draw.h:166
SegmentInfo gradient_vector
Definition draw.h:163
SpreadMethod spread
Definition draw.h:172
PointInfo radii
Definition draw.h:188
PointInfo center
Definition draw.h:181
size_t signature
Definition draw.h:178
GradientType type
Definition draw.h:157
RectangleInfo bounding_box
Definition draw.h:160
Definition image.h:362
Definition image.h:153
Definition pixel.h:105
Definition pixel.h:132
Definition draw.h:139
double x
Definition draw.h:141
double y
Definition draw.h:142
Definition draw.h:360
size_t coordinates
Definition draw.h:365
PrimitiveType primitive
Definition draw.h:368
PointInfo point
Definition draw.h:362
char * text
Definition draw.h:374
MagickBooleanType closed_subpath
Definition draw.h:377
PaintMethod method
Definition draw.h:371
Definition geometry.h:124
Definition image.h:106
Definition draw.h:146
MagickRealType offset
Definition draw.h:151
MagickPixelPacket color
Definition draw.h:148
Definition draw.h:381
double max_advance
Definition draw.h:390
double height
Definition draw.h:389
double ascent
Definition draw.h:386
double width
Definition draw.h:388
SegmentInfo bounds
Definition draw.h:395
PointInfo pixels_per_em
Definition draw.h:383
double descent
Definition draw.h:387
double underline_thickness
Definition draw.h:392
double underline_position
Definition draw.h:391
PointInfo origin
Definition draw.h:398
StretchType
Definition type.h:26
StyleType
Definition type.h:41