Index: include/gpu/gl/command_buffer/SkCommandBufferGLContext.h |
diff --git a/include/gpu/gl/command_buffer/SkCommandBufferGLContext.h b/include/gpu/gl/command_buffer/SkCommandBufferGLContext.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7fece3c83c1a43eb7fd4d85bcfa0e08ae4fa7e51 |
--- /dev/null |
+++ b/include/gpu/gl/command_buffer/SkCommandBufferGLContext.h |
@@ -0,0 +1,66 @@ |
+ |
+/* |
+ * Copyright 2015 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+#ifndef SKCOMMANDBUFFERGLCONTEXT_DEFINED |
+#define SKCOMMANDBUFFERGLCONTEXT_DEFINED |
+ |
+#if SK_COMMAND_BUFFER |
+ |
+#include "gl/SkGLContext.h" |
+ |
+class SkCommandBufferGLContext : public SkGLContext { |
+public: |
+ ~SkCommandBufferGLContext() override; |
+ |
+ static SkCommandBufferGLContext* Create(GrGLStandard forcedGpuAPI) { |
+ if (kGL_GrGLStandard == forcedGpuAPI) { |
+ return nullptr; |
+ } |
+ SkCommandBufferGLContext* ctx = new SkCommandBufferGLContext; |
+ if (!ctx->isValid()) { |
+ delete ctx; |
+ return nullptr; |
+ } |
+ return ctx; |
+ } |
+ |
+ static SkCommandBufferGLContext* Create(void* nativeWindow, int msaaSampleCount) { |
+ SkCommandBufferGLContext* ctx = new SkCommandBufferGLContext(nativeWindow, |
+ msaaSampleCount); |
+ if (!ctx->isValid()) { |
+ delete ctx; |
+ return nullptr; |
+ } |
+ return ctx; |
+ } |
+ |
+ void presentCommandBuffer(); |
+ |
+ bool makeCurrent(); |
+ int getStencilBits(); |
+ int getSampleCount(); |
+ |
+private: |
+ SkCommandBufferGLContext(); |
+ SkCommandBufferGLContext(void* nativeWindow, int msaaSampleCount); |
+ void initializeGLContext(void* nativeWindow, const int* configAttribs, |
+ const int* surfaceAttribs); |
+ void destroyGLContext(); |
+ |
+ void onPlatformMakeCurrent() const override; |
+ void onPlatformSwapBuffers() const override; |
+ GrGLFuncPtr onPlatformGetProcAddress(const char* name) const override; |
+ |
+ void* fContext; |
+ void* fDisplay; |
+ void* fSurface; |
+ void* fConfig; |
+}; |
+ |
+#endif // SK_COMMAND_BUFFER |
+ |
+#endif |