| OLD | NEW | 
|---|
| 1 | 1 | 
| 2 /* | 2 /* | 
| 3  * Copyright 2013 Google Inc. | 3  * Copyright 2013 Google Inc. | 
| 4  * | 4  * | 
| 5  * Use of this source code is governed by a BSD-style license that can be | 5  * Use of this source code is governed by a BSD-style license that can be | 
| 6  * found in the LICENSE file. | 6  * found in the LICENSE file. | 
| 7  */ | 7  */ | 
| 8 #include "gm.h" | 8 #include "gm.h" | 
| 9 #include "SkBitmap.h" | 9 #include "SkBitmap.h" | 
| 10 #include "SkGradientShader.h" | 10 #include "SkGradientShader.h" | 
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 118      * We are trying to test those. We could use saveLayer() to create small SkG
     puDevices but | 118      * We are trying to test those. We could use saveLayer() to create small SkG
     puDevices but | 
| 119      * saveLayer() uses the texture cache. This means that the actual render tar
     get may be larger | 119      * saveLayer() uses the texture cache. This means that the actual render tar
     get may be larger | 
| 120      * than the layer. Because the clip will contain the layer's bounds, no draw
     s will be full-RT. | 120      * than the layer. Because the clip will contain the layer's bounds, no draw
     s will be full-RT. | 
| 121      * So when running on a GPU canvas we explicitly create a temporary canvas u
     sing a texture with | 121      * So when running on a GPU canvas we explicitly create a temporary canvas u
     sing a texture with | 
| 122      * dimensions exactly matching the layer size. | 122      * dimensions exactly matching the layer size. | 
| 123      */ | 123      */ | 
| 124     SkCanvas* possiblyCreateTempCanvas(SkCanvas* baseCanvas, int w, int h) { | 124     SkCanvas* possiblyCreateTempCanvas(SkCanvas* baseCanvas, int w, int h) { | 
| 125         SkCanvas* tempCanvas = NULL; | 125         SkCanvas* tempCanvas = NULL; | 
| 126 #if SK_SUPPORT_GPU | 126 #if SK_SUPPORT_GPU | 
| 127         GrContext* context = baseCanvas->getGrContext(); | 127         GrContext* context = baseCanvas->getGrContext(); | 
| 128         if (NULL != context) { | 128         if (context) { | 
| 129             GrTextureDesc desc; | 129             GrTextureDesc desc; | 
| 130             desc.fWidth = w; | 130             desc.fWidth = w; | 
| 131             desc.fHeight = h; | 131             desc.fHeight = h; | 
| 132             desc.fConfig = SkImageInfo2GrPixelConfig(baseCanvas->imageInfo()); | 132             desc.fConfig = SkImageInfo2GrPixelConfig(baseCanvas->imageInfo()); | 
| 133             desc.fFlags = kRenderTarget_GrTextureFlagBit; | 133             desc.fFlags = kRenderTarget_GrTextureFlagBit; | 
| 134             SkAutoTUnref<GrSurface> surface(context->createUncachedTexture(desc,
      NULL, 0)); | 134             SkAutoTUnref<GrSurface> surface(context->createUncachedTexture(desc,
      NULL, 0)); | 
| 135             SkAutoTUnref<SkBaseDevice> device(SkGpuDevice::Create(surface.get())
     ); | 135             SkAutoTUnref<SkBaseDevice> device(SkGpuDevice::Create(surface.get())
     ); | 
| 136             if (NULL != device.get()) { | 136             if (device.get()) { | 
| 137                 tempCanvas = SkNEW_ARGS(SkCanvas, (device.get())); | 137                 tempCanvas = SkNEW_ARGS(SkCanvas, (device.get())); | 
| 138             } | 138             } | 
| 139         } | 139         } | 
| 140 #endif | 140 #endif | 
| 141         return tempCanvas; | 141         return tempCanvas; | 
| 142     } | 142     } | 
| 143 | 143 | 
| 144     void drawMode(SkCanvas* canvas, | 144     void drawMode(SkCanvas* canvas, | 
| 145                   int x, int y, int w, int h, | 145                   int x, int y, int w, int h, | 
| 146                   const SkPaint& modePaint, SkCanvas* layerCanvas) { | 146                   const SkPaint& modePaint, SkCanvas* layerCanvas) { | 
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 237     SkAutoTUnref<SkShader> fBmpShader; | 237     SkAutoTUnref<SkShader> fBmpShader; | 
| 238 | 238 | 
| 239     typedef GM INHERITED; | 239     typedef GM INHERITED; | 
| 240 }; | 240 }; | 
| 241 | 241 | 
| 242 ////////////////////////////////////////////////////////////////////////////// | 242 ////////////////////////////////////////////////////////////////////////////// | 
| 243 | 243 | 
| 244 DEF_GM(return new Xfermodes3GM;) | 244 DEF_GM(return new Xfermodes3GM;) | 
| 245 | 245 | 
| 246 } | 246 } | 
| OLD | NEW | 
|---|