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 "include/gpu/gl/GrGLAssembleInterface.h"
10#include "include/gpu/gl/GrGLInterface.h"
11#include "src/gpu/gl/GrGLUtil.h"
12
13#include <GLFW/glfw3.h>
14
15static GrGLFuncPtr glfw_get(void* ctx, const char name[]) {
16    SkASSERT(nullptr == ctx);
17    SkASSERT(glfwGetCurrentContext());
18    return glfwGetProcAddress(name);
19}
20
21sk_sp<const GrGLInterface> GrGLMakeNativeInterface() {
22    if (nullptr == glfwGetCurrentContext()) {
23        return nullptr;
24    }
25
26    return GrGLMakeAssembledInterface(nullptr, glfw_get);
27}
28
29const GrGLInterface* GrGLCreateNativeInterface() { return GrGLMakeNativeInterface().release(); }
30