@@ -142,10 +142,12 @@ static void* find_xdg_surface_listener_Fct(void* fct)
142142}
143143// xdg_toplevel_listener ...
144144typedef struct my_xdg_toplevel_listener_s {
145- uintptr_t configure ; //vFppiip
146- uintptr_t close ; //vFpp
145+ uintptr_t configure ; // vFppiip
146+ uintptr_t close ; // vFpp
147+ uintptr_t configure_bounds ; // vFppii
148+ uintptr_t wm_capabilities ; // vFppp
147149} my_xdg_toplevel_listener_t ;
148- #define GO (A ) \
150+ #define GO (A ) \
149151static my_xdg_toplevel_listener_t* ref_xdg_toplevel_listener_##A = NULL; \
150152static void my_xdg_toplevel_listener_configure_##A(void* a, void* b, int c, int d, void* e) \
151153{ \
@@ -155,9 +157,19 @@ static void my_xdg_toplevel_listener_close_##A(void* a, void* b)
155157{ \
156158 RunFunctionFmt(ref_xdg_toplevel_listener_##A->close, "pp", a, b); \
157159} \
160+ static void my_xdg_toplevel_listener_configure_bounds_##A(void* a, void* b, int c, int d) \
161+ { \
162+ RunFunctionFmt(ref_xdg_toplevel_listener_##A->configure_bounds, "ppii", a, b, c, d); \
163+ } \
164+ static void my_xdg_toplevel_listener_wm_capabilities_##A(void* a, void* b, void* c) \
165+ { \
166+ RunFunctionFmt(ref_xdg_toplevel_listener_##A->wm_capabilities, "ppp", a, b, c); \
167+ } \
158168static my_xdg_toplevel_listener_t my_xdg_toplevel_listener_fct_##A = { \
159169 (uintptr_t)my_xdg_toplevel_listener_configure_##A, \
160- (uintptr_t)my_xdg_toplevel_listener_close_##A \
170+ (uintptr_t)my_xdg_toplevel_listener_close_##A, \
171+ (uintptr_t)my_xdg_toplevel_listener_configure_bounds_##A, \
172+ (uintptr_t)my_xdg_toplevel_listener_wm_capabilities_##A \
161173};
162174SUPER ()
163175#undef GO
@@ -832,13 +844,13 @@ static void* find_wl_surface_listener_Fct(void* fct)
832844}
833845// wl_callback_listener ...
834846typedef struct my_wl_callback_listener_s {
835- uintptr_t done ; //vFppp
847+ uintptr_t done ; // vFppu
836848} my_wl_callback_listener_t ;
837- #define GO (A ) \
849+ #define GO (A ) \
838850static my_wl_callback_listener_t* ref_wl_callback_listener_##A = NULL; \
839- static void my_wl_callback_listener_done_##A(void* a, void* b, void* c) \
851+ static void my_wl_callback_listener_done_##A(void* a, void* b, uint32_t c) \
840852{ \
841- RunFunctionFmt(ref_wl_callback_listener_##A->done, "ppp ", a, b, c); \
853+ RunFunctionFmt(ref_wl_callback_listener_##A->done, "ppu ", a, b, c); \
842854} \
843855static my_wl_callback_listener_t my_wl_callback_listener_fct_##A = { \
844856 (uintptr_t)my_wl_callback_listener_done_##A, \
@@ -1015,6 +1027,44 @@ static void* find_wp_color_management_output_v1_listener_Fct(void* fct)
10151027 printf_log (LOG_NONE , "Warning, no more slot for wayland-client wp_color_management_output_v1_listener callback\n" );
10161028 return NULL ;
10171029}
1030+ // wp_color_management_surface_feedback_v1 ...
1031+ typedef struct my_wp_color_management_surface_feedback_v1_listener_s {
1032+ uintptr_t preferred_changed ; // vFppu
1033+ uintptr_t preferred_changed2 ; // vFppuu
1034+ } my_wp_color_management_surface_feedback_v1_listener_t ;
1035+ #define GO (A ) \
1036+ static my_wp_color_management_surface_feedback_v1_listener_t* ref_wp_color_management_surface_feedback_v1_listener_##A = NULL; \
1037+ static void my_wp_color_management_surface_feedback_v1_listener_preferred_changed_##A(void* a, void* b, uint32_t c) \
1038+ { \
1039+ RunFunctionFmt(ref_wp_color_management_surface_feedback_v1_listener_##A->preferred_changed, "ppu", a, b, c); \
1040+ } \
1041+ static void my_wp_color_management_surface_feedback_v1_listener_preferred_changed2_##A(void* a, void* b, uint32_t c, uint32_t d) \
1042+ { \
1043+ RunFunctionFmt(ref_wp_color_management_surface_feedback_v1_listener_##A->preferred_changed2, "ppuu", a, b, c, d); \
1044+ } \
1045+ static my_wp_color_management_surface_feedback_v1_listener_t my_wp_color_management_surface_feedback_v1_listener_fct_##A = { \
1046+ (uintptr_t)my_wp_color_management_surface_feedback_v1_listener_preferred_changed_##A, \
1047+ (uintptr_t)my_wp_color_management_surface_feedback_v1_listener_preferred_changed2_##A, \
1048+ };
1049+ SUPER ()
1050+ #undef GO
1051+ static void * find_wp_color_management_surface_feedback_v1_listener_Fct (void * fct )
1052+ {
1053+ if (!fct ) return fct ;
1054+ #define GO (A ) \
1055+ if (ref_wp_color_management_surface_feedback_v1_listener_##A == fct) return &my_wp_color_management_surface_feedback_v1_listener_fct_##A;
1056+ SUPER ()
1057+ #undef GO
1058+ #define GO (A ) \
1059+ if (ref_wp_color_management_surface_feedback_v1_listener_##A == 0) { \
1060+ ref_wp_color_management_surface_feedback_v1_listener_##A = fct; \
1061+ return &my_wp_color_management_surface_feedback_v1_listener_fct_##A; \
1062+ }
1063+ SUPER ()
1064+ #undef GO
1065+ printf_log (LOG_NONE , "Warning, no more slot for wayland-client wp_color_management_surface_feedback_v1_listener callback\n" );
1066+ return NULL ;
1067+ }
10181068// wp_image_description_info_v1 ...
10191069typedef struct my_wp_image_description_info_v1_listener_s {
10201070 uintptr_t done ; // vFpp
@@ -1143,6 +1193,70 @@ static void* find_zxdg_toplevel_decoration_v1_listener_Fct(void* fct)
11431193 printf_log (LOG_NONE , "Warning, no more slot for wayland-client zxdg_toplevel_decoration_v1_listener_listener callback\n" );
11441194 return NULL ;
11451195}
1196+ // zxdg_exported_v2 ...
1197+ typedef struct my_zxdg_exported_v2_listener_s {
1198+ uintptr_t handle ; // vFppp
1199+ } my_zxdg_exported_v2_listener_t ;
1200+ #define GO (A ) \
1201+ static my_zxdg_exported_v2_listener_t* ref_zxdg_exported_v2_listener_##A = NULL; \
1202+ static void my_zxdg_exported_v2_listener_handle_##A(void* a, void* b, void* c) \
1203+ { \
1204+ RunFunctionFmt(ref_zxdg_exported_v2_listener_##A->handle, "ppp", a, b, c); \
1205+ } \
1206+ static my_zxdg_exported_v2_listener_t my_zxdg_exported_v2_listener_fct_##A = { \
1207+ (uintptr_t)my_zxdg_exported_v2_listener_handle_##A, \
1208+ };
1209+ SUPER ()
1210+ #undef GO
1211+ static void * find_zxdg_exported_v2_listener_Fct (void * fct )
1212+ {
1213+ if (!fct ) return fct ;
1214+ #define GO (A ) \
1215+ if (ref_zxdg_exported_v2_listener_##A == fct) return &my_zxdg_exported_v2_listener_fct_##A;
1216+ SUPER ()
1217+ #undef GO
1218+ #define GO (A ) \
1219+ if (ref_zxdg_exported_v2_listener_##A == 0) { \
1220+ ref_zxdg_exported_v2_listener_##A = fct; \
1221+ return &my_zxdg_exported_v2_listener_fct_##A; \
1222+ }
1223+ SUPER ()
1224+ #undef GO
1225+ printf_log (LOG_NONE , "Warning, no more slot for wayland-client zxdg_exported_v2_listener callback\n" );
1226+ return NULL ;
1227+ }
1228+ // zxdg_imported_v2 ...
1229+ typedef struct my_zxdg_imported_v2_listener_s {
1230+ uintptr_t destroyed ; // vFpp
1231+ } my_zxdg_imported_v2_listener_t ;
1232+ #define GO (A ) \
1233+ static my_zxdg_imported_v2_listener_t* ref_zxdg_imported_v2_listener_##A = NULL; \
1234+ static void my_zxdg_imported_v2_listener_destroyed_##A(void* a, void* b) \
1235+ { \
1236+ RunFunctionFmt(ref_zxdg_imported_v2_listener_##A->destroyed, "pp", a, b); \
1237+ } \
1238+ static my_zxdg_imported_v2_listener_t my_zxdg_imported_v2_listener_fct_##A = { \
1239+ (uintptr_t)my_zxdg_imported_v2_listener_destroyed_##A, \
1240+ };
1241+ SUPER ()
1242+ #undef GO
1243+ static void * find_zxdg_imported_v2_listener_Fct (void * fct )
1244+ {
1245+ if (!fct ) return fct ;
1246+ #define GO (A ) \
1247+ if (ref_zxdg_imported_v2_listener_##A == fct) return &my_zxdg_imported_v2_listener_fct_##A;
1248+ SUPER ()
1249+ #undef GO
1250+ #define GO (A ) \
1251+ if (ref_zxdg_imported_v2_listener_##A == 0) { \
1252+ ref_zxdg_imported_v2_listener_##A = fct; \
1253+ return &my_zxdg_imported_v2_listener_fct_##A; \
1254+ }
1255+ SUPER ()
1256+ #undef GO
1257+ printf_log (LOG_NONE , "Warning, no more slot for wayland-client zxdg_imported_v2_listener callback\n" );
1258+ return NULL ;
1259+ }
11461260// wp_color_manager_v1 ...
11471261typedef struct my_wp_color_manager_v1_listener_s {
11481262 uintptr_t supported_intent ; // vFppu
@@ -1249,6 +1363,94 @@ static void* find_ext_data_control_device_v1_listener_Fct(void* fct)
12491363 printf_log (LOG_NONE , "Warning, no more slot for wayland-client ext_data_control_device_v1_listener callback\n" );
12501364 return NULL ;
12511365}
1366+ // wp_image_description_v1 ...
1367+ typedef struct my_wp_image_description_v1_listener_s {
1368+ uintptr_t failed ; // vFppup
1369+ uintptr_t ready ; // vFppu
1370+ uintptr_t ready2 ; // vFppuu
1371+ } my_wp_image_description_v1_listener_t ;
1372+ #define GO (A ) \
1373+ static my_wp_image_description_v1_listener_t* ref_wp_image_description_v1_listener_##A = NULL; \
1374+ static void my_wp_image_description_v1_listener_failed_##A(void* a, void* b, uint32_t c, void* d) \
1375+ { \
1376+ RunFunctionFmt(ref_wp_image_description_v1_listener_##A->failed, "ppup", a, b, c, d); \
1377+ } \
1378+ static void my_wp_image_description_v1_listener_ready_##A(void* a, void* b, uint32_t c) \
1379+ { \
1380+ RunFunctionFmt(ref_wp_image_description_v1_listener_##A->ready, "ppu", a, b, c); \
1381+ } \
1382+ static void my_wp_image_description_v1_listener_ready2_##A(void* a, void* b, uint32_t c, uint32_t d) \
1383+ { \
1384+ RunFunctionFmt(ref_wp_image_description_v1_listener_##A->ready2, "ppuu", a, b, c, d); \
1385+ } \
1386+ static my_wp_image_description_v1_listener_t my_wp_image_description_v1_listener_fct_##A = { \
1387+ (uintptr_t)my_wp_image_description_v1_listener_failed_##A, \
1388+ (uintptr_t)my_wp_image_description_v1_listener_ready_##A, \
1389+ (uintptr_t)my_wp_image_description_v1_listener_ready2_##A, \
1390+ };
1391+ SUPER ()
1392+ #undef GO
1393+ static void * find_wp_image_description_v1_listener_Fct (void * fct )
1394+ {
1395+ if (!fct ) return fct ;
1396+ #define GO (A ) \
1397+ if (ref_wp_image_description_v1_listener_##A == fct) return &my_wp_image_description_v1_listener_fct_##A;
1398+ SUPER ()
1399+ #undef GO
1400+ #define GO (A ) \
1401+ if (ref_wp_image_description_v1_listener_##A == 0) { \
1402+ ref_wp_image_description_v1_listener_##A = fct; \
1403+ return &my_wp_image_description_v1_listener_fct_##A; \
1404+ }
1405+ SUPER ()
1406+ #undef GO
1407+ printf_log (LOG_NONE , "Warning, no more slot for wayland-client wp_image_description_v1_listener callback\n" );
1408+ return NULL ;
1409+ }
1410+ // zwp_pointer_gesture_pinch_v1 ...
1411+ typedef struct my_zwp_pointer_gesture_pinch_v1_listener_s {
1412+ uintptr_t begin ; // vFppuuup
1413+ uintptr_t update ; // vFppuiiii
1414+ uintptr_t end ; // vFppuui
1415+ } my_zwp_pointer_gesture_pinch_v1_listener_t ;
1416+ #define GO (A ) \
1417+ static my_zwp_pointer_gesture_pinch_v1_listener_t* ref_zwp_pointer_gesture_pinch_v1_listener_##A = NULL; \
1418+ static void my_zwp_pointer_gesture_pinch_v1_listener_begin_##A(void* a, void* b, uint32_t c, uint32_t d, void* e, uint32_t f) \
1419+ { \
1420+ RunFunctionFmt(ref_zwp_pointer_gesture_pinch_v1_listener_##A->begin, "ppuuup", a, b, c, d, e, f); \
1421+ } \
1422+ static void my_zwp_pointer_gesture_pinch_v1_listener_update_##A(void* a, void* b, uint32_t c, int32_t d, int32_t e, int32_t f, int32_t g) \
1423+ { \
1424+ RunFunctionFmt(ref_zwp_pointer_gesture_pinch_v1_listener_##A->update, "ppuiiii", a, b, c, d, e, f, g); \
1425+ } \
1426+ static void my_zwp_pointer_gesture_pinch_v1_listener_end_##A(void* a, void* b, uint32_t c, uint32_t d, int32_t e) \
1427+ { \
1428+ RunFunctionFmt(ref_zwp_pointer_gesture_pinch_v1_listener_##A->end, "ppuui", a, b, c, d, e); \
1429+ } \
1430+ static my_zwp_pointer_gesture_pinch_v1_listener_t my_zwp_pointer_gesture_pinch_v1_listener_fct_##A = { \
1431+ (uintptr_t)my_zwp_pointer_gesture_pinch_v1_listener_begin_##A, \
1432+ (uintptr_t)my_zwp_pointer_gesture_pinch_v1_listener_update_##A, \
1433+ (uintptr_t)my_zwp_pointer_gesture_pinch_v1_listener_end_##A, \
1434+ };
1435+ SUPER ()
1436+ #undef GO
1437+ static void * find_zwp_pointer_gesture_pinch_v1_listener_Fct (void * fct )
1438+ {
1439+ if (!fct ) return fct ;
1440+ #define GO (A ) \
1441+ if (ref_zwp_pointer_gesture_pinch_v1_listener_##A == fct) return &my_zwp_pointer_gesture_pinch_v1_listener_fct_##A;
1442+ SUPER ()
1443+ #undef GO
1444+ #define GO (A ) \
1445+ if (ref_zwp_pointer_gesture_pinch_v1_listener_##A == 0) { \
1446+ ref_zwp_pointer_gesture_pinch_v1_listener_##A = fct; \
1447+ return &my_zwp_pointer_gesture_pinch_v1_listener_fct_##A; \
1448+ }
1449+ SUPER ()
1450+ #undef GO
1451+ printf_log (LOG_NONE , "Warning, no more slot for wayland-client zwp_pointer_gesture_pinch_v1_listener callback\n" );
1452+ return NULL ;
1453+ }
12521454#undef SUPER
12531455
12541456EXPORT int my_wl_proxy_add_listener (x64emu_t * emu , void * proxy , void * * l , void * data )
@@ -1303,14 +1505,24 @@ EXPORT int my_wl_proxy_add_listener(x64emu_t* emu, void* proxy, void** l, void*
13031505 l = find_zwp_primary_selection_offer_v1_listener_Fct (l );
13041506 } else if (!strcmp (proxy_name , "wp_color_management_output_v1" )) {
13051507 l = find_wp_color_management_output_v1_listener_Fct (l );
1508+ } else if (!strcmp (proxy_name , "wp_color_management_surface_feedback_v1" )) {
1509+ l = find_wp_color_management_surface_feedback_v1_listener_Fct (l );
13061510 } else if (!strcmp (proxy_name , "wp_image_description_info_v1" )) {
13071511 l = find_wp_image_description_info_v1_listener_Fct (l );
13081512 } else if (!strcmp (proxy_name , "zxdg_toplevel_decoration_v1" )) {
13091513 l = find_zxdg_toplevel_decoration_v1_listener_Fct (l );
1514+ } else if (!strcmp (proxy_name , "zxdg_exported_v2" )) {
1515+ l = find_zxdg_exported_v2_listener_Fct (l );
1516+ } else if (!strcmp (proxy_name , "zxdg_imported_v2" )) {
1517+ l = find_zxdg_imported_v2_listener_Fct (l );
13101518 } else if (!strcmp (proxy_name , "wp_color_manager_v1" )) {
13111519 l = find_wp_color_manager_v1_listener_Fct (l );
13121520 } else if (!strcmp (proxy_name , "ext_data_control_device_v1" )) {
13131521 l = find_ext_data_control_device_v1_listener_Fct (l );
1522+ } else if (!strcmp (proxy_name , "wp_image_description_v1" )) {
1523+ l = find_wp_image_description_v1_listener_Fct (l );
1524+ } else if (!strcmp (proxy_name , "zwp_pointer_gesture_pinch_v1" )) {
1525+ l = find_zwp_pointer_gesture_pinch_v1_listener_Fct (l );
13141526 } else
13151527 printf_log (LOG_INFO , "Error, Wayland-client, add_listener to %s unknown, will crash soon!\n" , proxy_name );
13161528 return my -> wl_proxy_add_listener (proxy , l , data );
0 commit comments