3 #include <wayland-client.h>
4 #include "wayland-egl.h"
5 #include "wayland-egl-priv.h"
8 wl_egl_window_resize(struct wl_egl_window
*egl_window
,
12 if (width
<= 0 || height
<= 0)
15 egl_window
->width
= width
;
16 egl_window
->height
= height
;
20 if (egl_window
->resize_callback
)
21 egl_window
->resize_callback(egl_window
, egl_window
->private);
24 WL_EGL_EXPORT
struct wl_egl_window
*
25 wl_egl_window_create(struct wl_surface
*surface
,
26 int width
, int height
)
28 struct wl_egl_window
*egl_window
;
30 if (width
<= 0 || height
<= 0)
33 egl_window
= malloc(sizeof *egl_window
);
37 egl_window
->surface
= surface
;
38 egl_window
->private = NULL
;
39 egl_window
->resize_callback
= NULL
;
40 wl_egl_window_resize(egl_window
, width
, height
, 0, 0);
41 egl_window
->attached_width
= 0;
42 egl_window
->attached_height
= 0;
48 wl_egl_window_destroy(struct wl_egl_window
*egl_window
)
54 wl_egl_window_get_attached_size(struct wl_egl_window
*egl_window
,
55 int *width
, int *height
)
58 *width
= egl_window
->attached_width
;
60 *height
= egl_window
->attached_height
;