diff options
Diffstat (limited to 'tools/viewer/sk_app/ios/GLWindowContext_ios.cpp')
-rw-r--r-- | tools/viewer/sk_app/ios/GLWindowContext_ios.cpp | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/tools/viewer/sk_app/ios/GLWindowContext_ios.cpp b/tools/viewer/sk_app/ios/GLWindowContext_ios.cpp deleted file mode 100644 index 30bacf5cea..0000000000 --- a/tools/viewer/sk_app/ios/GLWindowContext_ios.cpp +++ /dev/null @@ -1,109 +0,0 @@ - -/* - * Copyright 2017 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <OpenGLES/ES2/gl.h> -#include "../GLWindowContext.h" -#include "SDL.h" -#include "WindowContextFactory_ios.h" -#include "gl/GrGLInterface.h" - -using sk_app::DisplayParams; -using sk_app::window_context_factory::IOSWindowInfo; -using sk_app::GLWindowContext; - -namespace { - -class GLWindowContext_ios : public GLWindowContext { -public: - GLWindowContext_ios(const IOSWindowInfo&, const DisplayParams&); - - ~GLWindowContext_ios() override; - - void onSwapBuffers() override; - - sk_sp<const GrGLInterface> onInitializeContext() override; - void onDestroyContext() override; - -private: - SDL_Window* fWindow; - SDL_GLContext fGLContext; - - typedef GLWindowContext INHERITED; -}; - -GLWindowContext_ios::GLWindowContext_ios(const IOSWindowInfo& info, const DisplayParams& params) - : INHERITED(params) - , fWindow(info.fWindow) - , fGLContext(nullptr) { - - // any config code here (particularly for msaa)? - - this->initializeContext(); -} - -GLWindowContext_ios::~GLWindowContext_ios() { - this->destroyContext(); -} - -sk_sp<const GrGLInterface> GLWindowContext_ios::onInitializeContext() { - SkASSERT(fWindow); - - fGLContext = SDL_GL_CreateContext(fWindow); - if (!fGLContext) { - SkDebugf("%s\n", SDL_GetError()); - return nullptr; - } - - if (0 == SDL_GL_MakeCurrent(fWindow, fGLContext)) { - glClearStencil(0); - glClearColor(0, 0, 0, 0); - glStencilMask(0xffffffff); - glClear(GL_STENCIL_BUFFER_BIT | GL_COLOR_BUFFER_BIT); - - SDL_GL_GetAttribute(SDL_GL_STENCIL_SIZE, &fStencilBits); - SDL_GL_GetAttribute(SDL_GL_MULTISAMPLESAMPLES, &fSampleCount); - - SDL_GL_GetDrawableSize(fWindow, &fWidth, &fHeight); - glViewport(0, 0, fWidth, fHeight); - } else { - SkDebugf("MakeCurrent failed: %s\n", SDL_GetError()); - } - return sk_sp<const GrGLInterface>(GrGLCreateNativeInterface()); -} - -void GLWindowContext_ios::onDestroyContext() { - if (!fWindow || !fGLContext) { - return; - } - SDL_GL_DeleteContext(fGLContext); - fGLContext = nullptr; -} - - -void GLWindowContext_ios::onSwapBuffers() { - if (fWindow && fGLContext) { - SDL_GL_SwapWindow(fWindow); - } -} - -} // anonymous namespace - -namespace sk_app { -namespace window_context_factory { - -WindowContext* NewGLForIOS(const IOSWindowInfo& info, const DisplayParams& params) { - WindowContext* ctx = new GLWindowContext_ios(info, params); - if (!ctx->isValid()) { - delete ctx; - return nullptr; - } - return ctx; -} - -} // namespace window_context_factory -} // namespace sk_app |