• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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