Home | History | Annotate | Download | only in glfw
      1 /*
      2  * Copyright 2016 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 
      9 #include "gl/GrGLInterface.h"
     10 #include "gl/GrGLAssembleInterface.h"
     11 #include "gl/GrGLUtil.h"
     12 
     13 #include <GLFW/glfw3.h>
     14 
     15 static GrGLFuncPtr glfw_get(void* ctx, const char name[]) {
     16     SkASSERT(nullptr == ctx);
     17     SkASSERT(glfwGetCurrentContext());
     18     return glfwGetProcAddress(name);
     19 }
     20 
     21 sk_sp<const GrGLInterface> GrGLMakeNativeInterface() {
     22     if (nullptr == glfwGetCurrentContext()) {
     23         return nullptr;
     24     }
     25 
     26     return GrGLMakeAssembledInterface(nullptr, glfw_get);
     27 }
     28 
     29 const GrGLInterface* GrGLCreateNativeInterface() { return GrGLMakeNativeInterface().release(); }
     30