APIOverview
Introduction¶
Skia is organized the Canvas object. It is the host for the "draw" calls: drawRect, drawPath, drawText, etc. Each of these has two components: the primitive being drawing (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 hold relatively little state. It points to the actual pixels being draw (hosted by a Bitmap), 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 be draw, but all other stylistic attributes of the drawing are controlled by the paint