| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2012 Google Inc. | 2  * Copyright 2012 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 "SkSurface_Base.h" | 8 #include "SkSurface_Base.h" | 
| 9 #include "SkImagePriv.h" | 9 #include "SkImagePriv.h" | 
| 10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" | 
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 72     // in case the canvas outsurvives us, we null the callback | 72     // in case the canvas outsurvives us, we null the callback | 
| 73     if (fCachedCanvas) { | 73     if (fCachedCanvas) { | 
| 74         fCachedCanvas->setSurfaceBase(nullptr); | 74         fCachedCanvas->setSurfaceBase(nullptr); | 
| 75     } | 75     } | 
| 76 | 76 | 
| 77     SkSafeUnref(fCachedImage); | 77     SkSafeUnref(fCachedImage); | 
| 78     SkSafeUnref(fCachedCanvas); | 78     SkSafeUnref(fCachedCanvas); | 
| 79 } | 79 } | 
| 80 | 80 | 
| 81 void SkSurface_Base::onDraw(SkCanvas* canvas, SkScalar x, SkScalar y, const SkPa
     int* paint) { | 81 void SkSurface_Base::onDraw(SkCanvas* canvas, SkScalar x, SkScalar y, const SkPa
     int* paint) { | 
| 82     SkImage* image = this->newImageSnapshot(kYes_Budgeted); | 82     SkImage* image = this->newImageSnapshot(SkBudgeted::kYes); | 
| 83     if (image) { | 83     if (image) { | 
| 84         canvas->drawImage(image, x, y, paint); | 84         canvas->drawImage(image, x, y, paint); | 
| 85         image->unref(); | 85         image->unref(); | 
| 86     } | 86     } | 
| 87 } | 87 } | 
| 88 | 88 | 
| 89 bool SkSurface_Base::outstandingImageSnapshot() const { | 89 bool SkSurface_Base::outstandingImageSnapshot() const { | 
| 90     return fCachedImage && !fCachedImage->unique(); | 90     return fCachedImage && !fCachedImage->unique(); | 
| 91 } | 91 } | 
| 92 | 92 | 
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 156 } | 156 } | 
| 157 | 157 | 
| 158 void SkSurface::notifyContentWillChange(ContentChangeMode mode) { | 158 void SkSurface::notifyContentWillChange(ContentChangeMode mode) { | 
| 159     asSB(this)->aboutToDraw(mode); | 159     asSB(this)->aboutToDraw(mode); | 
| 160 } | 160 } | 
| 161 | 161 | 
| 162 SkCanvas* SkSurface::getCanvas() { | 162 SkCanvas* SkSurface::getCanvas() { | 
| 163     return asSB(this)->getCachedCanvas(); | 163     return asSB(this)->getCachedCanvas(); | 
| 164 } | 164 } | 
| 165 | 165 | 
| 166 SkImage* SkSurface::newImageSnapshot(Budgeted budgeted) { | 166 SkImage* SkSurface::newImageSnapshot(SkBudgeted budgeted) { | 
| 167     // the caller will call unref() to balance this | 167     // the caller will call unref() to balance this | 
| 168     return asSB(this)->refCachedImage(budgeted, kNo_ForceUnique); | 168     return asSB(this)->refCachedImage(budgeted, kNo_ForceUnique); | 
| 169 } | 169 } | 
| 170 | 170 | 
| 171 SkImage* SkSurface::newImageSnapshot(Budgeted budgeted, ForceUnique unique) { | 171 SkImage* SkSurface::newImageSnapshot(SkBudgeted budgeted, ForceUnique unique) { | 
| 172     // the caller will call unref() to balance this | 172     // the caller will call unref() to balance this | 
| 173     return asSB(this)->refCachedImage(budgeted, unique); | 173     return asSB(this)->refCachedImage(budgeted, unique); | 
| 174 } | 174 } | 
| 175 | 175 | 
| 176 SkSurface* SkSurface::newSurface(const SkImageInfo& info) { | 176 SkSurface* SkSurface::newSurface(const SkImageInfo& info) { | 
| 177     return asSB(this)->onNewSurface(info); | 177     return asSB(this)->onNewSurface(info); | 
| 178 } | 178 } | 
| 179 | 179 | 
| 180 void SkSurface::draw(SkCanvas* canvas, SkScalar x, SkScalar y, | 180 void SkSurface::draw(SkCanvas* canvas, SkScalar x, SkScalar y, | 
| 181                      const SkPaint* paint) { | 181                      const SkPaint* paint) { | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 204 } | 204 } | 
| 205 | 205 | 
| 206 ////////////////////////////////////////////////////////////////////////////////
     ////// | 206 ////////////////////////////////////////////////////////////////////////////////
     ////// | 
| 207 | 207 | 
| 208 #if !SK_SUPPORT_GPU | 208 #if !SK_SUPPORT_GPU | 
| 209 | 209 | 
| 210 SkSurface* SkSurface::NewRenderTargetDirect(GrRenderTarget*, const SkSurfaceProp
     s*) { | 210 SkSurface* SkSurface::NewRenderTargetDirect(GrRenderTarget*, const SkSurfaceProp
     s*) { | 
| 211     return nullptr; | 211     return nullptr; | 
| 212 } | 212 } | 
| 213 | 213 | 
| 214 SkSurface* SkSurface::NewRenderTarget(GrContext*, Budgeted, const SkImageInfo&, 
     int, | 214 SkSurface* SkSurface::NewRenderTarget(GrContext*, SkBudgeted, const SkImageInfo&
     , int, | 
| 215                                       const SkSurfaceProps*, GrTextureStorageAll
     ocator) { | 215                                       const SkSurfaceProps*, GrTextureStorageAll
     ocator) { | 
| 216     return nullptr; | 216     return nullptr; | 
| 217 } | 217 } | 
| 218 | 218 | 
| 219 SkSurface* SkSurface::NewFromBackendTexture(GrContext*, const GrBackendTextureDe
     sc&, | 219 SkSurface* SkSurface::NewFromBackendTexture(GrContext*, const GrBackendTextureDe
     sc&, | 
| 220                                              const SkSurfaceProps*) { | 220                                              const SkSurfaceProps*) { | 
| 221     return nullptr; | 221     return nullptr; | 
| 222 } | 222 } | 
| 223 | 223 | 
| 224 SkSurface* SkSurface::NewFromBackendRenderTarget(GrContext*, const GrBackendRend
     erTargetDesc&, | 224 SkSurface* SkSurface::NewFromBackendRenderTarget(GrContext*, const GrBackendRend
     erTargetDesc&, | 
| 225                                                  const SkSurfaceProps*) { | 225                                                  const SkSurfaceProps*) { | 
| 226     return nullptr; | 226     return nullptr; | 
| 227 } | 227 } | 
| 228 | 228 | 
| 229 SkSurface* NewFromBackendTextureAsRenderTarget(GrContext*, const GrBackendTextur
     eDesc&, | 229 SkSurface* NewFromBackendTextureAsRenderTarget(GrContext*, const GrBackendTextur
     eDesc&, | 
| 230                                                const SkSurfaceProps*) { | 230                                                const SkSurfaceProps*) { | 
| 231     return nullptr; | 231     return nullptr; | 
| 232 } | 232 } | 
| 233 | 233 | 
| 234 #endif | 234 #endif | 
| OLD | NEW | 
|---|