Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
#include 
2
 
3
#include 
4
#include "wayland-egl.h"
5
#include "wayland-egl-priv.h"
6
 
7
WL_EGL_EXPORT void
8
wl_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
	if (egl_window->resize_callback)
18
		egl_window->resize_callback(egl_window, egl_window->private);
19
}
20
 
21
WL_EGL_EXPORT struct wl_egl_window *
22
wl_egl_window_create(struct wl_surface *surface,
23
		     int width, int height)
24
{
25
	struct wl_egl_window *egl_window;
26
 
27
	egl_window = malloc(sizeof *egl_window);
28
	if (!egl_window)
29
		return NULL;
30
 
31
	egl_window->surface = surface;
32
	egl_window->private = NULL;
33
	egl_window->resize_callback = NULL;
34
	wl_egl_window_resize(egl_window, width, height, 0, 0);
35
	egl_window->attached_width  = 0;
36
	egl_window->attached_height = 0;
37
 
38
	return egl_window;
39
}
40
 
41
WL_EGL_EXPORT void
42
wl_egl_window_destroy(struct wl_egl_window *egl_window)
43
{
44
	free(egl_window);
45
}
46
 
47
WL_EGL_EXPORT void
48
wl_egl_window_get_attached_size(struct wl_egl_window *egl_window,
49
				int *width, int *height)
50
{
51
	if (width)
52
		*width = egl_window->attached_width;
53
	if (height)
54
		*height = egl_window->attached_height;
55
}