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