Make "priv" classes for GrTexure and GrSurface.
R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/596053002
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h
index 45cd599..366fba9 100644
--- a/include/gpu/GrContext.h
+++ b/include/gpu/GrContext.h
@@ -1082,7 +1082,7 @@
* Gets and locks a scratch texture from a descriptor using either exact or approximate criteria.
* Unlocks texture in the destructor.
*/
-class GrAutoScratchTexture : public ::SkNoncopyable {
+class SK_API GrAutoScratchTexture : public ::SkNoncopyable {
public:
GrAutoScratchTexture()
: fContext(NULL)
@@ -1121,24 +1121,7 @@
* Note that the caller is assumed to accept and manage the ref to the
* returned texture.
*/
- GrTexture* detach() {
- if (NULL == fTexture) {
- return NULL;
- }
- GrTexture* texture = fTexture;
- fTexture = NULL;
-
- // This GrAutoScratchTexture has a ref from lockAndRefScratchTexture, which we give up now.
- // The cache also has a ref which we are lending to the caller of detach(). When the caller
- // lets go of the ref and the ref count goes to 0 internal_dispose will see this flag is
- // set and re-ref the texture, thereby restoring the cache's ref.
- SkASSERT(!texture->unique());
- texture->impl()->setFlag((GrTextureFlags) GrTextureImpl::kReturnToCache_FlagBit);
- texture->unref();
- SkASSERT(texture->getCacheEntry());
-
- return texture;
- }
+ GrTexture* detach();
GrTexture* set(GrContext* context,
const GrTextureDesc& desc,