1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * Copyright 2018 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef GrRenderTargetProxyPriv_DEFINED
- #define GrRenderTargetProxyPriv_DEFINED
- #include "src/gpu/GrRenderTargetProxy.h"
- /**
- * This class hides the more specialized capabilities of GrRenderTargetProxy.
- */
- class GrRenderTargetProxyPriv {
- public:
- void setGLRTFBOIDIs0() {
- fRenderTargetProxy->setGLRTFBOIDIs0();
- }
- bool glRTFBOIDIs0() const {
- return fRenderTargetProxy->glRTFBOIDIs0();
- }
- private:
- explicit GrRenderTargetProxyPriv(GrRenderTargetProxy* renderTargetProxy)
- : fRenderTargetProxy(renderTargetProxy) {}
- GrRenderTargetProxyPriv(const GrRenderTargetProxyPriv&) {} // unimpl
- GrRenderTargetProxyPriv& operator=(const GrRenderTargetProxyPriv&); // unimpl
- // No taking addresses of this type.
- const GrRenderTargetProxyPriv* operator&() const;
- GrRenderTargetProxyPriv* operator&();
- GrRenderTargetProxy* fRenderTargetProxy;
- friend class GrRenderTargetProxy; // to construct/copy this type.
- };
- inline GrRenderTargetProxyPriv GrRenderTargetProxy::rtPriv() {
- return GrRenderTargetProxyPriv(this);
- }
- inline const GrRenderTargetProxyPriv GrRenderTargetProxy::rtPriv() const {
- return GrRenderTargetProxyPriv(const_cast<GrRenderTargetProxy*>(this));
- }
- #endif
|