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 egl_window
->width
= width
;
13 egl_window
->height
= height
;
18 WL_EGL_EXPORT
struct wl_egl_window
*
19 wl_egl_window_create(struct wl_surface
*surface
,
20 int width
, int height
,
21 struct wl_visual
*visual
)
23 struct wl_egl_window
*egl_window
;
25 egl_window
= malloc(sizeof *egl_window
);
29 egl_window
->surface
= surface
;
30 egl_window
->visual
= visual
;
31 wl_egl_window_resize(egl_window
, width
, height
, 0, 0);
32 egl_window
->attached_width
= 0;
33 egl_window
->attached_height
= 0;
39 wl_egl_window_destroy(struct wl_egl_window
*egl_window
)
45 wl_egl_window_get_attached_size(struct wl_egl_window
*egl_window
,
46 int *width
, int *height
)
49 *width
= egl_window
->attached_width
;
51 *height
= egl_window
->attached_height
;
54 WL_EGL_EXPORT
struct wl_egl_pixmap
*
55 wl_egl_pixmap_create(int width
, int height
,
56 struct wl_visual
*visual
, uint32_t flags
)
58 struct wl_egl_pixmap
*egl_pixmap
;
60 egl_pixmap
= malloc(sizeof *egl_pixmap
);
61 if (egl_pixmap
== NULL
)
64 egl_pixmap
->width
= width
;
65 egl_pixmap
->height
= height
;
66 egl_pixmap
->visual
= visual
;
68 egl_pixmap
->destroy
= NULL
;
69 egl_pixmap
->buffer
= NULL
;
70 egl_pixmap
->driver_private
= NULL
;
76 wl_egl_pixmap_destroy(struct wl_egl_pixmap
*egl_pixmap
)
78 if (egl_pixmap
->destroy
)
79 egl_pixmap
->destroy(egl_pixmap
);
83 WL_EGL_EXPORT
struct wl_buffer
*
84 wl_egl_pixmap_create_buffer(struct wl_egl_pixmap
*egl_pixmap
)
86 return egl_pixmap
->buffer
;