OLD | NEW |
1 /* Generated by wayland-scanner 1.11.0 */ | 1 /* Generated by wayland-scanner 1.11.0 */ |
2 | 2 |
3 #ifndef REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H | 3 #ifndef REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H |
4 #define REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H | 4 #define REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H |
5 | 5 |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include "wayland-client.h" | 8 #include "wayland-client.h" |
9 | 9 |
10 #ifdef __cplusplus | 10 #ifdef __cplusplus |
(...skipping 15 matching lines...) Expand all Loading... |
26 * incompatible changes are done by bumping the version number in the protocol | 26 * incompatible changes are done by bumping the version number in the protocol |
27 * and interface names and resetting the interface version. Once the protocol | 27 * and interface names and resetting the interface version. Once the protocol |
28 * is to be declared stable, the 'z' prefix and the version number in the | 28 * is to be declared stable, the 'z' prefix and the version number in the |
29 * protocol and interface names are removed and the interface version number is | 29 * protocol and interface names are removed and the interface version number is |
30 * reset. | 30 * reset. |
31 * | 31 * |
32 * @section page_ifaces_remote_shell_unstable_v1 Interfaces | 32 * @section page_ifaces_remote_shell_unstable_v1 Interfaces |
33 * - @subpage page_iface_zcr_remote_shell_v1 - remote_shell | 33 * - @subpage page_iface_zcr_remote_shell_v1 - remote_shell |
34 * - @subpage page_iface_zcr_remote_surface_v1 - A desktop window | 34 * - @subpage page_iface_zcr_remote_surface_v1 - A desktop window |
35 * - @subpage page_iface_zcr_notification_surface_v1 - A notification window | 35 * - @subpage page_iface_zcr_notification_surface_v1 - A notification window |
36 * - @subpage page_iface_zwp_remote_shell_v1 - DEPRECATED | |
37 * - @subpage page_iface_zwp_remote_surface_v1 - DEPRECATED | |
38 * - @subpage page_iface_zwp_notification_surface_v1 - DEPRECATED | |
39 * @section page_copyright_remote_shell_unstable_v1 Copyright | 36 * @section page_copyright_remote_shell_unstable_v1 Copyright |
40 * <pre> | 37 * <pre> |
41 * | 38 * |
42 * Copyright 2016 The Chromium Authors. | 39 * Copyright 2016 The Chromium Authors. |
43 * | 40 * |
44 * Permission is hereby granted, free of charge, to any person obtaining a | 41 * Permission is hereby granted, free of charge, to any person obtaining a |
45 * copy of this software and associated documentation files (the "Software"), | 42 * copy of this software and associated documentation files (the "Software"), |
46 * to deal in the Software without restriction, including without limitation | 43 * to deal in the Software without restriction, including without limitation |
47 * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 44 * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
48 * and/or sell copies of the Software, and to permit persons to whom the | 45 * and/or sell copies of the Software, and to permit persons to whom the |
49 * Software is furnished to do so, subject to the following conditions: | 46 * Software is furnished to do so, subject to the following conditions: |
50 * | 47 * |
51 * The above copyright notice and this permission notice (including the next | 48 * The above copyright notice and this permission notice (including the next |
52 * paragraph) shall be included in all copies or substantial portions of the | 49 * paragraph) shall be included in all copies or substantial portions of the |
53 * Software. | 50 * Software. |
54 * | 51 * |
55 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 52 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
56 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 53 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
57 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | 54 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
58 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 55 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
59 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 56 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
60 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 57 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
61 * DEALINGS IN THE SOFTWARE. | 58 * DEALINGS IN THE SOFTWARE. |
62 * </pre> | 59 * </pre> |
63 */ | 60 */ |
64 struct wl_surface; | 61 struct wl_surface; |
65 struct zcr_notification_surface_v1; | 62 struct zcr_notification_surface_v1; |
66 struct zcr_remote_shell_v1; | 63 struct zcr_remote_shell_v1; |
67 struct zcr_remote_surface_v1; | 64 struct zcr_remote_surface_v1; |
68 struct zwp_notification_surface_v1; | |
69 struct zwp_remote_shell_v1; | |
70 struct zwp_remote_surface_v1; | |
71 | 65 |
72 /** | 66 /** |
73 * @page page_iface_zcr_remote_shell_v1 zcr_remote_shell_v1 | 67 * @page page_iface_zcr_remote_shell_v1 zcr_remote_shell_v1 |
74 * @section page_iface_zcr_remote_shell_v1_desc Description | 68 * @section page_iface_zcr_remote_shell_v1_desc Description |
75 * | 69 * |
76 * The global interface that allows clients to turn a wl_surface into a | 70 * The global interface that allows clients to turn a wl_surface into a |
77 * "real window" which is remotely managed but can be stacked, activated | 71 * "real window" which is remotely managed but can be stacked, activated |
78 * and made fullscreen by the user. | 72 * and made fullscreen by the user. |
79 * @section page_iface_zcr_remote_shell_v1_api API | 73 * @section page_iface_zcr_remote_shell_v1_api API |
80 * See @ref iface_zcr_remote_shell_v1. | 74 * See @ref iface_zcr_remote_shell_v1. |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 * @section page_iface_zcr_notification_surface_v1_api API | 126 * @section page_iface_zcr_notification_surface_v1_api API |
133 * See @ref iface_zcr_notification_surface_v1. | 127 * See @ref iface_zcr_notification_surface_v1. |
134 */ | 128 */ |
135 /** | 129 /** |
136 * @defgroup iface_zcr_notification_surface_v1 The zcr_notification_surface_v1 i
nterface | 130 * @defgroup iface_zcr_notification_surface_v1 The zcr_notification_surface_v1 i
nterface |
137 * | 131 * |
138 * An interface that may be implemented by a wl_surface to host | 132 * An interface that may be implemented by a wl_surface to host |
139 * notification contents. | 133 * notification contents. |
140 */ | 134 */ |
141 extern const struct wl_interface zcr_notification_surface_v1_interface; | 135 extern const struct wl_interface zcr_notification_surface_v1_interface; |
142 /** | |
143 * @page page_iface_zwp_remote_shell_v1 zwp_remote_shell_v1 | |
144 * @section page_iface_zwp_remote_shell_v1_desc Description | |
145 * | |
146 * The global interface that allows clients to turn a wl_surface into a | |
147 * "real window" which is remotely managed but can be stacked, activated | |
148 * and made fullscreen by the user. | |
149 * @section page_iface_zwp_remote_shell_v1_api API | |
150 * See @ref iface_zwp_remote_shell_v1. | |
151 */ | |
152 /** | |
153 * @defgroup iface_zwp_remote_shell_v1 The zwp_remote_shell_v1 interface | |
154 * | |
155 * The global interface that allows clients to turn a wl_surface into a | |
156 * "real window" which is remotely managed but can be stacked, activated | |
157 * and made fullscreen by the user. | |
158 */ | |
159 extern const struct wl_interface zwp_remote_shell_v1_interface; | |
160 /** | |
161 * @page page_iface_zwp_remote_surface_v1 zwp_remote_surface_v1 | |
162 * @section page_iface_zwp_remote_surface_v1_desc Description | |
163 * | |
164 * An interface that may be implemented by a wl_surface, for | |
165 * implementations that provide a desktop-style user interface | |
166 * and allows for remotely managed windows. | |
167 * | |
168 * It provides requests to treat surfaces like windows, allowing to set | |
169 * properties like app id and geometry. | |
170 * | |
171 * The client must call wl_surface.commit on the corresponding wl_surface | |
172 * for the remote_surface state to take effect. | |
173 * | |
174 * For a surface to be mapped by the compositor the client must have | |
175 * committed both an remote_surface state and a buffer. | |
176 * @section page_iface_zwp_remote_surface_v1_api API | |
177 * See @ref iface_zwp_remote_surface_v1. | |
178 */ | |
179 /** | |
180 * @defgroup iface_zwp_remote_surface_v1 The zwp_remote_surface_v1 interface | |
181 * | |
182 * An interface that may be implemented by a wl_surface, for | |
183 * implementations that provide a desktop-style user interface | |
184 * and allows for remotely managed windows. | |
185 * | |
186 * It provides requests to treat surfaces like windows, allowing to set | |
187 * properties like app id and geometry. | |
188 * | |
189 * The client must call wl_surface.commit on the corresponding wl_surface | |
190 * for the remote_surface state to take effect. | |
191 * | |
192 * For a surface to be mapped by the compositor the client must have | |
193 * committed both an remote_surface state and a buffer. | |
194 */ | |
195 extern const struct wl_interface zwp_remote_surface_v1_interface; | |
196 /** | |
197 * @page page_iface_zwp_notification_surface_v1 zwp_notification_surface_v1 | |
198 * @section page_iface_zwp_notification_surface_v1_desc Description | |
199 * | |
200 * An interface that may be implemented by a wl_surface to host | |
201 * notification contents. | |
202 * @section page_iface_zwp_notification_surface_v1_api API | |
203 * See @ref iface_zwp_notification_surface_v1. | |
204 */ | |
205 /** | |
206 * @defgroup iface_zwp_notification_surface_v1 The zwp_notification_surface_v1 i
nterface | |
207 * | |
208 * An interface that may be implemented by a wl_surface to host | |
209 * notification contents. | |
210 */ | |
211 extern const struct wl_interface zwp_notification_surface_v1_interface; | |
212 | 136 |
213 #ifndef ZCR_REMOTE_SHELL_V1_CONTAINER_ENUM | 137 #ifndef ZCR_REMOTE_SHELL_V1_CONTAINER_ENUM |
214 #define ZCR_REMOTE_SHELL_V1_CONTAINER_ENUM | 138 #define ZCR_REMOTE_SHELL_V1_CONTAINER_ENUM |
215 /** | 139 /** |
216 * @ingroup iface_zcr_remote_shell_v1 | 140 * @ingroup iface_zcr_remote_shell_v1 |
217 * containers for remote surfaces | 141 * containers for remote surfaces |
218 * | 142 * |
219 * Determine how a remote surface should be stacked relative to other | 143 * Determine how a remote surface should be stacked relative to other |
220 * shell surfaces. | 144 * shell surfaces. |
221 */ | 145 */ |
(...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
924 */ | 848 */ |
925 static inline void | 849 static inline void |
926 zcr_notification_surface_v1_destroy(struct zcr_notification_surface_v1 *zcr_noti
fication_surface_v1) | 850 zcr_notification_surface_v1_destroy(struct zcr_notification_surface_v1 *zcr_noti
fication_surface_v1) |
927 { | 851 { |
928 wl_proxy_marshal((struct wl_proxy *) zcr_notification_surface_v1, | 852 wl_proxy_marshal((struct wl_proxy *) zcr_notification_surface_v1, |
929 ZCR_NOTIFICATION_SURFACE_V1_DESTROY); | 853 ZCR_NOTIFICATION_SURFACE_V1_DESTROY); |
930 | 854 |
931 wl_proxy_destroy((struct wl_proxy *) zcr_notification_surface_v1); | 855 wl_proxy_destroy((struct wl_proxy *) zcr_notification_surface_v1); |
932 } | 856 } |
933 | 857 |
934 #ifndef ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM | |
935 #define ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM | |
936 /** | |
937 * @ingroup iface_zwp_remote_shell_v1 | |
938 * containers for remote surfaces | |
939 * | |
940 * Determine how a remote surface should be stacked relative to other | |
941 * shell surfaces. | |
942 */ | |
943 enum zwp_remote_shell_v1_container { | |
944 /** | |
945 * default container | |
946 */ | |
947 ZWP_REMOTE_SHELL_V1_CONTAINER_DEFAULT = 1, | |
948 /** | |
949 * system modal container | |
950 */ | |
951 ZWP_REMOTE_SHELL_V1_CONTAINER_OVERLAY = 2, | |
952 }; | |
953 #endif /* ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM */ | |
954 | |
955 #ifndef ZWP_REMOTE_SHELL_V1_STATE_TYPE_ENUM | |
956 #define ZWP_REMOTE_SHELL_V1_STATE_TYPE_ENUM | |
957 /** | |
958 * @ingroup iface_zwp_remote_shell_v1 | |
959 * state types for remote surfaces | |
960 * | |
961 * Defines common show states for shell surfaces. | |
962 */ | |
963 enum zwp_remote_shell_v1_state_type { | |
964 /** | |
965 * normal window state | |
966 */ | |
967 ZWP_REMOTE_SHELL_V1_STATE_TYPE_NORMAL = 1, | |
968 /** | |
969 * minimized window state | |
970 */ | |
971 ZWP_REMOTE_SHELL_V1_STATE_TYPE_MINIMIZED = 2, | |
972 /** | |
973 * maximized window state | |
974 */ | |
975 ZWP_REMOTE_SHELL_V1_STATE_TYPE_MAXIMIZED = 3, | |
976 /** | |
977 * fullscreen window state | |
978 */ | |
979 ZWP_REMOTE_SHELL_V1_STATE_TYPE_FULLSCREEN = 4, | |
980 /** | |
981 * pinned window state | |
982 */ | |
983 ZWP_REMOTE_SHELL_V1_STATE_TYPE_PINNED = 5, | |
984 /** | |
985 * trusted pinned window state | |
986 */ | |
987 ZWP_REMOTE_SHELL_V1_STATE_TYPE_TRUSTED_PINNED = 6, | |
988 }; | |
989 #endif /* ZWP_REMOTE_SHELL_V1_STATE_TYPE_ENUM */ | |
990 | |
991 #ifndef ZWP_REMOTE_SHELL_V1_ERROR_ENUM | |
992 #define ZWP_REMOTE_SHELL_V1_ERROR_ENUM | |
993 enum zwp_remote_shell_v1_error { | |
994 /** | |
995 * given wl_surface has another role | |
996 */ | |
997 ZWP_REMOTE_SHELL_V1_ERROR_ROLE = 0, | |
998 /** | |
999 * invalid notification id | |
1000 */ | |
1001 ZWP_REMOTE_SHELL_V1_ERROR_INVALID_NOTIFICATION_ID = 1, | |
1002 }; | |
1003 #endif /* ZWP_REMOTE_SHELL_V1_ERROR_ENUM */ | |
1004 | |
1005 #ifndef ZWP_REMOTE_SHELL_V1_LAYOUT_MODE_ENUM | |
1006 #define ZWP_REMOTE_SHELL_V1_LAYOUT_MODE_ENUM | |
1007 /** | |
1008 * @ingroup iface_zwp_remote_shell_v1 | |
1009 * the layout mode | |
1010 * | |
1011 * Determine how a client should layout surfaces. | |
1012 */ | |
1013 enum zwp_remote_shell_v1_layout_mode { | |
1014 /** | |
1015 * multiple windows | |
1016 */ | |
1017 ZWP_REMOTE_SHELL_V1_LAYOUT_MODE_WINDOWED = 1, | |
1018 /** | |
1019 * restricted mode for tablet | |
1020 */ | |
1021 ZWP_REMOTE_SHELL_V1_LAYOUT_MODE_TABLET = 2, | |
1022 }; | |
1023 #endif /* ZWP_REMOTE_SHELL_V1_LAYOUT_MODE_ENUM */ | |
1024 | |
1025 /** | |
1026 * @ingroup iface_zwp_remote_shell_v1 | |
1027 * @struct zwp_remote_shell_v1_listener | |
1028 */ | |
1029 struct zwp_remote_shell_v1_listener { | |
1030 /** | |
1031 * suggests a re-layout of remote shell | |
1032 * | |
1033 * Obsolete: Suggests a re-layout of remote surface geometry. | |
1034 */ | |
1035 void (*configure)(void *data, | |
1036 struct zwp_remote_shell_v1 *zwp_remote_shell_v1, | |
1037 int32_t width, | |
1038 int32_t height, | |
1039 int32_t work_area_inset_left, | |
1040 int32_t work_area_inset_top, | |
1041 int32_t work_area_inset_right, | |
1042 int32_t work_area_inset_bottom); | |
1043 /** | |
1044 * activated surface changed | |
1045 * | |
1046 * Notifies client that the activated surface changed. | |
1047 */ | |
1048 void (*activated)(void *data, | |
1049 struct zwp_remote_shell_v1 *zwp_remote_shell_v1, | |
1050 struct wl_surface *gained_active, | |
1051 struct wl_surface *lost_active); | |
1052 /** | |
1053 * layout mode changed | |
1054 * | |
1055 * The shell_mode_changed event is sent by the compositor when | |
1056 * the shell mode was changed. | |
1057 * | |
1058 * This is an event to notify that the shell mode has switched. | |
1059 * @since 8 | |
1060 */ | |
1061 void (*layout_mode_changed)(void *data, | |
1062 struct zwp_remote_shell_v1 *zwp_remote_shell
_v1, | |
1063 uint32_t layout_mode); | |
1064 /** | |
1065 * suggests a re-configuration of remote shell | |
1066 * | |
1067 * Suggests a re-configuration of remote shell. | |
1068 * @since 9 | |
1069 */ | |
1070 void (*configuration_changed)(void *data, | |
1071 struct zwp_remote_shell_v1 *zwp_remote_she
ll_v1, | |
1072 int32_t width, | |
1073 int32_t height, | |
1074 int32_t transform, | |
1075 wl_fixed_t scale_factor, | |
1076 int32_t work_area_inset_left, | |
1077 int32_t work_area_inset_top, | |
1078 int32_t work_area_inset_right, | |
1079 int32_t work_area_inset_bottom, | |
1080 uint32_t layout_mode); | |
1081 }; | |
1082 | |
1083 /** | |
1084 * @ingroup zwp_remote_shell_v1_iface | |
1085 */ | |
1086 static inline int | |
1087 zwp_remote_shell_v1_add_listener(struct zwp_remote_shell_v1 *zwp_remote_shell_v1
, | |
1088 const struct zwp_remote_shell_v1_listener *list
ener, void *data) | |
1089 { | |
1090 return wl_proxy_add_listener((struct wl_proxy *) zwp_remote_shell_v1, | |
1091 (void (**)(void)) listener, data); | |
1092 } | |
1093 | |
1094 #define ZWP_REMOTE_SHELL_V1_DESTROY 0 | |
1095 #define ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE 1 | |
1096 #define ZWP_REMOTE_SHELL_V1_GET_NOTIFICATION_SURFACE 2 | |
1097 | |
1098 /** | |
1099 * @ingroup iface_zwp_remote_shell_v1 | |
1100 */ | |
1101 #define ZWP_REMOTE_SHELL_V1_DESTROY_SINCE_VERSION 1 | |
1102 /** | |
1103 * @ingroup iface_zwp_remote_shell_v1 | |
1104 */ | |
1105 #define ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE_SINCE_VERSION 1 | |
1106 /** | |
1107 * @ingroup iface_zwp_remote_shell_v1 | |
1108 */ | |
1109 #define ZWP_REMOTE_SHELL_V1_GET_NOTIFICATION_SURFACE_SINCE_VERSION 6 | |
1110 | |
1111 /** @ingroup iface_zwp_remote_shell_v1 */ | |
1112 static inline void | |
1113 zwp_remote_shell_v1_set_user_data(struct zwp_remote_shell_v1 *zwp_remote_shell_v
1, void *user_data) | |
1114 { | |
1115 wl_proxy_set_user_data((struct wl_proxy *) zwp_remote_shell_v1, user_dat
a); | |
1116 } | |
1117 | |
1118 /** @ingroup iface_zwp_remote_shell_v1 */ | |
1119 static inline void * | |
1120 zwp_remote_shell_v1_get_user_data(struct zwp_remote_shell_v1 *zwp_remote_shell_v
1) | |
1121 { | |
1122 return wl_proxy_get_user_data((struct wl_proxy *) zwp_remote_shell_v1); | |
1123 } | |
1124 | |
1125 static inline uint32_t | |
1126 zwp_remote_shell_v1_get_version(struct zwp_remote_shell_v1 *zwp_remote_shell_v1) | |
1127 { | |
1128 return wl_proxy_get_version((struct wl_proxy *) zwp_remote_shell_v1); | |
1129 } | |
1130 | |
1131 /** | |
1132 * @ingroup iface_zwp_remote_shell_v1 | |
1133 * | |
1134 * Destroy this remote_shell object. | |
1135 * | |
1136 * Destroying a bound remote_shell object while there are surfaces | |
1137 * still alive created by this remote_shell object instance is illegal | |
1138 * and will result in a protocol error. | |
1139 */ | |
1140 static inline void | |
1141 zwp_remote_shell_v1_destroy(struct zwp_remote_shell_v1 *zwp_remote_shell_v1) | |
1142 { | |
1143 wl_proxy_marshal((struct wl_proxy *) zwp_remote_shell_v1, | |
1144 ZWP_REMOTE_SHELL_V1_DESTROY); | |
1145 | |
1146 wl_proxy_destroy((struct wl_proxy *) zwp_remote_shell_v1); | |
1147 } | |
1148 | |
1149 /** | |
1150 * @ingroup iface_zwp_remote_shell_v1 | |
1151 * | |
1152 * This creates an remote_surface for the given surface and gives it the | |
1153 * remote_surface role. A wl_surface can only be given a remote_surface | |
1154 * role once. If get_remote_surface is called with a wl_surface that | |
1155 * already has an active remote_surface associated with it, or if it had | |
1156 * any other role, an error is raised. | |
1157 * | |
1158 * See the documentation of remote_surface for more details about what an | |
1159 * remote_surface is and how it is used. | |
1160 */ | |
1161 static inline struct zwp_remote_surface_v1 * | |
1162 zwp_remote_shell_v1_get_remote_surface(struct zwp_remote_shell_v1 *zwp_remote_sh
ell_v1, struct wl_surface *surface, uint32_t container) | |
1163 { | |
1164 struct wl_proxy *id; | |
1165 | |
1166 id = wl_proxy_marshal_constructor((struct wl_proxy *) zwp_remote_shell_v
1, | |
1167 ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE, &zwp_remote_sur
face_v1_interface, NULL, surface, container); | |
1168 | |
1169 return (struct zwp_remote_surface_v1 *) id; | |
1170 } | |
1171 | |
1172 /** | |
1173 * @ingroup iface_zwp_remote_shell_v1 | |
1174 * | |
1175 * Creates a notification_surface for the given surface, gives it the | |
1176 * notification_surface role and associated it with a notification id. | |
1177 */ | |
1178 static inline struct zwp_notification_surface_v1 * | |
1179 zwp_remote_shell_v1_get_notification_surface(struct zwp_remote_shell_v1 *zwp_rem
ote_shell_v1, struct wl_surface *surface, const char *notification_id) | |
1180 { | |
1181 struct wl_proxy *id; | |
1182 | |
1183 id = wl_proxy_marshal_constructor((struct wl_proxy *) zwp_remote_shell_v
1, | |
1184 ZWP_REMOTE_SHELL_V1_GET_NOTIFICATION_SURFACE, &zwp_noti
fication_surface_v1_interface, NULL, surface, notification_id); | |
1185 | |
1186 return (struct zwp_notification_surface_v1 *) id; | |
1187 } | |
1188 | |
1189 /** | |
1190 * @ingroup iface_zwp_remote_surface_v1 | |
1191 * @struct zwp_remote_surface_v1_listener | |
1192 */ | |
1193 struct zwp_remote_surface_v1_listener { | |
1194 /** | |
1195 * surface wants to be fullscreen | |
1196 * | |
1197 * The set_fullscreen event is sent by the compositor when the | |
1198 * user wants the surface to be made fullscreen. | |
1199 * | |
1200 * This is only a request that the user intends to make your window | |
1201 * fullscreen. The client may choose to ignore this request. | |
1202 */ | |
1203 void (*set_fullscreen)(void *data, | |
1204 struct zwp_remote_surface_v1 *zwp_remote_surface_
v1); | |
1205 /** | |
1206 * surface wants to be non-fullscreen | |
1207 * | |
1208 * The unset_fullscreen event is sent by the compositor when the | |
1209 * user wants the surface to be made non-fullscreen. | |
1210 * | |
1211 * This is only a request that the user intends to make your window | |
1212 * non-fullscreen. The client may choose to ignore this request. | |
1213 */ | |
1214 void (*unset_fullscreen)(void *data, | |
1215 struct zwp_remote_surface_v1 *zwp_remote_surfac
e_v1); | |
1216 /** | |
1217 * surface wants to be closed | |
1218 * | |
1219 * The close event is sent by the compositor when the user wants | |
1220 * the surface to be closed. This should be equivalent to the user | |
1221 * clicking the close button in client-side decorations, if your | |
1222 * application has any... | |
1223 * | |
1224 * This is only a request that the user intends to close your | |
1225 * window. The client may choose to ignore this request, or show a | |
1226 * dialog to ask the user to save their data... | |
1227 */ | |
1228 void (*close)(void *data, | |
1229 struct zwp_remote_surface_v1 *zwp_remote_surface_v1); | |
1230 /** | |
1231 * surface wants to be maximized | |
1232 * | |
1233 * The set_maximized event is sent by the compositor when the | |
1234 * user wants the surface to be maximized. | |
1235 * | |
1236 * This is only a request that the user intends to maximized the | |
1237 * window. The client may choose to ignore this request. | |
1238 * @since 2 | |
1239 */ | |
1240 void (*set_maximized)(void *data, | |
1241 struct zwp_remote_surface_v1 *zwp_remote_surface_v
1); | |
1242 /** | |
1243 * surface wants to be restored | |
1244 * | |
1245 * The unset_maximized event is sent by the compositor when the | |
1246 * user wants the surface to be made visible. | |
1247 * | |
1248 * This is only a request that the user intends to make your window | |
1249 * visible. The client may choose to ignore this request. | |
1250 * @since 2 | |
1251 */ | |
1252 void (*unset_maximized)(void *data, | |
1253 struct zwp_remote_surface_v1 *zwp_remote_surface
_v1); | |
1254 /** | |
1255 * surface wants to be minimized | |
1256 * | |
1257 * The set_minimized event is sent by the compositor when the | |
1258 * user wants the surface to be minimized. | |
1259 * | |
1260 * This is only a request that the user intends to minimize the | |
1261 * window. The client may choose to ignore this request. | |
1262 * @since 2 | |
1263 */ | |
1264 void (*set_minimized)(void *data, | |
1265 struct zwp_remote_surface_v1 *zwp_remote_surface_v
1); | |
1266 /** | |
1267 * surface wants to be restored | |
1268 * | |
1269 * The unset_minimized event is sent by the compositor when the | |
1270 * user wants the surface to be made visible. | |
1271 * | |
1272 * This is only a request that the user intends to make your window | |
1273 * visible. The client may choose to ignore this request. | |
1274 * @since 2 | |
1275 */ | |
1276 void (*unset_minimized)(void *data, | |
1277 struct zwp_remote_surface_v1 *zwp_remote_surface
_v1); | |
1278 /** | |
1279 * surface was pinned | |
1280 * | |
1281 * The set_pinned event is sent by the compositor when the | |
1282 * surface was pinned. | |
1283 * | |
1284 * This is an event to notify that the window is pinned in | |
1285 * compositor. The pin may be triggered by a client's request, or | |
1286 * some user action directly handled by the compositor. The client | |
1287 * may choose to ignore this event. | |
1288 * @since 3 | |
1289 */ | |
1290 void (*set_pinned)(void *data, | |
1291 struct zwp_remote_surface_v1 *zwp_remote_surface_v1); | |
1292 /** | |
1293 * surface was unpinned | |
1294 * | |
1295 * The unset_pinned event is sent by the compositor when the | |
1296 * surface was unpinned. | |
1297 * | |
1298 * This is an event to notify that the window is unpinned in | |
1299 * compositor. The unpin may be triggered by a client's request, or | |
1300 * some user action directly handled by the compositor. The client | |
1301 * may choose to ignore this event. | |
1302 * @since 3 | |
1303 */ | |
1304 void (*unset_pinned)(void *data, | |
1305 struct zwp_remote_surface_v1 *zwp_remote_surface_v1
); | |
1306 /** | |
1307 * surface state type changed | |
1308 * | |
1309 * The state_type_changed event is sent by the compositor when | |
1310 * the surface state changed. | |
1311 * | |
1312 * This is an event to notify that the window state changed in | |
1313 * compositor. The state change may be triggered by a client's | |
1314 * request, or some user action directly handled by the compositor. | |
1315 * The client may choose to ignore this event. | |
1316 * @since 7 | |
1317 */ | |
1318 void (*state_type_changed)(void *data, | |
1319 struct zwp_remote_surface_v1 *zwp_remote_surf
ace_v1, | |
1320 uint32_t state_type); | |
1321 }; | |
1322 | |
1323 /** | |
1324 * @ingroup zwp_remote_surface_v1_iface | |
1325 */ | |
1326 static inline int | |
1327 zwp_remote_surface_v1_add_listener(struct zwp_remote_surface_v1 *zwp_remote_surf
ace_v1, | |
1328 const struct zwp_remote_surface_v1_listener *
listener, void *data) | |
1329 { | |
1330 return wl_proxy_add_listener((struct wl_proxy *) zwp_remote_surface_v1, | |
1331 (void (**)(void)) listener, data); | |
1332 } | |
1333 | |
1334 #define ZWP_REMOTE_SURFACE_V1_DESTROY 0 | |
1335 #define ZWP_REMOTE_SURFACE_V1_SET_APP_ID 1 | |
1336 #define ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY 2 | |
1337 #define ZWP_REMOTE_SURFACE_V1_SET_SCALE 3 | |
1338 #define ZWP_REMOTE_SURFACE_V1_FULLSCREEN 4 | |
1339 #define ZWP_REMOTE_SURFACE_V1_MAXIMIZE 5 | |
1340 #define ZWP_REMOTE_SURFACE_V1_MINIMIZE 6 | |
1341 #define ZWP_REMOTE_SURFACE_V1_RESTORE 7 | |
1342 #define ZWP_REMOTE_SURFACE_V1_PIN 8 | |
1343 #define ZWP_REMOTE_SURFACE_V1_UNPIN 9 | |
1344 #define ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN 10 | |
1345 #define ZWP_REMOTE_SURFACE_V1_SET_RECTANGULAR_SHADOW 11 | |
1346 #define ZWP_REMOTE_SURFACE_V1_SET_TITLE 12 | |
1347 #define ZWP_REMOTE_SURFACE_V1_SET_TOP_INSET 13 | |
1348 #define ZWP_REMOTE_SURFACE_V1_SET_SYSTEM_MODAL 14 | |
1349 #define ZWP_REMOTE_SURFACE_V1_UNSET_SYSTEM_MODAL 15 | |
1350 #define ZWP_REMOTE_SURFACE_V1_SET_RECTANGULAR_SHADOW_BACKGROUND_OPACITY 16 | |
1351 #define ZWP_REMOTE_SURFACE_V1_ACTIVATE 17 | |
1352 #define ZWP_REMOTE_SURFACE_V1_PIN_WITH_TRUSTED_FLAG 18 | |
1353 | |
1354 /** | |
1355 * @ingroup iface_zwp_remote_surface_v1 | |
1356 */ | |
1357 #define ZWP_REMOTE_SURFACE_V1_DESTROY_SINCE_VERSION 1 | |
1358 /** | |
1359 * @ingroup iface_zwp_remote_surface_v1 | |
1360 */ | |
1361 #define ZWP_REMOTE_SURFACE_V1_SET_APP_ID_SINCE_VERSION 1 | |
1362 /** | |
1363 * @ingroup iface_zwp_remote_surface_v1 | |
1364 */ | |
1365 #define ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY_SINCE_VERSION 1 | |
1366 /** | |
1367 * @ingroup iface_zwp_remote_surface_v1 | |
1368 */ | |
1369 #define ZWP_REMOTE_SURFACE_V1_SET_SCALE_SINCE_VERSION 1 | |
1370 /** | |
1371 * @ingroup iface_zwp_remote_surface_v1 | |
1372 */ | |
1373 #define ZWP_REMOTE_SURFACE_V1_FULLSCREEN_SINCE_VERSION 2 | |
1374 /** | |
1375 * @ingroup iface_zwp_remote_surface_v1 | |
1376 */ | |
1377 #define ZWP_REMOTE_SURFACE_V1_MAXIMIZE_SINCE_VERSION 2 | |
1378 /** | |
1379 * @ingroup iface_zwp_remote_surface_v1 | |
1380 */ | |
1381 #define ZWP_REMOTE_SURFACE_V1_MINIMIZE_SINCE_VERSION 2 | |
1382 /** | |
1383 * @ingroup iface_zwp_remote_surface_v1 | |
1384 */ | |
1385 #define ZWP_REMOTE_SURFACE_V1_RESTORE_SINCE_VERSION 2 | |
1386 /** | |
1387 * @ingroup iface_zwp_remote_surface_v1 | |
1388 */ | |
1389 #define ZWP_REMOTE_SURFACE_V1_PIN_SINCE_VERSION 3 | |
1390 /** | |
1391 * @ingroup iface_zwp_remote_surface_v1 | |
1392 */ | |
1393 #define ZWP_REMOTE_SURFACE_V1_UNPIN_SINCE_VERSION 3 | |
1394 /** | |
1395 * @ingroup iface_zwp_remote_surface_v1 | |
1396 */ | |
1397 #define ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN_SINCE_VERSION 3 | |
1398 /** | |
1399 * @ingroup iface_zwp_remote_surface_v1 | |
1400 */ | |
1401 #define ZWP_REMOTE_SURFACE_V1_SET_RECTANGULAR_SHADOW_SINCE_VERSION 4 | |
1402 /** | |
1403 * @ingroup iface_zwp_remote_surface_v1 | |
1404 */ | |
1405 #define ZWP_REMOTE_SURFACE_V1_SET_TITLE_SINCE_VERSION 5 | |
1406 /** | |
1407 * @ingroup iface_zwp_remote_surface_v1 | |
1408 */ | |
1409 #define ZWP_REMOTE_SURFACE_V1_SET_TOP_INSET_SINCE_VERSION 5 | |
1410 /** | |
1411 * @ingroup iface_zwp_remote_surface_v1 | |
1412 */ | |
1413 #define ZWP_REMOTE_SURFACE_V1_SET_SYSTEM_MODAL_SINCE_VERSION 8 | |
1414 /** | |
1415 * @ingroup iface_zwp_remote_surface_v1 | |
1416 */ | |
1417 #define ZWP_REMOTE_SURFACE_V1_UNSET_SYSTEM_MODAL_SINCE_VERSION 8 | |
1418 /** | |
1419 * @ingroup iface_zwp_remote_surface_v1 | |
1420 */ | |
1421 #define ZWP_REMOTE_SURFACE_V1_SET_RECTANGULAR_SHADOW_BACKGROUND_OPACITY_SINCE_VE
RSION 9 | |
1422 /** | |
1423 * @ingroup iface_zwp_remote_surface_v1 | |
1424 */ | |
1425 #define ZWP_REMOTE_SURFACE_V1_ACTIVATE_SINCE_VERSION 10 | |
1426 /** | |
1427 * @ingroup iface_zwp_remote_surface_v1 | |
1428 */ | |
1429 #define ZWP_REMOTE_SURFACE_V1_PIN_WITH_TRUSTED_FLAG_SINCE_VERSION 11 | |
1430 | |
1431 /** @ingroup iface_zwp_remote_surface_v1 */ | |
1432 static inline void | |
1433 zwp_remote_surface_v1_set_user_data(struct zwp_remote_surface_v1 *zwp_remote_sur
face_v1, void *user_data) | |
1434 { | |
1435 wl_proxy_set_user_data((struct wl_proxy *) zwp_remote_surface_v1, user_d
ata); | |
1436 } | |
1437 | |
1438 /** @ingroup iface_zwp_remote_surface_v1 */ | |
1439 static inline void * | |
1440 zwp_remote_surface_v1_get_user_data(struct zwp_remote_surface_v1 *zwp_remote_sur
face_v1) | |
1441 { | |
1442 return wl_proxy_get_user_data((struct wl_proxy *) zwp_remote_surface_v1)
; | |
1443 } | |
1444 | |
1445 static inline uint32_t | |
1446 zwp_remote_surface_v1_get_version(struct zwp_remote_surface_v1 *zwp_remote_surfa
ce_v1) | |
1447 { | |
1448 return wl_proxy_get_version((struct wl_proxy *) zwp_remote_surface_v1); | |
1449 } | |
1450 | |
1451 /** | |
1452 * @ingroup iface_zwp_remote_surface_v1 | |
1453 * | |
1454 * Unmap and destroy the window. The window will be effectively | |
1455 * hidden from the user's point of view, and all state will be lost. | |
1456 */ | |
1457 static inline void | |
1458 zwp_remote_surface_v1_destroy(struct zwp_remote_surface_v1 *zwp_remote_surface_v
1) | |
1459 { | |
1460 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1461 ZWP_REMOTE_SURFACE_V1_DESTROY); | |
1462 | |
1463 wl_proxy_destroy((struct wl_proxy *) zwp_remote_surface_v1); | |
1464 } | |
1465 | |
1466 /** | |
1467 * @ingroup iface_zwp_remote_surface_v1 | |
1468 * | |
1469 * Set an application identifier for the surface. | |
1470 */ | |
1471 static inline void | |
1472 zwp_remote_surface_v1_set_app_id(struct zwp_remote_surface_v1 *zwp_remote_surfac
e_v1, const char *app_id) | |
1473 { | |
1474 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1475 ZWP_REMOTE_SURFACE_V1_SET_APP_ID, app_id); | |
1476 } | |
1477 | |
1478 /** | |
1479 * @ingroup iface_zwp_remote_surface_v1 | |
1480 * | |
1481 * The window geometry of a window is its "visible bounds" from the | |
1482 * user's perspective. Client-side decorations often have invisible | |
1483 * portions like drop-shadows which should be ignored for the | |
1484 * purposes of aligning, placing and constraining windows. | |
1485 * | |
1486 * The window geometry is double buffered, and will be applied at the | |
1487 * time wl_surface.commit of the corresponding wl_surface is called. | |
1488 * | |
1489 * Once the window geometry of the surface is set once, it is not | |
1490 * possible to unset it, and it will remain the same until | |
1491 * set_window_geometry is called again, even if a new subsurface or | |
1492 * buffer is attached. | |
1493 * | |
1494 * If never set, the value is the full bounds of the output. This | |
1495 * updates dynamically on every commit. | |
1496 * | |
1497 * The arguments are given in the output coordinate space. | |
1498 * | |
1499 * The width and height must be greater than zero. | |
1500 */ | |
1501 static inline void | |
1502 zwp_remote_surface_v1_set_window_geometry(struct zwp_remote_surface_v1 *zwp_remo
te_surface_v1, int32_t x, int32_t y, int32_t width, int32_t height) | |
1503 { | |
1504 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1505 ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY, x, y, width,
height); | |
1506 } | |
1507 | |
1508 /** | |
1509 * @ingroup iface_zwp_remote_surface_v1 | |
1510 * | |
1511 * Set a scale factor that will be applied to surface and all descendants. | |
1512 */ | |
1513 static inline void | |
1514 zwp_remote_surface_v1_set_scale(struct zwp_remote_surface_v1 *zwp_remote_surface
_v1, wl_fixed_t scale) | |
1515 { | |
1516 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1517 ZWP_REMOTE_SURFACE_V1_SET_SCALE, scale); | |
1518 } | |
1519 | |
1520 /** | |
1521 * @ingroup iface_zwp_remote_surface_v1 | |
1522 * | |
1523 * Request that surface is made fullscreen. | |
1524 * | |
1525 * This is only a request that the window should be made fullscreen. | |
1526 * The compositor may choose to ignore this request. The client should | |
1527 * listen to set_fullscreen events to determine if the window was | |
1528 * made fullscreen or not. | |
1529 */ | |
1530 static inline void | |
1531 zwp_remote_surface_v1_fullscreen(struct zwp_remote_surface_v1 *zwp_remote_surfac
e_v1) | |
1532 { | |
1533 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1534 ZWP_REMOTE_SURFACE_V1_FULLSCREEN); | |
1535 } | |
1536 | |
1537 /** | |
1538 * @ingroup iface_zwp_remote_surface_v1 | |
1539 * | |
1540 * Request that surface is maximized. The window geometry will be updated | |
1541 * to whatever the compositor finds appropriate for a maximized window. | |
1542 * | |
1543 * This is only a request that the window should be maximized. The | |
1544 * compositor may choose to ignore this request. The client should | |
1545 * listen to set_maximized events to determine if the window was | |
1546 * maximized or not. | |
1547 */ | |
1548 static inline void | |
1549 zwp_remote_surface_v1_maximize(struct zwp_remote_surface_v1 *zwp_remote_surface_
v1) | |
1550 { | |
1551 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1552 ZWP_REMOTE_SURFACE_V1_MAXIMIZE); | |
1553 } | |
1554 | |
1555 /** | |
1556 * @ingroup iface_zwp_remote_surface_v1 | |
1557 * | |
1558 * Request that surface is minimized. | |
1559 * | |
1560 * This is only a request that the window should be minimized. The | |
1561 * compositor may choose to ignore this request. The client should | |
1562 * listen to set_minimized events to determine if the window was | |
1563 * minimized or not. | |
1564 */ | |
1565 static inline void | |
1566 zwp_remote_surface_v1_minimize(struct zwp_remote_surface_v1 *zwp_remote_surface_
v1) | |
1567 { | |
1568 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1569 ZWP_REMOTE_SURFACE_V1_MINIMIZE); | |
1570 } | |
1571 | |
1572 /** | |
1573 * @ingroup iface_zwp_remote_surface_v1 | |
1574 * | |
1575 * Request that surface is restored. This restores the window geometry | |
1576 * to what it was before the window was minimized, maximized or made | |
1577 * fullscreen. | |
1578 * | |
1579 * This is only a request that the window should be restored. The | |
1580 * compositor may choose to ignore this request. The client should | |
1581 * listen to unset_maximized, unset_minimize and unset_fullscreen | |
1582 * events to determine if the window was restored or not. | |
1583 */ | |
1584 static inline void | |
1585 zwp_remote_surface_v1_restore(struct zwp_remote_surface_v1 *zwp_remote_surface_v
1) | |
1586 { | |
1587 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1588 ZWP_REMOTE_SURFACE_V1_RESTORE); | |
1589 } | |
1590 | |
1591 /** | |
1592 * @ingroup iface_zwp_remote_surface_v1 | |
1593 * | |
1594 * Request that surface is pinned. | |
1595 * | |
1596 * This is only a request that the window should be pinned. | |
1597 * The compositor may choose to ignore this request. The client should | |
1598 * listen to set_pinned events to determine if the window was | |
1599 * pinned or not. | |
1600 */ | |
1601 static inline void | |
1602 zwp_remote_surface_v1_pin(struct zwp_remote_surface_v1 *zwp_remote_surface_v1) | |
1603 { | |
1604 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1605 ZWP_REMOTE_SURFACE_V1_PIN); | |
1606 } | |
1607 | |
1608 /** | |
1609 * @ingroup iface_zwp_remote_surface_v1 | |
1610 * | |
1611 * Request that surface is unpinned. | |
1612 * | |
1613 * This is only a request that the window should be unpinned. | |
1614 * The compositor may choose to ignore this request. The client should | |
1615 * listen to unset_pinned events to determine if the window was | |
1616 * unpinned or not. | |
1617 */ | |
1618 static inline void | |
1619 zwp_remote_surface_v1_unpin(struct zwp_remote_surface_v1 *zwp_remote_surface_v1) | |
1620 { | |
1621 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1622 ZWP_REMOTE_SURFACE_V1_UNPIN); | |
1623 } | |
1624 | |
1625 /** | |
1626 * @ingroup iface_zwp_remote_surface_v1 | |
1627 * | |
1628 * Request that surface is made unfullscreen. | |
1629 * | |
1630 * This is only a request that the window should be made unfullscreen. | |
1631 * The compositor may choose to ignore this request. The client should | |
1632 * listen to unset_fullscreen events to determine if the window was | |
1633 * made unfullscreen or not. | |
1634 */ | |
1635 static inline void | |
1636 zwp_remote_surface_v1_unfullscreen(struct zwp_remote_surface_v1 *zwp_remote_surf
ace_v1) | |
1637 { | |
1638 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1639 ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN); | |
1640 } | |
1641 | |
1642 /** | |
1643 * @ingroup iface_zwp_remote_surface_v1 | |
1644 * | |
1645 * Request that surface needs a rectangular shadow. | |
1646 * | |
1647 * This is only a request that the surface should have a rectangular | |
1648 * shadow. The compositor may choose to ignore this request. | |
1649 * | |
1650 * The arguments are given in the output coordinate space and specifies | |
1651 * the inner bounds of the shadow. | |
1652 * | |
1653 * The arguments are given in the output coordinate space. | |
1654 * Specifying zero width and height will disable the shadow. | |
1655 */ | |
1656 static inline void | |
1657 zwp_remote_surface_v1_set_rectangular_shadow(struct zwp_remote_surface_v1 *zwp_r
emote_surface_v1, int32_t x, int32_t y, int32_t width, int32_t height) | |
1658 { | |
1659 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1660 ZWP_REMOTE_SURFACE_V1_SET_RECTANGULAR_SHADOW, x, y, wid
th, height); | |
1661 } | |
1662 | |
1663 /** | |
1664 * @ingroup iface_zwp_remote_surface_v1 | |
1665 * | |
1666 * Set a short title for the surface. | |
1667 * | |
1668 * This string may be used to identify the surface in a task bar, | |
1669 * window list, or other user interface elements provided by the | |
1670 * compositor. | |
1671 * | |
1672 * The string must be encoded in UTF-8. | |
1673 */ | |
1674 static inline void | |
1675 zwp_remote_surface_v1_set_title(struct zwp_remote_surface_v1 *zwp_remote_surface
_v1, const char *title) | |
1676 { | |
1677 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1678 ZWP_REMOTE_SURFACE_V1_SET_TITLE, title); | |
1679 } | |
1680 | |
1681 /** | |
1682 * @ingroup iface_zwp_remote_surface_v1 | |
1683 * | |
1684 * Set distance from the top of the surface to the contents. | |
1685 * | |
1686 * This distance typically represents the size of the window caption. | |
1687 */ | |
1688 static inline void | |
1689 zwp_remote_surface_v1_set_top_inset(struct zwp_remote_surface_v1 *zwp_remote_sur
face_v1, int32_t height) | |
1690 { | |
1691 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1692 ZWP_REMOTE_SURFACE_V1_SET_TOP_INSET, height); | |
1693 } | |
1694 | |
1695 /** | |
1696 * @ingroup iface_zwp_remote_surface_v1 | |
1697 * | |
1698 * Suggests a surface should become system modal. | |
1699 */ | |
1700 static inline void | |
1701 zwp_remote_surface_v1_set_system_modal(struct zwp_remote_surface_v1 *zwp_remote_
surface_v1) | |
1702 { | |
1703 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1704 ZWP_REMOTE_SURFACE_V1_SET_SYSTEM_MODAL); | |
1705 } | |
1706 | |
1707 /** | |
1708 * @ingroup iface_zwp_remote_surface_v1 | |
1709 * | |
1710 * Suggests a surface should become non system modal. | |
1711 */ | |
1712 static inline void | |
1713 zwp_remote_surface_v1_unset_system_modal(struct zwp_remote_surface_v1 *zwp_remot
e_surface_v1) | |
1714 { | |
1715 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1716 ZWP_REMOTE_SURFACE_V1_UNSET_SYSTEM_MODAL); | |
1717 } | |
1718 | |
1719 /** | |
1720 * @ingroup iface_zwp_remote_surface_v1 | |
1721 * | |
1722 * Suggests the window's background opacity when the shadow is requested. | |
1723 */ | |
1724 static inline void | |
1725 zwp_remote_surface_v1_set_rectangular_shadow_background_opacity(struct zwp_remot
e_surface_v1 *zwp_remote_surface_v1, wl_fixed_t opacity) | |
1726 { | |
1727 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1728 ZWP_REMOTE_SURFACE_V1_SET_RECTANGULAR_SHADOW_BACKGROUND
_OPACITY, opacity); | |
1729 } | |
1730 | |
1731 /** | |
1732 * @ingroup iface_zwp_remote_surface_v1 | |
1733 * | |
1734 * Make the surface active and bring it to the front. | |
1735 */ | |
1736 static inline void | |
1737 zwp_remote_surface_v1_activate(struct zwp_remote_surface_v1 *zwp_remote_surface_
v1, uint32_t serial) | |
1738 { | |
1739 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1740 ZWP_REMOTE_SURFACE_V1_ACTIVATE, serial); | |
1741 } | |
1742 | |
1743 /** | |
1744 * @ingroup iface_zwp_remote_surface_v1 | |
1745 * | |
1746 * Request that surface is pinned. | |
1747 * | |
1748 * This is only a request that the window should be pinned. | |
1749 * The compositor may choose to ignore this request. The client should | |
1750 * listen to set_pinned events to determine if the window was | |
1751 * pinned or not. If trusted flag is non-zero, the app can prevent users | |
1752 * from exiting the pinned mode. | |
1753 */ | |
1754 static inline void | |
1755 zwp_remote_surface_v1_pin_with_trusted_flag(struct zwp_remote_surface_v1 *zwp_re
mote_surface_v1, int32_t trusted) | |
1756 { | |
1757 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, | |
1758 ZWP_REMOTE_SURFACE_V1_PIN_WITH_TRUSTED_FLAG, trusted); | |
1759 } | |
1760 | |
1761 #define ZWP_NOTIFICATION_SURFACE_V1_DESTROY 0 | |
1762 | |
1763 /** | |
1764 * @ingroup iface_zwp_notification_surface_v1 | |
1765 */ | |
1766 #define ZWP_NOTIFICATION_SURFACE_V1_DESTROY_SINCE_VERSION 1 | |
1767 | |
1768 /** @ingroup iface_zwp_notification_surface_v1 */ | |
1769 static inline void | |
1770 zwp_notification_surface_v1_set_user_data(struct zwp_notification_surface_v1 *zw
p_notification_surface_v1, void *user_data) | |
1771 { | |
1772 wl_proxy_set_user_data((struct wl_proxy *) zwp_notification_surface_v1,
user_data); | |
1773 } | |
1774 | |
1775 /** @ingroup iface_zwp_notification_surface_v1 */ | |
1776 static inline void * | |
1777 zwp_notification_surface_v1_get_user_data(struct zwp_notification_surface_v1 *zw
p_notification_surface_v1) | |
1778 { | |
1779 return wl_proxy_get_user_data((struct wl_proxy *) zwp_notification_surfa
ce_v1); | |
1780 } | |
1781 | |
1782 static inline uint32_t | |
1783 zwp_notification_surface_v1_get_version(struct zwp_notification_surface_v1 *zwp_
notification_surface_v1) | |
1784 { | |
1785 return wl_proxy_get_version((struct wl_proxy *) zwp_notification_surface
_v1); | |
1786 } | |
1787 | |
1788 /** | |
1789 * @ingroup iface_zwp_notification_surface_v1 | |
1790 * | |
1791 * Unmap and destroy the notification surface. | |
1792 */ | |
1793 static inline void | |
1794 zwp_notification_surface_v1_destroy(struct zwp_notification_surface_v1 *zwp_noti
fication_surface_v1) | |
1795 { | |
1796 wl_proxy_marshal((struct wl_proxy *) zwp_notification_surface_v1, | |
1797 ZWP_NOTIFICATION_SURFACE_V1_DESTROY); | |
1798 | |
1799 wl_proxy_destroy((struct wl_proxy *) zwp_notification_surface_v1); | |
1800 } | |
1801 | |
1802 #ifdef __cplusplus | 858 #ifdef __cplusplus |
1803 } | 859 } |
1804 #endif | 860 #endif |
1805 | 861 |
1806 #endif | 862 #endif |
OLD | NEW |