1 /* 2 * Copyright © 2016 Quentin "Sardem FF7" Glidic 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining 5 * a copy of this software and associated documentation files (the 6 * "Software"), to deal in the Software without restriction, including 7 * without limitation the rights to use, copy, modify, merge, publish, 8 * distribute, sublicense, and/or sell copies of the Software, and to 9 * permit persons to whom the Software is furnished to do so, subject to 10 * the following conditions: 11 * 12 * The above copyright notice and this permission notice (including the 13 * next paragraph) shall be included in all copies or substantial 14 * portions of the Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 20 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 21 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 * SOFTWARE. 24 */ 25 26 #ifndef XWAYLAND_INTERNAL_INTERFACE_H 27 #define XWAYLAND_INTERNAL_INTERFACE_H 28 29 struct weston_desktop_xwayland; 30 struct weston_desktop_xwayland_surface; 31 32 struct weston_xwayland_client_interface { 33 void (*send_configure)(struct weston_surface *surface, int32_t width, int32_t height); 34 }; 35 36 struct weston_desktop_xwayland_interface { 37 struct weston_desktop_xwayland_surface *(*create_surface)(struct weston_desktop_xwayland *xwayland, 38 struct weston_surface *surface, 39 const struct weston_xwayland_client_interface *client); 40 void (*set_toplevel)(struct weston_desktop_xwayland_surface *shsurf); 41 void (*set_toplevel_with_position)(struct weston_desktop_xwayland_surface *shsurf, 42 int32_t x, int32_t y); 43 void (*set_parent)(struct weston_desktop_xwayland_surface *shsurf, 44 struct weston_surface *parent); 45 void (*set_transient)(struct weston_desktop_xwayland_surface *shsurf, 46 struct weston_surface *parent, int x, int y); 47 void (*set_fullscreen)(struct weston_desktop_xwayland_surface *shsurf, 48 struct weston_output *output); 49 void (*set_xwayland)(struct weston_desktop_xwayland_surface *shsurf, 50 int x, int y); 51 int (*move)(struct weston_desktop_xwayland_surface *shsurf, 52 struct weston_pointer *pointer); 53 int (*resize)(struct weston_desktop_xwayland_surface *shsurf, 54 struct weston_pointer *pointer, uint32_t edges); 55 void (*set_title)(struct weston_desktop_xwayland_surface *shsurf, 56 const char *title); 57 void (*set_window_geometry)(struct weston_desktop_xwayland_surface *shsurf, 58 int32_t x, int32_t y, 59 int32_t width, int32_t height); 60 void (*set_maximized)(struct weston_desktop_xwayland_surface *shsurf); 61 void (*set_pid)(struct weston_desktop_xwayland_surface *shsurf, pid_t pid); 62 }; 63 64 #endif 65