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 glfw_get(void * ctx,const char name[])15static GrGLFuncPtr glfw_get(void* ctx, const char name[]) { 16 SkASSERT(nullptr == ctx); 17 SkASSERT(glfwGetCurrentContext()); 18 return glfwGetProcAddress(name); 19 } 20 GrGLMakeNativeInterface()21sk_sp<const GrGLInterface> GrGLMakeNativeInterface() { 22 if (nullptr == glfwGetCurrentContext()) { 23 return nullptr; 24 } 25 26 return GrGLMakeAssembledInterface(nullptr, glfw_get); 27 } 28 GrGLCreateNativeInterface()29const GrGLInterface* GrGLCreateNativeInterface() { return GrGLMakeNativeInterface().release(); } 30