| OLD | NEW |
| 1 SkCanvas | 1 SkCanvas |
| 2 ======== | 2 ======== |
| 3 | 3 |
| 4 *The drawing context* | 4 *The drawing context* |
| 5 | 5 |
| 6 <!-- Updated Mar 4, 2011 --> | 6 <!-- Updated Mar 4, 2011 --> |
| 7 | 7 |
| 8 Preview | 8 Preview |
| 9 ------- | 9 ------- |
| 10 | 10 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 a stack of matrices and clips. Note however, that unlike similar | 43 a stack of matrices and clips. Note however, that unlike similar |
| 44 contexts in other APIs like postscript, cairo, or awt, Skia does not | 44 contexts in other APIs like postscript, cairo, or awt, Skia does not |
| 45 store any other drawing attributes in the context (e.g. color, pen | 45 store any other drawing attributes in the context (e.g. color, pen |
| 46 size). Rather, these are specified explicitly in each draw call, via a | 46 size). Rather, these are specified explicitly in each draw call, via a |
| 47 SkPaint. | 47 SkPaint. |
| 48 | 48 |
| 49 <!--?prettify lang=cc?--> | 49 <!--?prettify lang=cc?--> |
| 50 | 50 |
| 51 void draw(SkCanvas* canvas) { | 51 void draw(SkCanvas* canvas) { |
| 52 canvas->save(); | 52 canvas->save(); |
| 53 canvas->translate(SkIntToScalar(128), SkIntToScalar(128)); |
| 53 canvas->rotate(SkIntToScalar(45)); | 54 canvas->rotate(SkIntToScalar(45)); |
| 54 SkRect rect = SkRect::MakeXYWH(150, -50, 100, 100); | 55 SkRect rect = SkRect::MakeXYWH(-90.5f, -90.5f, 181.0f, 181.0f); |
| 55 SkPaint paint; | 56 SkPaint paint; |
| 57 paint.setColor(SK_ColorBLUE); |
| 56 canvas->drawRect(rect, paint); | 58 canvas->drawRect(rect, paint); |
| 57 canvas->restore(); | 59 canvas->restore(); |
| 58 } | 60 } |
| 59 | 61 |
| 60 <a href="https://fiddle.skia.org/c/71f2e87df2be1cdbc44139ee3e2790eb"> | 62 <a href="https://fiddle.skia.org/c/6af99894b40ea1331f6a79d55a4cbfd7"> |
| 61 <img src="https://fiddle.skia.org/i/71f2e87df2be1cdbc44139ee3e2790eb_raster.png"
></a> | 63 <img src="https://fiddle.skia.org/i/6af99894b40ea1331f6a79d55a4cbfd7_raster.png"
></a> |
| 62 | 64 |
| 63 The code above will draw a rectangle rotated by 45 degrees. Exactly | 65 The code above will draw a rectangle rotated by 45 degrees. Exactly |
| 64 what color and style the rect will be drawn in is described by the | 66 what color and style the rect will be drawn in is described by the |
| 65 paint, not the canvas. | 67 paint, not the canvas. |
| 66 | 68 |
| 67 Check out more detailed info on [creating a SkCanvas object](canvas). | 69 Check out more detailed info on [creating a SkCanvas object](canvas). |
| 68 | 70 |
| 69 To begin with, we might want to erase the entire canvas. We can do | 71 To begin with, we might want to erase the entire canvas. We can do |
| 70 this by drawing an enormous rectangle, but there are easier ways to do | 72 this by drawing an enormous rectangle, but there are easier ways to do |
| 71 it. | 73 it. |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 } | 140 } |
| 139 | 141 |
| 140 <a href="https://fiddle.skia.org/c/35b614d41e60289461d658a9d509e28d"> | 142 <a href="https://fiddle.skia.org/c/35b614d41e60289461d658a9d509e28d"> |
| 141 <img src="https://fiddle.skia.org/i/35b614d41e60289461d658a9d509e28d_raster.png"
></a> | 143 <img src="https://fiddle.skia.org/i/35b614d41e60289461d658a9d509e28d_raster.png"
></a> |
| 142 | 144 |
| 143 In some of the calls, we pass a pointer, rather than a reference, to | 145 In some of the calls, we pass a pointer, rather than a reference, to |
| 144 the paint. In those instances, the paint parameter may be null. In all | 146 the paint. In those instances, the paint parameter may be null. In all |
| 145 other cases the paint parameter is required. | 147 other cases the paint parameter is required. |
| 146 | 148 |
| 147 Next: [SkPaint](/user/api/skpaint) | 149 Next: [SkPaint](/user/api/skpaint) |
| OLD | NEW |