OLD | NEW |
(Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef __eglplatform_shim_h_ |
| 6 #define __eglplatform_shim_h_ |
| 7 |
| 8 #include <EGL/egl.h> |
| 9 |
| 10 #ifdef __cplusplus |
| 11 extern "C" { |
| 12 #endif |
| 13 |
| 14 #define SHIM_EXPORT __attribute__((visibility("default"))) |
| 15 |
| 16 // Simple integral native window identifier. |
| 17 // NB: Unlike EGLNativeWindowType, this will be shipped between processes. |
| 18 typedef int ShimNativeWindowId; |
| 19 #define SHIM_NO_WINDOW_ID ((ShimNativeWindowId)0) |
| 20 |
| 21 /* QueryString targets */ |
| 22 #define SHIM_EGL_LIBRARY 0x1001 |
| 23 #define SHIM_GLES_LIBRARY 0x1002 |
| 24 |
| 25 /* CreateWindow / QueryWindow attributes */ |
| 26 #define SHIM_WINDOW_WIDTH 0x0001 |
| 27 #define SHIM_WINDOW_HEIGHT 0x0002 |
| 28 |
| 29 // Query global implementation information. |
| 30 SHIM_EXPORT const char* ShimQueryString(int name); |
| 31 |
| 32 // Init/terminate library. |
| 33 SHIM_EXPORT bool ShimInitialize(); |
| 34 SHIM_EXPORT bool ShimTerminate(); |
| 35 |
| 36 // Create window handle & query window properties (called from browser process). |
| 37 SHIM_EXPORT ShimNativeWindowId ShimCreateWindow(const int* attrib_list); |
| 38 SHIM_EXPORT bool ShimQueryWindow(ShimNativeWindowId window_id, |
| 39 int attribute, |
| 40 int* value); |
| 41 SHIM_EXPORT bool ShimDestroyWindow(ShimNativeWindowId window_id); |
| 42 |
| 43 // Manage actual EGL platform objects (called from GPU process). |
| 44 SHIM_EXPORT EGLNativeDisplayType ShimGetNativeDisplay(); |
| 45 SHIM_EXPORT EGLNativeWindowType |
| 46 ShimGetNativeWindow(ShimNativeWindowId native_window_id); |
| 47 SHIM_EXPORT bool ShimReleaseNativeWindow(EGLNativeWindowType native_window); |
| 48 |
| 49 #ifdef __cplusplus |
| 50 } |
| 51 #endif |
| 52 |
| 53 #endif /* __eglplatform_shim_h */ |
OLD | NEW |