1 // Copyright 2019 The Fuchsia 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 FUCHSIA_EGL_H_
6 #define FUCHSIA_EGL_H_
7 
8 #include <inttypes.h>
9 #include <zircon/types.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #if !defined(FUCHSIA_EGL_EXPORT)
16 #    define FUCHSIA_EGL_EXPORT __attribute__((__visibility__("default")))
17 #endif
18 
19 typedef struct fuchsia_egl_window fuchsia_egl_window;
20 
21 FUCHSIA_EGL_EXPORT
22 fuchsia_egl_window *fuchsia_egl_window_create(zx_handle_t image_pipe_handle,
23                                               int32_t width,
24                                               int32_t height);
25 
26 FUCHSIA_EGL_EXPORT
27 void fuchsia_egl_window_destroy(fuchsia_egl_window *egl_window);
28 
29 FUCHSIA_EGL_EXPORT
30 void fuchsia_egl_window_resize(fuchsia_egl_window *egl_window, int32_t width, int32_t height);
31 
32 FUCHSIA_EGL_EXPORT
33 int32_t fuchsia_egl_window_get_width(fuchsia_egl_window *egl_window);
34 
35 FUCHSIA_EGL_EXPORT
36 int32_t fuchsia_egl_window_get_height(fuchsia_egl_window *egl_window);
37 
38 #ifdef __cplusplus
39 }
40 #endif
41 
42 #endif  // FUCHSIA_EGL_H_
43