| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2015 Google Inc. | 2  * Copyright 2015 Google Inc. | 
| 3  * | 3  * | 
| 4  * Use of this source code is governed by a BSD-style license that can be | 4  * Use of this source code is governed by a BSD-style license that can be | 
| 5  * found in the LICENSE file. | 5  * found in the LICENSE file. | 
| 6  */ | 6  */ | 
| 7 | 7 | 
| 8 #include "SkImageGenerator.h" | 8 #include "SkImageGenerator.h" | 
| 9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" | 
| 10 #include "SkMatrix.h" | 10 #include "SkMatrix.h" | 
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 131 #if SK_SUPPORT_GPU | 131 #if SK_SUPPORT_GPU | 
| 132 #include "GrTexture.h" | 132 #include "GrTexture.h" | 
| 133 | 133 | 
| 134 GrTexture* SkPictureImageGenerator::onGenerateTexture(GrContext* ctx, const SkIR
     ect* subset) { | 134 GrTexture* SkPictureImageGenerator::onGenerateTexture(GrContext* ctx, const SkIR
     ect* subset) { | 
| 135     const SkImageInfo& info = this->getInfo(); | 135     const SkImageInfo& info = this->getInfo(); | 
| 136     SkImageInfo surfaceInfo = subset ? info.makeWH(subset->width(), subset->heig
     ht()) : info; | 136     SkImageInfo surfaceInfo = subset ? info.makeWH(subset->width(), subset->heig
     ht()) : info; | 
| 137 | 137 | 
| 138     // | 138     // | 
| 139     // TODO: respect the usage, by possibly creating a different (pow2) surface | 139     // TODO: respect the usage, by possibly creating a different (pow2) surface | 
| 140     // | 140     // | 
| 141     SkAutoTUnref<SkSurface> surface(SkSurface::NewRenderTarget(ctx, SkBudgeted::
     kYes, | 141     SkAutoTUnref<SkSurface> surface(SkSurface::NewRenderTarget(ctx, | 
|  | 142                                                                SkSurface::kYes_B
     udgeted, | 
| 142                                                                surfaceInfo)); | 143                                                                surfaceInfo)); | 
| 143     if (!surface.get()) { | 144     if (!surface.get()) { | 
| 144         return nullptr; | 145         return nullptr; | 
| 145     } | 146     } | 
| 146 | 147 | 
| 147     SkMatrix matrix = fMatrix; | 148     SkMatrix matrix = fMatrix; | 
| 148     if (subset) { | 149     if (subset) { | 
| 149         matrix.postTranslate(-subset->x(), -subset->y()); | 150         matrix.postTranslate(-subset->x(), -subset->y()); | 
| 150     } | 151     } | 
| 151     surface->getCanvas()->clear(0); // does NewRenderTarget promise to do this f
     or us? | 152     surface->getCanvas()->clear(0); // does NewRenderTarget promise to do this f
     or us? | 
| 152     surface->getCanvas()->drawPicture(fPicture, &matrix, fPaint.getMaybeNull()); | 153     surface->getCanvas()->drawPicture(fPicture, &matrix, fPaint.getMaybeNull()); | 
| 153     SkAutoTUnref<SkImage> image(surface->newImageSnapshot()); | 154     SkAutoTUnref<SkImage> image(surface->newImageSnapshot()); | 
| 154     if (!image.get()) { | 155     if (!image.get()) { | 
| 155         return nullptr; | 156         return nullptr; | 
| 156     } | 157     } | 
| 157     return SkSafeRef(image->getTexture()); | 158     return SkSafeRef(image->getTexture()); | 
| 158 } | 159 } | 
| 159 #endif | 160 #endif | 
| OLD | NEW | 
|---|