1dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
2dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com/*
3dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com * Copyright 2012 Google Inc.
4dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com *
5dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com * Use of this source code is governed by a BSD-style license that can be
6dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com * found in the LICENSE file.
7dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com */
8dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
9dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com#ifndef GrRenderBufferObj_DEFINED
10dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com#define GrRenderBufferObj_DEFINED
11dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
12dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com#include "GrFBBindableObj.h"
13dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
14dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com////////////////////////////////////////////////////////////////////////////////
15dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.comclass GrRenderBufferObj : public GrFBBindableObj {
16dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    GR_DEFINE_CREATOR(GrRenderBufferObj);
17dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
18dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.compublic:
19dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    GrRenderBufferObj()
20dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com        : GrFBBindableObj()
21dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com        , fBound(false) {
22dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    }
23dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
24dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    void setBound()         { fBound = true; }
25dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    void resetBound()       { fBound = false; }
26dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    bool getBound() const   { return fBound; }
27dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
28dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    virtual void deleteAction() SK_OVERRIDE {
29dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
30dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com        this->INHERITED::deleteAction();
31dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    }
32dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
33dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.comprotected:
34dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.comprivate:
35dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    bool fBound;           // is this render buffer currently bound via "glBindRenderbuffer"?
36dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
37dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com    typedef GrFBBindableObj INHERITED;
38dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com};
39dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com
40dd743fefad9764ad86d7f69deec32e9a3b5de47frobertphillips@google.com#endif // GrRenderBufferObj_DEFINED
41