| 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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 #include "SkImage.h" | 83 #include "SkImage.h" |
| 84 #include "SkStream.h" | 84 #include "SkStream.h" |
| 85 #include "SkSurface.h" | 85 #include "SkSurface.h" |
| 86 void ganesh(int width, int height, | 86 void ganesh(int width, int height, |
| 87 void(*draw)(SkCanvas*), | 87 void(*draw)(SkCanvas*), |
| 88 const char* path) { | 88 const char* path) { |
| 89 GrContextFactory grFactory; | 89 GrContextFactory grFactory; |
| 90 GrContext* context = grFactory.get(GrContextFactory::kNative_GLContextTy
pe); | 90 GrContext* context = grFactory.get(GrContextFactory::kNative_GLContextTy
pe); |
| 91 SkImageInfo info = SkImageInfo:: MakeN32Premul(width, height); | 91 SkImageInfo info = SkImageInfo:: MakeN32Premul(width, height); |
| 92 SkAutoTUnref<SkSurface> gpuSurface( | 92 SkAutoTUnref<SkSurface> gpuSurface( |
| 93 SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info)); | 93 SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, inf
o)); |
| 94 if (!gpuSurface) { | 94 if (!gpuSurface) { |
| 95 SkDebugf("SkSurface::NewRenderTarget returned null\n"); | 95 SkDebugf("SkSurface::NewRenderTarget returned null\n"); |
| 96 return; | 96 return; |
| 97 } | 97 } |
| 98 SkCanvas* gpuCanvas = gpuSurface->getCanvas(); | 98 SkCanvas* gpuCanvas = gpuSurface->getCanvas(); |
| 99 draw(gpuCanvas); | 99 draw(gpuCanvas); |
| 100 SkAutoTUnref<SkImage> img(s->newImageSnapshot()); | 100 SkAutoTUnref<SkImage> img(s->newImageSnapshot()); |
| 101 if (!img) { return; } | 101 if (!img) { return; } |
| 102 SkAutoTUnref<SkData> png(img->encode()); | 102 SkAutoTUnref<SkData> png(img->encode()); |
| 103 if (!png) { return; } | 103 if (!png) { return; } |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after 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 |