diff options
Diffstat (limited to 'include/gpu/gl/GrGLExtensions.h')
-rw-r--r-- | include/gpu/gl/GrGLExtensions.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/include/gpu/gl/GrGLExtensions.h b/include/gpu/gl/GrGLExtensions.h index c9f59a2702..76516cf11f 100644 --- a/include/gpu/gl/GrGLExtensions.h +++ b/include/gpu/gl/GrGLExtensions.h @@ -19,12 +19,17 @@ struct GrGLInterface; * queried. It supports both glGetString- and glGetStringi-style extension string APIs and will * use the latter if it is available. */ -class GrGLExtensions : public SkNoncopyable { +class GrGLExtensions { public: GrGLExtensions() : fInitialized(false), fStrings(SkNEW(SkTArray<SkString>)) {} + GrGLExtensions(const GrGLExtensions&); + + GrGLExtensions& operator=(const GrGLExtensions&); + void swap(GrGLExtensions* that) { fStrings.swap(&that->fStrings); + SkTSwap(fInitialized, that->fInitialized); } /** @@ -42,7 +47,12 @@ public: /** * Queries whether an extension is present. This will fail if init() has not been called. */ - bool has(const char*) const; + bool has(const char[]) const; + + /** + * Removes an extension if present. Returns true if the extension was present before the call. + */ + bool remove(const char[]); void reset() { fStrings->reset(); } |