• 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.
35
36*   [Skia Doxygen](https://api.skia.org)
37
38## Overview
39
40Skia is organized around the `SkCanvas` object. It is the host for the
41"draw" calls: `drawRect`, `drawPath`, `drawText`, etc. Each of these
42has two components: the primitive being drawn (`SkRect`, `SkPath`, etc.)
43and color/style attributes (`SkPaint`).
44
45<!--?prettify lang=cc?-->
46
47    canvas->drawRect(rect, paint);
48
49The paint holds much of the state describing how the rectangle (in
50this case) is drawn: what color it is, if it is filled or stroked, how
51it should blend with what was previously drawn.
52
53The canvas holds relatively little state. It points to the actual
54pixels being drawn, and it maintains a stack of matrices and
55clips. Thus in the above call, the canvas' current matrix may
56transform the coordinates of the rectangle (translation, rotation,
57skewing, perspective), and the canvas' current clip may restrict where
58on the canvas the rectangle will be drawn, but all other stylistic
59attributes of the drawing are controlled by the paint.
60
61Using the SkCanvas API:
62
631.  [SkCanvas Overview](/user/api/skcanvas_overview) - the drawing context
642.  [SkPaint Overview](/user/api/skpaint_overview) - color, stroke, font, effects
653.  [SkCanvas Creation](/user/api/skcanvas_creation)
66
67