1API Reference and Overview 2========================== 3 4Skia documentation is actively under development. 5 6Full references with examples are available for: 7 8* [SkAutoCanvasRestore](/user/api/SkAutoCanvasRestore_Reference) - Canvas save stack manager 9* [SkBitmap](/user/api/SkBitmap_Reference) - two-dimensional raster pixel array 10* [SkBlendMode](/user/api/SkBlendMode_Reference) - pixel color arithmetic 11* [SkCanvas](/user/api/SkCanvas_Reference) - drawing context 12* [SkColor](/user/api/SkColor_Reference) - color encoding using integer numbers 13* [SkColor4f](/user/api/SkColor4f_Reference) - color encoding using floating point numbers 14* [SkFont](/user/api/SkFont_Reference) - text style and typeface 15* [SkImage](/user/api/SkImage_Reference) - two dimensional array of pixels to draw 16* [SkImageInfo](/user/api/SkImageInfo_Reference) - pixel dimensions and characteristics 17* [SkIPoint](/user/api/SkIPoint_Reference) - two integer coordinates 18* [SkIRect](/user/api/SkIRect_Reference) - integer rectangle 19* [SkMatrix](/user/api/SkMatrix_Reference) - 3x3 transformation matrix 20* [SkPaint](/user/api/SkPaint_Reference) - color, stroke, font, effects 21* [SkPath](/user/api/SkPath_Reference) - sequence of connected lines and curves 22* [SkPicture](/user/api/SkPicture_Reference) - sequence of drawing commands 23* [SkPixmap](/user/api/SkPixmap_Reference) - pixel map: image info and pixel address 24* [SkPoint](/user/api/SkPoint_Reference) - two floating point coordinates 25* [SkRRect](/user/api/SkRRect_Reference) - floating point rounded rectangle 26* [SkRect](/user/api/SkRect_Reference) - floating point rectangle 27* [SkRegion](/user/api/SkRegion_Reference) - compressed clipping mask 28* [SkSurface](/user/api/SkSurface_Reference) - drawing destination 29* [SkTextBlob](/user/api/SkTextBlob_Reference) - runs of glyphs 30* [SkTextBlobBuilder](/user/api/SkTextBlobBuilder_Reference) - constructor for runs of glyphs 31 32Check out [a graphical overview of examples](api/catalog.htm) 33 34All public APIs are indexed by Doxygen. The Doxyen index is current, but the 35content is dated and incomplete. Doxygen content will be superseded by 36full references with examples. 37 38* [Skia Doxygen](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/index.html) 39 40## Overview 41 42Skia is organized around the `SkCanvas` object. It is the host for the 43"draw" calls: `drawRect`, `drawPath`, `drawText`, etc. Each of these 44has two components: the primitive being drawn (`SkRect`, `SkPath`, etc.) 45and color/style attributes (`SkPaint`). 46 47<!--?prettify lang=cc?--> 48 49 canvas->drawRect(rect, paint); 50 51The paint holds much of the state describing how the rectangle (in 52this case) is drawn: what color it is, if it is filled or stroked, how 53it should blend with what was previously drawn. 54 55The canvas holds relatively little state. It points to the actual 56pixels being drawn, and it maintains a stack of matrices and 57clips. Thus in the above call, the canvas' current matrix may 58transform the coordinates of the rectangle (translation, rotation, 59skewing, perspective), and the canvas' current clip may restrict where 60on the canvas the rectangle will be drawn, but all other stylistic 61attributes of the drawing are controlled by the paint. 62 63Using the SkCanvas API: 64 651. [SkCanvas Overview](/user/api/skcanvas_overview) - the drawing context 662. [SkPaint Overview](/user/api/skpaint_overview) - color, stroke, font, effects 673. [SkCanvas Creation](/user/api/skcanvas_creation) 68 69