wayland-egl.c revision 2a81037439afb04d4170f674646cdae59619707d
1#include <stdlib.h> 2 3#include <wayland-client.h> 4#include "wayland-egl.h" 5#include "wayland-egl-priv.h" 6 7WL_EGL_EXPORT void 8wl_egl_window_resize(struct wl_egl_window *egl_window, 9 int width, int height, 10 int dx, int dy) 11{ 12 egl_window->width = width; 13 egl_window->height = height; 14 egl_window->dx = dx; 15 egl_window->dy = dy; 16} 17 18WL_EGL_EXPORT struct wl_egl_window * 19wl_egl_window_create(struct wl_surface *surface, 20 int width, int height) 21{ 22 struct wl_egl_window *egl_window; 23 24 egl_window = malloc(sizeof *egl_window); 25 if (!egl_window) 26 return NULL; 27 28 egl_window->surface = surface; 29 wl_egl_window_resize(egl_window, width, height, 0, 0); 30 egl_window->attached_width = 0; 31 egl_window->attached_height = 0; 32 33 return egl_window; 34} 35 36WL_EGL_EXPORT void 37wl_egl_window_destroy(struct wl_egl_window *egl_window) 38{ 39 free(egl_window); 40} 41 42WL_EGL_EXPORT void 43wl_egl_window_get_attached_size(struct wl_egl_window *egl_window, 44 int *width, int *height) 45{ 46 if (width) 47 *width = egl_window->attached_width; 48 if (height) 49 *height = egl_window->attached_height; 50} 51