1 API Reference and Overview 2 ========================== 3 4 Skia documentation is actively under development. 5 6 Full references with examples are available for: 7 8 * [SkBitmap](/user/api/SkBitmap_Reference) - two-dimensional raster pixel array 9 * [SkCanvas](/user/api/SkCanvas_Reference) - drawing context 10 * [SkIRect](/user/api/SkIRect_Reference) - integer rectangle 11 * [SkMatrix](/user/api/SkMatrix_Reference) - 3x3 transformation matrix 12 * [SkPaint](/user/api/SkPaint_Reference) - color, stroke, font, effects 13 * [SkPath](/user/api/SkPath_Reference) - series of connected lines and curves 14 * [SkPixmap](/user/api/SkPixmap_Reference) - pixel map: image info and pixel address 15 * [SkRect](/user/api/SkRect_Reference) - floating point rectangle 16 17 Check out [a graphical overview of examples](api/catalog.htm) 18 19 All public APIs are indexed by Doxygen. The Doxyen index is current, but the 20 content is dated and incomplete. Doxygen content will be superceded by 21 full references with examples. 22 23 * [Skia Doxygen](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/index.html) 24 25 ## Overview 26 27 Skia is organized around the `SkCanvas` object. It is the host for the 28 "draw" calls: `drawRect`, `drawPath`, `drawText`, etc. Each of these 29 has two components: the primitive being drawn (`SkRect`, `SkPath`, etc.) 30 and color/style attributes (`SkPaint`). 31 32 <!--?prettify lang=cc?--> 33 34 canvas->drawRect(rect, paint); 35 36 The paint holds much of the state describing how the rectangle (in 37 this case) is drawn: what color it is, if it is filled or stroked, how 38 it should blend with what was previously drawn. 39 40 The canvas holds relatively little state. It points to the actual 41 pixels being drawn, and it maintains a stack of matrices and 42 clips. Thus in the above call, the canvas' current matrix may 43 transform the coordinates of the rectangle (translation, rotation, 44 skewing, perspective), and the canvas' current clip may restrict where 45 on the canvas the rectangle will be drawn, but all other stylistic 46 attributes of the drawing are controlled by the paint. 47 48 Using the SkCanvas API: 49 50 * [SkCanvas Overview](/user/api/skcanvas_overivew) - the drawing context 51 * [Creating SkCanvas Objects](/user/api/creating_skcanvas) 52 * [SkPaint Overview](/user/api/skpaint_overview) - color, stroke, font, effects 53