No-Try: true Docs-Preview: https://skia.org/user/api?cl=108502 Change-Id: I17547b53b50a00e4e9ad1704a032b5b0d14ea436 Reviewed-on: https://skia-review.googlesource.com/108502 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
2.8 KiB
API Reference and Overview
Skia documentation is actively under development.
Full references with examples are available for:
- SkAutoCanvasRestore - Canvas save stack manager
- SkBitmap - two-dimensional raster pixel array
- SkCanvas - drawing context
- SkImage - two dimensional array of pixels to draw
- SkImageInfo - pixel dimensions and characteristics
- SkIPoint - two integer coordinates
- SkIPoint16 - two 16-bit integer coordinates
- SkIRect - integer rectangle
- SkMatrix - 3x3 transformation matrix
- SkPaint - color, stroke, font, effects
- SkPath - sequence of connected lines and curves
- SkPixmap - pixel map: image info and pixel address
- SkPoint - two floating point coordinates
- SkRect - floating point rectangle
- SkSurface - drawing destination
Check out a graphical overview of examples
All public APIs are indexed by Doxygen. The Doxyen index is current, but the content is dated and incomplete. Doxygen content will be superseded by full references with examples.
Overview
Skia is organized around the SkCanvas
object. It is the host for the
"draw" calls: drawRect
, drawPath
, drawText
, etc. Each of these
has two components: the primitive being drawn (SkRect
, SkPath
, etc.)
and color/style attributes (SkPaint
).
canvas->drawRect(rect, paint);
The paint holds much of the state describing how the rectangle (in this case) is drawn: what color it is, if it is filled or stroked, how it should blend with what was previously drawn.
The canvas holds relatively little state. It points to the actual pixels being drawn, and it maintains a stack of matrices and clips. Thus in the above call, the canvas' current matrix may transform the coordinates of the rectangle (translation, rotation, skewing, perspective), and the canvas' current clip may restrict where on the canvas the rectangle will be drawn, but all other stylistic attributes of the drawing are controlled by the paint.
Using the SkCanvas API:
- SkCanvas Overview - the drawing context
- SkPaint Overview - color, stroke, font, effects
- SkCanvas Creation