OLD | NEW |
1 Creating SkCanvas Objects | 1 Creating SkCanvas Objects |
2 ========================= | 2 ========================= |
3 | 3 |
4 First, read about [the SkCanvas API](skcanvas). | 4 First, read about [the SkCanvas API](skcanvas). |
5 | 5 |
6 Skia has multiple backends which receive SkCanvas drawing commands, | 6 Skia has multiple backends which receive SkCanvas drawing commands, |
7 including: | 7 including: |
8 | 8 |
9 - [Raster](#raster) - CPU-only. | 9 - [Raster](#raster) - CPU-only. |
10 - [Ganesh](#ganesh) - Skia's GPU-accelerated backend. | 10 - [Ganesh](#ganesh) - Skia's GPU-accelerated backend. |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 | 195 |
196 <!--?prettify lang=cc?--> | 196 <!--?prettify lang=cc?--> |
197 | 197 |
198 #include "SkStream.h" | 198 #include "SkStream.h" |
199 #include "SkSVGCanvas.h" | 199 #include "SkSVGCanvas.h" |
200 #include "SkXMLWriter.h" | 200 #include "SkXMLWriter.h" |
201 void sksvg(int width, int height, | 201 void sksvg(int width, int height, |
202 void(*draw)(SkCanvas*), | 202 void(*draw)(SkCanvas*), |
203 const char* path) { | 203 const char* path) { |
204 SkFILEWStream svgStream(path); | 204 SkFILEWStream svgStream(path); |
205 SkAutoTDelete<SkXMLWriter> xmlWriter(SkNEW_ARGS(SkXMLStreamWriter, (&svg
Stream))); | 205 SkAutoTDelete<SkXMLWriter> xmlWriter(new SkXMLStreamWriter(&svgStream)); |
206 SkAutoTUnref<SkCanvas> svgCanvas(SkSVGCanvas::Create( | 206 SkAutoTUnref<SkCanvas> svgCanvas(SkSVGCanvas::Create( |
207 SkRect::MakeWH(SkIntToScalar(src.size().width()), | 207 SkRect::MakeWH(SkIntToScalar(src.size().width()), |
208 SkIntToScalar(src.size().height())), | 208 SkIntToScalar(src.size().height())), |
209 xmlWriter)); | 209 xmlWriter)); |
210 draw(svgCanvas); | 210 draw(svgCanvas); |
211 } | 211 } |
212 | 212 |
213 <span id="example"></span> | 213 <span id="example"></span> |
214 Example | 214 Example |
215 ------- | 215 ------- |
(...skipping 25 matching lines...) Expand all Loading... |
241 canvas->clear(SK_ColorWHITE); | 241 canvas->clear(SK_ColorWHITE); |
242 canvas->translate(0.5f * scale, 0.5f * scale); | 242 canvas->translate(0.5f * scale, 0.5f * scale); |
243 canvas->drawPath(path, p); | 243 canvas->drawPath(path, p); |
244 } | 244 } |
245 DEF_TEST(FourBackends, r) { | 245 DEF_TEST(FourBackends, r) { |
246 raster( 256, 256, example, "out_raster.png" ); | 246 raster( 256, 256, example, "out_raster.png" ); |
247 ganesh( 256, 256, example, "out_ganesh.png" ); | 247 ganesh( 256, 256, example, "out_ganesh.png" ); |
248 skpdf( 256, 256, example, "out_skpdf.pdf" ); | 248 skpdf( 256, 256, example, "out_skpdf.pdf" ); |
249 picture(256, 256, example, "out_picture.skp"); | 249 picture(256, 256, example, "out_picture.skp"); |
250 } | 250 } |
OLD | NEW |