| 1 | /* | 
|---|
| 2 | * Copyright 2014 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 | #include "include/gpu/gl/GrGLInterface.h" | 
|---|
| 9 |  | 
|---|
| 10 | typedef GrGLFuncPtr (*GrGLGetProc)(void* ctx, const char name[]); | 
|---|
| 11 |  | 
|---|
| 12 | /** | 
|---|
| 13 | * Generic function for creating a GrGLInterface for an either OpenGL or GLES. It calls | 
|---|
| 14 | * get() to get each function address. ctx is a generic ptr passed to and interpreted by get(). | 
|---|
| 15 | */ | 
|---|
| 16 | SK_API sk_sp<const GrGLInterface> GrGLMakeAssembledInterface(void *ctx, GrGLGetProc get); | 
|---|
| 17 |  | 
|---|
| 18 | /** | 
|---|
| 19 | * Generic function for creating a GrGLInterface for an OpenGL (but not GLES) context. It calls | 
|---|
| 20 | * get() to get each function address. ctx is a generic ptr passed to and interpreted by get(). | 
|---|
| 21 | */ | 
|---|
| 22 | SK_API sk_sp<const GrGLInterface> GrGLMakeAssembledGLInterface(void *ctx, GrGLGetProc get); | 
|---|
| 23 |  | 
|---|
| 24 | /** | 
|---|
| 25 | * Generic function for creating a GrGLInterface for an OpenGL ES (but not Open GL) context. It | 
|---|
| 26 | * calls get() to get each function address. ctx is a generic ptr passed to and interpreted by | 
|---|
| 27 | * get(). | 
|---|
| 28 | */ | 
|---|
| 29 | SK_API sk_sp<const GrGLInterface> GrGLMakeAssembledGLESInterface(void *ctx, GrGLGetProc get); | 
|---|
| 30 |  | 
|---|
| 31 | /** | 
|---|
| 32 | * Generic function for creating a GrGLInterface for a WebGL (similar to OpenGL ES) context. It | 
|---|
| 33 | * calls get() to get each function address. ctx is a generic ptr passed to and interpreted by | 
|---|
| 34 | * get(). | 
|---|
| 35 | */ | 
|---|
| 36 | SK_API sk_sp<const GrGLInterface> GrGLMakeAssembledWebGLInterface(void *ctx, GrGLGetProc get); | 
|---|
| 37 |  | 
|---|
| 38 | /** Deprecated version of GrGLMakeAssembledInterface() that returns a bare pointer. */ | 
|---|
| 39 | SK_API const GrGLInterface* GrGLAssembleInterface(void *ctx, GrGLGetProc get); | 
|---|
| 40 |  | 
|---|