/*
|
* 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 "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
|