forked from Imagick/imagick
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ImagickDraw.stub.php
408 lines (274 loc) Β· 11.5 KB
/
ImagickDraw.stub.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
<?php
/** @generate-function-entries */
class ImagickDraw
{
#if MagickLibVersion > 0x628
public function resetVectorGraphics(): bool {}
#endif
#if MagickLibVersion > 0x649
public function getTextKerning(): float {}
public function setTextKerning(float $kerning): bool {}
public function getTextInterwordSpacing(): float {}
public function setTextInterwordSpacing(float $spacing): bool {}
#endif
#if MagickLibVersion > 0x655
public function getTextInterlineSpacing(): float {}
public function setTextInterlineSpacing(float $spacing): bool {}
#endif
public function __construct() {}
public function setFillColor(ImagickPixel|string $fill_color): bool {}
public function setFillAlpha(float $alpha): bool {}
public function setResolution(float $resolution_x, float $resolution_y): bool {}
public function setStrokeColor(ImagickPixel|string $color): bool {}
public function setStrokeAlpha(float $alpha): bool {}
public function setStrokeWidth(float $width): bool {}
public function clear(): bool {}
public function circle(
float $origin_x,
float $origin_y,
float $perimeter_x,
float $perimeter_y
): bool {}
public function annotation(float $x, float $y, string $text): bool {}
public function setTextAntialias(bool $antialias): bool {}
public function setTextEncoding(string $encoding): bool {}
public function setFont(string $font_name): bool {}
public function setFontFamily(string $font_family): bool {}
public function setFontSize(float $point_size): bool {}
// STYLE_*
public function setFontStyle(int $style): bool {}
/**
* $weight font weight (valid range 100-900)
*/
public function setFontWeight(int $weight): bool {}
public function getFont(): string {}
public function getFontFamily(): string {}
public function getFontSize(): float {}
public function getFontStyle(): int {}
public function getFontWeight(): int {}
/** @alias ImagickDraw::clear */
public function destroy(): bool {}
public function rectangle(float $top_left_x, float $top_left_y, float $bottom_right_x, float $bottom_right_y): bool {}
public function roundRectangle(float $top_left_x, float $top_left_y, float $bottom_right_x, float $bottom_right_y, float $rounding_x, float $rounding_y): bool {}
//ox
//origin x ordinate
//oy
//origin y ordinate
//rx
//radius in x
//ry
//radius in y
//start
//starting rotation in degrees
//end
//ending rotation in degrees
public function ellipse(float $origin_x, float $origin_y, float $radius_x, float $radius_y, float $angle_start, float $angle_end): bool {}
public function skewX(float $degrees): bool {}
public function skewY(float $degrees): bool {}
public function translate(float $x, float $y): bool {}
public function line(float $start_x, float $start_y, float $end_x, float $end_y): bool {}
//sx
//starting x ordinate of bounding rectangle
//sy
//starting y ordinate of bounding rectangle
//ex
//ending x ordinate of bounding rectangle
//ey
//ending y ordinate of bounding rectangle
//sd
//starting degrees of rotation
//ed
//ending degrees of rotation
public function arc(
float $start_x,
float $start_y,
float $end_x,
float $end_y,
float $start_angle,
float $end_angle
): bool {}
#if MagickLibVersion >= 0x700
// PAINT_*
public function alpha(float $x, float $y, int $paint): bool {}
#else
/** @deprecated */
// PAINT_*
public function matte(float $x, float $y, int $paint): bool {}
#endif
public function polygon(array $coordinates): bool {}
public function point(float $x, float $y): bool {}
public function getTextDecoration(): int {}
public function getTextEncoding(): string {}
public function getFontStretch(): int {}
// STRETCH_* font_stretch
public function setFontStretch(int $stretch): bool {}
public function setStrokeAntialias(bool $enabled): bool {}
// ALIGN_*
public function setTextAlignment(int $align): bool {}
// DECORATION_*
public function setTextDecoration(int $decoration): bool {}
public function setTextUnderColor(ImagickPixel|string $under_color): bool {}
public function setViewbox(int $left_x, int $top_y, int $right_x, int $bottom_y): bool {}
public function clone(): ImagickDraw {}
public function affine(array $affine): bool {}
public function bezier(array $coordinates): bool {}
// COMPOSITE_*
public function composite(
int $composite,
float $x,
float $y,
float $width,
float $height,
Imagick $image
): bool {}
// PAINT_*
public function color(float $x, float $y, int $paint): bool {}
public function comment(string $comment): bool {}
public function getClipPath(): string {}
public function getClipRule(): int {}
public function getClipUnits(): int {}
public function getFillColor(): ImagickPixel {}
public function getFillOpacity(): float {}
public function getFillRule(): int {}
public function getGravity(): int {}
public function getStrokeAntialias(): bool {}
public function getStrokeColor(): ImagickPixel {}
public function getStrokeDashArray(): array {}
public function getStrokeDashOffset(): float {}
public function getStrokeLineCap(): int {}
public function getStrokeLineJoin(): int {}
public function getStrokeMiterLimit(): int {}
public function getStrokeOpacity(): float {}
public function getStrokeWidth(): float {}
public function getTextAlignment(): int {}
public function getTextAntialias(): bool {}
public function getVectorGraphics(): string {}
public function getTextUnderColor(): ImagickPixel {}
public function pathClose(): bool {}
// We use the following scheme for naming:
// * control points are numbered e.g. x1
// * end points are not numbered. e.g. x
//
// This makes the functions that have control points match those which
// don't have control points.
//x1
//x ordinate of control point for curve beginning
//y1
//y ordinate of control point for curve beginning
//x2
//x ordinate of control point for curve ending
//y2
//y ordinate of control point for curve ending
//x
//x ordinate of the end of the curve
//y
//y ordinate of the end of the curve
public function pathCurveToAbsolute(float $x1, float $y1, float $x2, float $y2, float $x, float $y): bool {}
public function pathCurveToRelative(float $x1, float $y1, float $x2, float $y2, float $x, float $y): bool {}
public function pathCurveToQuadraticBezierAbsolute(float $x1, float $y1, float $x_end, float $y): bool {}
public function pathCurveToQuadraticBezierRelative(float $x1, float $y1, float $x_end, float $y): bool {}
// TODO - should these be $x_end, float $y_end to be consistent?
// Or should the $x_end be $x above.
public function pathCurveToQuadraticBezierSmoothAbsolute(float $x, float $y): bool {}
// TODO - should these be $x_end, float $y_end to be consistent
public function pathCurveToQuadraticBezierSmoothRelative(float $x, float $y): bool {}
public function pathCurveToSmoothAbsolute(float $x2, float $y2, float $x, float $y): bool {}
public function pathCurveToSmoothRelative(float $x2, float $y2, float $x, float $y): bool {}
// rx x radius
// ry y radius
// x_axis_rotation indicates how the ellipse as a whole is rotated relative to the current coordinate system
// large_arc If non-zero (true) then draw the larger of the available arcs
// sweep If non-zero (true) then draw the arc matching a clock-wise rotation
public function pathEllipticArcAbsolute(
float $rx,
float $ry,
float $x_axis_rotation,
bool $large_arc,
bool $sweep,
float $x, float $y
): bool {}
public function pathEllipticArcRelative(
float $rx,
float $ry,
float $x_axis_rotation,
bool $large_arc,
bool $sweep,
float $x,
float $y
): bool {}
public function pathFinish(): bool {}
public function pathLineToAbsolute(float $x, float $y): bool {}
public function pathLineToRelative(float $x, float $y): bool {}
public function pathLineToHorizontalAbsolute(float $x): bool {}
public function pathLineToHorizontalRelative(float $x): bool {}
public function pathLineToVerticalAbsolute(float $y): bool {}
public function pathLineToVerticalRelative(float $y): bool {}
public function pathMoveToAbsolute(float $x, float $y): bool {}
public function pathMoveToRelative(float $x, float $y): bool {}
public function pathStart(): bool {}
public function polyline(array $coordinates): bool {}
public function popClipPath(): bool {}
public function popDefs(): bool {}
public function popPattern(): bool {}
public function pushClipPath(string $clip_mask_id): bool {}
public function pushDefs(): bool {}
public function pushPattern(
string $pattern_id,
float $x,
float $y,
float $width,
float $height
): bool {}
public function render(): bool {}
public function rotate(float $degrees): bool {}
public function scale(float $x, float $y): bool {}
public function setClipPath(string $clip_mask): bool {}
// FILLRULE_*
public function setClipRule(int $fillrule): bool {}
// PATHUNITS_* uh, this is unfortunate. The ImageMagick constant
// is call ClipPathUnits. The constant dropped the 'clip' and the
// method call dropped the 'path'. _Maybe_ add a setClipPathUnits
// method, and deprecate this one. Or just ignore the issue.
public function setClipUnits(int $pathunits): bool {}
public function setFillOpacity(float $opacity): bool {}
public function setFillPatternUrl(string $fill_url): bool {}
// FILLRULE_*
public function setFillRule(int $fillrule): bool {}
// GRAVITY_*
public function setGravity(int $gravity): bool {}
public function setStrokePatternUrl(string $stroke_url): bool {}
public function setStrokeDashOffset(float $dash_offset): bool {}
// LINECAP_*
public function setStrokeLineCap(int $linecap): bool {}
// LINEJOIN_*
public function setStrokeLineJoin(int $linejoin): bool {}
// The miterLimit' imposes a limit on the ratio of the miter length to the 'lineWidth'.
public function setStrokeMiterLimit(int $miterlimit): bool {}
// range 0-1
public function setStrokeOpacity(float $opacity): bool {}
public function setVectorGraphics(string $xml): bool {}
public function pop(): bool {}
public function push(): bool {}
// A typical stroke dash array might contain the members 5 3 2.
public function setStrokeDashArray(array|null $dashes): bool {}
#if MagickLibVersion >= 0x693
public function getOpacity(): float {}
// TODO - imply 0 to 1 range.
public function setOpacity(float $opacity): bool {}
#endif
#if MagickLibVersion >= 0x675
public function getFontResolution(): array {}
public function setFontResolution(float $x, float $y): bool {}
public function getBorderColor(): ImagickPixel {}
public function setBorderColor(ImagickPixel|string $color): bool {}
#endif
#if MagickLibVersion >= 0x693
public function setDensity(string $density): bool {}
public function getDensity(): ?string {}
#endif
#if MagickLibVersion >= 0x692
public function getTextDirection(): int {}
// DIRECTION_*
public function setTextDirection(int $direction): bool {}
#endif
}