Reference Codebot.Render.Graphics.pas
Part of the Codebot Render package
The Codebot.Render.Graphics unit provides 2D vector graphics through the ICanvas interface, which is drawn using Codebot.Render.NanoVG. A canvas draws paths, images, sprites, and text using pens, brushes, and fonts.
The unit defines the following interfaces:
- IMatrix is a 2D transform.
- IBitmap is an image, and IRenderBitmap is an image that can be drawn to.
- IFont describes how text is drawn.
- IPen strokes paths, and the solid, linear, radial, box gradient, and bitmap brushes fill them.
- ISprite draws a single cell of a sprite sheet.
- ITextWriter writes formatted text over several lines.
A canvas must be created and used while an OpenGL context is current.
Items 290 items
| Name | Kind | Line |
|---|---|---|
| BitmapsCreated | variable | 35 |
| BitmapsDestroyed | variable | 36 |
| Clamp | function | 626 |
| FontsCreated | variable | 33 |
| FontsDestroyed | variable | 34 |
| IBackBuffer | interface | 615 |
| BeginFrame | procedure | 618 |
| EndFrame | procedure | 620 |
| Flip | procedure | 622 |
| IBitmap | interface | 130 |
| GetClientRect | function | 134 |
| GetHeight | function | 136 |
| GetName | function | 133 |
| GetWidth | function | 135 |
| ClientRect | property | 141 |
| Height | property | 144 |
| Name | property | 139 |
| Width | property | 143 |
| IBitmapBrush | interface | 347 |
| GetAngle | function | 352 |
| GetBitmap | function | 350 |
| GetOffset | function | 354 |
| GetOpacity | function | 358 |
| GetScale | function | 356 |
| SetAngle | procedure | 353 |
| SetBitmap | procedure | 351 |
| SetOffset | procedure | 355 |
| SetOpacity | procedure | 359 |
| SetScale | procedure | 357 |
| Angle | property | 364 |
| Bitmap | property | 362 |
| Offset | property | 366 |
| Opacity | property | 370 |
| Scale | property | 368 |
| IBoxGradientBrush | interface | 323 |
| GetFeather | function | 330 |
| GetRadius | function | 328 |
| GetRect | function | 326 |
| SetFeather | procedure | 331 |
| SetRadius | procedure | 329 |
| SetRect | procedure | 327 |
| Feather | property | 338 |
| Radius | property | 336 |
| Rect | property | 334 |
| IBrush | interface | 243 |
| ICanvas | interface | 513 |
| Arc | procedure | 572 |
| ArcTo | procedure | 566 |
| BeginPath | procedure | 557 |
| BezierTo | procedure | 568 |
| Circle | procedure | 574 |
| Clear | procedure | 539 |
| Clip | procedure | 534, 536 |
| ClosePath | procedure | 560 |
| DrawImage | procedure | 551, 553 |
| DrawSprite | procedure | 555 |
| DrawText | procedure | 547 |
| DrawTextMemo | procedure | 549 |
| Ellipse | procedure | 576, 577 |
| Fill | procedure | 589, 590 |
| FillCircle | procedure | 595 |
| FillRect | procedure | 597 |
| FillRoundRect | procedure | 599 |
| GetBlendMode | function | 516 |
| GetFillRule | function | 524 |
| GetMatrix | function | 520 |
| GetOpacity | function | 518 |
| GetWinding | function | 522 |
| LineTo | procedure | 564 |
| MeasureAdvance | function | 543 |
| MeasureMemo | function | 545 |
| MeasureText | function | 541 |
| MoveTo | procedure | 562 |
| Polygon | procedure | 585 |
| Pop | procedure | 530 |
| Push | procedure | 528 |
| QuadTo | procedure | 570 |
| Rect | procedure | 579, 580 |
| RoundRect | procedure | 582, 583 |
| RoundRectVarying | procedure | 587 |
| SetBlendMode | procedure | 517 |
| SetFillRule | procedure | 525 |
| SetMatrix | procedure | 521 |
| SetOpacity | procedure | 519 |
| SetWinding | procedure | 523 |
| Stroke | procedure | 592, 593 |
| StrokeCircle | procedure | 596 |
| StrokeRect | procedure | 598 |
| StrokeRoundRect | procedure | 600 |
| BlendMode | property | 602 |
| FillRule | property | 610 |
| Matrix | property | 606 |
| Opacity | property | 604 |
| Winding | property | 608 |
| IFont | interface | 167 |
| GetAlign | function | 177 |
| GetBlur | function | 181 |
| GetColor | function | 171 |
| GetHeight | function | 175 |
| GetLayout | function | 179 |
| GetLetterSpacing | function | 183 |
| GetLineSpacing | function | 185 |
| GetName | function | 170 |
| GetSize | function | 173 |
| SetAlign | procedure | 178 |
| SetBlur | procedure | 182 |
| SetColor | procedure | 172 |
| SetHeight | procedure | 176 |
| SetLayout | procedure | 180 |
| SetLetterSpacing | procedure | 184 |
| SetLineSpacing | procedure | 186 |
| SetSize | procedure | 174 |
| Align | property | 197 |
| Blur | property | 201 |
| Color | property | 191 |
| Height | property | 195 |
| Layout | property | 199 |
| LetterSpacing | property | 203 |
| LineSpacing | property | 205 |
| Name | property | 189 |
| Size | property | 193 |
| IGradientBrush | interface | 277 |
| GetFarStop | function | 281 |
| GetNearStop | function | 280 |
| FarStop | property | 286 |
| NearStop | property | 284 |
| IGradientStop | interface | 261 |
| GetColor | function | 266 |
| GetOffset | function | 264 |
| SetColor | procedure | 267 |
| SetOffset | procedure | 265 |
| Color | property | 272 |
| Offset | property | 270 |
| ILinearGradientBrush | interface | 292 |
| GetA | function | 295 |
| GetB | function | 297 |
| SetA | procedure | 296 |
| SetB | procedure | 298 |
| A | property | 301 |
| B | property | 303 |
| IMatrix | interface | 84 |
| Copy | procedure | 87, 89 |
| Identity | procedure | 91 |
| Inverse | function | 93 |
| Multiply | function | 113, 117 |
| Pop | procedure | 121 |
| Push | procedure | 119 |
| Rotate | procedure | 97 |
| RotateAt | procedure | 99 |
| Scale | procedure | 101 |
| ScaleAt | procedure | 103 |
| SkewX | procedure | 105 |
| SkewY | procedure | 107 |
| Transform | procedure | 109 |
| Translate | procedure | 95 |
| IPen | interface | 211 |
| GetBrush | function | 216 |
| GetColor | function | 214 |
| GetLineCap | function | 222 |
| GetLineJoin | function | 224 |
| GetMiterLimit | function | 220 |
| GetWidth | function | 218 |
| SetBrush | procedure | 217 |
| SetColor | procedure | 215 |
| SetLineCap | procedure | 223 |
| SetLineJoin | procedure | 225 |
| SetMiterLimit | procedure | 221 |
| SetWidth | procedure | 219 |
| Brush | property | 230 |
| Color | property | 228 |
| LineCap | property | 236 |
| LineJoin | property | 238 |
| MiterLimit | property | 234 |
| Width | property | 232 |
| IRadialGradientBrush | interface | 309 |
| GetRect | function | 312 |
| SetRect | procedure | 313 |
| Rect | property | 316 |
| IRenderBitmap | interface | 155 |
| Bind | procedure | 158 |
| Resize | procedure | 162 |
| Unbind | procedure | 160 |
| IResourceStore | interface | 471 |
| DisposeBitmap | procedure | 492 |
| LoadBitmap | function | 482, 486, 488 |
| LoadBitmapResource | function | 490 |
| LoadFont | function | 495, 498, 500 |
| LoadFontResource | function | 502 |
| NewBitmap | function | 479 |
| NewTextWriter | function | 474, 476 |
| ISolidBrush | interface | 249 |
| GetColor | function | 252 |
| SetColor | procedure | 253 |
| Color | property | 256 |
| ISprite | interface | 376 |
| GetBitmap | function | 379 |
| GetCell | function | 385 |
| GetCols | function | 381 |
| GetOpacity | function | 395 |
| GetPivot | function | 387 |
| GetPosition | function | 389 |
| GetRotation | function | 391 |
| GetRows | function | 383 |
| GetScale | function | 393 |
| SetBitmap | procedure | 380 |
| SetCell | procedure | 386 |
| SetCols | procedure | 382 |
| SetOpacity | procedure | 396 |
| SetPivot | procedure | 388 |
| SetPosition | procedure | 390 |
| SetRotation | procedure | 392 |
| SetRows | procedure | 384 |
| SetScale | procedure | 394 |
| Bitmap | property | 399 |
| Cell | property | 407 |
| Cols | property | 401 |
| Opacity | property | 418 |
| Pivot | property | 410 |
| Position | property | 412 |
| Rotation | property | 414 |
| Rows | property | 403 |
| Scale | property | 416 |
| ITextWriter | interface | 442 |
| GetShadow | function | 444 |
| Indent | procedure | 449 |
| NewLine | procedure | 453 |
| NewPage | procedure | 451 |
| Paper | procedure | 447 |
| SetShadow | procedure | 445 |
| Write | procedure | 455 |
| WriteAt | procedure | 461 |
| WriteColumn | procedure | 457 |
| WriteLine | procedure | 459 |
| Shadow | property | 463 |
| MatrixCreated | variable | 31 |
| MatrixDestroyed | variable | 32 |
| MatrixPushPop | variable | 30 |
| NewBrush | function | 640, 641, 642, 643, 644 |
| NewCanvas | function | 648 |
| NewColorB | function | 630 |
| NewColorF | function | 631 |
| NewHSL | function | 632 |
| NewMatrix | function | 637 |
| NewPen | function | 638, 639 |
| NewPointF | function | 633 |
| NewRectF | function | 634, 635 |
| NewSprite | function | 646 |
| PointZero | constant | 653 |
| RectEmpty | constant | 654 |
| TBlendMode | enum | 79 |
| blendAlpha | enum value | 79 |
| blendAdditive | enum value | 79 |
| blendSubtractive | enum value | 79 |
| blendLighten | enum value | 80 |
| blendDarken | enum value | 80 |
| blendInvert | enum value | 80 |
| blendNegative | enum value | 80 |
| TFillRule | enum | 75 |
| fillWinding | enum value | 75 |
| fillNonZero | enum value | 75 |
| fillEvenOdd | enum value | 75 |
| TFontAlign | enum | 63 |
| fontLeft | enum value | 63 |
| fontCenter | enum value | 63 |
| fontRight | enum value | 63 |
| TFontLayout | enum | 65 |
| fontTop | enum value | 65 |
| fontMiddle | enum value | 65 |
| fontBaseline | enum value | 65 |
| fontBottom | enum value | 65 |
| TLineCap | enum | 61 |
| capButt | enum value | 61 |
| capSquare | enum value | 61 |
| capRound | enum value | 61 |
| TLineJoin | enum | 59 |
| joinMiter | enum value | 59 |
| joinBevel | enum value | 59 |
| joinRound | enum value | 59 |
| TTextLayout | enum | 424 |
| textLeft | enum value | 426 |
| textTop | enum value | 428 |
| textRight | enum value | 430 |
| textBottom | enum value | 432 |
| textMiddleLeft | enum value | 434 |
| textMiddle | enum value | 436 |
| textMiddleRight | enum value | 438 |
| textMemo | enum value | 440 |
| TWinding | enum | 67 |
| windCCW | enum value | 67 |
| windCW | enum value | 67 |