about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-07-09 15:26:49 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-07-09 15:26:49 +0200
commit102744665c2e683158c7855b30a4ea80cd3ae7ee (patch)
tree6125a3d65774fab110c60003a9891752fa17df19 /src
parentdd885a694e73260f06c2b562e9717725ca50da48 (diff)
downloadbox64-102744665c2e683158c7855b30a4ea80cd3ae7ee.tar.gz
box64-102744665c2e683158c7855b30a4ea80cd3ae7ee.zip
Added some cairo functions (for #42)
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt3
-rw-r--r--src/wrapped/generated/wrapper.c8
-rw-r--r--src/wrapped/generated/wrapper.h3
-rwxr-xr-xsrc/wrapped/wrappedcairo_private.h130
4 files changed, 79 insertions, 65 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index d74cbec3..01e1cb36 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -533,6 +533,7 @@
 #() iFipii
 #() iFipui
 #() iFipup
+#() iFipLi
 #() iFipLp
 #() iFippi
 #() iFippu
@@ -836,6 +837,7 @@
 #() uFpplip
 #() uFppppp
 #() UFuiiii
+#() lFipLli
 #() lFipLLi
 #() LFLpppp
 #() LFpLLLp
@@ -1305,6 +1307,7 @@
 #() iFEppppppppp
 #() iFiiiiiiiiip
 #() iFpuupiuiipp
+#() iFpddpippppp
 #() iFppuuiiiiii
 #() iFppuuiiuupi
 #() iFpppiiipipi
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 5e5c10e0..34890fd6 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -567,6 +567,7 @@ typedef int64_t (*iFiLwp_t)(int64_t, uintptr_t, int16_t, void*);
 typedef int64_t (*iFipii_t)(int64_t, void*, int64_t, int64_t);
 typedef int64_t (*iFipui_t)(int64_t, void*, uint64_t, int64_t);
 typedef int64_t (*iFipup_t)(int64_t, void*, uint64_t, void*);
+typedef int64_t (*iFipLi_t)(int64_t, void*, uintptr_t, int64_t);
 typedef int64_t (*iFipLp_t)(int64_t, void*, uintptr_t, void*);
 typedef int64_t (*iFippi_t)(int64_t, void*, void*, int64_t);
 typedef int64_t (*iFippu_t)(int64_t, void*, void*, uint64_t);
@@ -870,6 +871,7 @@ typedef uint64_t (*uFppipp_t)(void*, void*, int64_t, void*, void*);
 typedef uint64_t (*uFpplip_t)(void*, void*, intptr_t, int64_t, void*);
 typedef uint64_t (*uFppppp_t)(void*, void*, void*, void*, void*);
 typedef uint64_t (*UFuiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t);
+typedef intptr_t (*lFipLli_t)(int64_t, void*, uintptr_t, intptr_t, int64_t);
 typedef intptr_t (*lFipLLi_t)(int64_t, void*, uintptr_t, uintptr_t, int64_t);
 typedef uintptr_t (*LFLpppp_t)(uintptr_t, void*, void*, void*, void*);
 typedef uintptr_t (*LFpLLLp_t)(void*, uintptr_t, uintptr_t, uintptr_t, void*);
@@ -1339,6 +1341,7 @@ typedef void (*vFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*,
 typedef int64_t (*iFEppppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef int64_t (*iFiiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
 typedef int64_t (*iFpuupiuiipp_t)(void*, uint64_t, uint64_t, void*, int64_t, uint64_t, int64_t, int64_t, void*, void*);
+typedef int64_t (*iFpddpippppp_t)(void*, double, double, void*, int64_t, void*, void*, void*, void*, void*);
 typedef int64_t (*iFppuuiiiiii_t)(void*, void*, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef int64_t (*iFppuuiiuupi_t)(void*, void*, uint64_t, uint64_t, int64_t, int64_t, uint64_t, uint64_t, void*, int64_t);
 typedef int64_t (*iFpppiiipipi_t)(void*, void*, void*, int64_t, int64_t, int64_t, void*, int64_t, void*, int64_t);
@@ -1964,6 +1967,7 @@ void iFiLwp(x64emu_t *emu, uintptr_t fcn) { iFiLwp_t fn = (iFiLwp_t)fcn; R_RAX=(
 void iFipii(x64emu_t *emu, uintptr_t fcn) { iFipii_t fn = (iFipii_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
 void iFipui(x64emu_t *emu, uintptr_t fcn) { iFipui_t fn = (iFipui_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX); }
 void iFipup(x64emu_t *emu, uintptr_t fcn) { iFipup_t fn = (iFipup_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
+void iFipLi(x64emu_t *emu, uintptr_t fcn) { iFipLi_t fn = (iFipLi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX); }
 void iFipLp(x64emu_t *emu, uintptr_t fcn) { iFipLp_t fn = (iFipLp_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void iFippi(x64emu_t *emu, uintptr_t fcn) { iFippi_t fn = (iFippi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void iFippu(x64emu_t *emu, uintptr_t fcn) { iFippu_t fn = (iFippu_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
@@ -2267,6 +2271,7 @@ void uFppipp(x64emu_t *emu, uintptr_t fcn) { uFppipp_t fn = (uFppipp_t)fcn; R_RA
 void uFpplip(x64emu_t *emu, uintptr_t fcn) { uFpplip_t fn = (uFpplip_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
 void uFppppp(x64emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void UFuiiii(x64emu_t *emu, uintptr_t fcn) { UFuiiii_t fn = (UFuiiii_t)fcn; R_RAX=fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
+void lFipLli(x64emu_t *emu, uintptr_t fcn) { lFipLli_t fn = (lFipLli_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (intptr_t)R_RCX, (int64_t)R_R8); }
 void lFipLLi(x64emu_t *emu, uintptr_t fcn) { lFipLLi_t fn = (lFipLLi_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int64_t)R_R8); }
 void LFLpppp(x64emu_t *emu, uintptr_t fcn) { LFLpppp_t fn = (LFLpppp_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void LFpLLLp(x64emu_t *emu, uintptr_t fcn) { LFpLLLp_t fn = (LFpLLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
@@ -2736,6 +2741,7 @@ void vFpppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppppppppp_t fn = (vFppppppp
 void iFEppppppppp(x64emu_t *emu, uintptr_t fcn) { iFEppppppppp_t fn = (iFEppppppppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiiip_t fn = (iFiiiiiiiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFpuupiuiipp(x64emu_t *emu, uintptr_t fcn) { iFpuupiuiipp_t fn = (iFpuupiuiipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void iFpddpippppp(x64emu_t *emu, uintptr_t fcn) { iFpddpippppp_t fn = (iFpddpippppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFppuuiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppuuiiiiii_t fn = (iFppuuiiiiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
 void iFppuuiiuupi(x64emu_t *emu, uintptr_t fcn) { iFppuuiiuupi_t fn = (iFppuuiiuupi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
 void iFpppiiipipi(x64emu_t *emu, uintptr_t fcn) { iFpppiiipipi_t fn = (iFpppiiipipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
@@ -3294,6 +3300,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFipii) return 1;
 	if (fun == &iFipui) return 1;
 	if (fun == &iFipup) return 1;
+	if (fun == &iFipLi) return 1;
 	if (fun == &iFipLp) return 1;
 	if (fun == &iFippi) return 1;
 	if (fun == &iFippu) return 1;
@@ -3562,6 +3569,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpplip) return 1;
 	if (fun == &uFppppp) return 1;
 	if (fun == &UFuiiii) return 1;
+	if (fun == &lFipLli) return 1;
 	if (fun == &lFipLLi) return 1;
 	if (fun == &LFLpppp) return 1;
 	if (fun == &LFpLLLp) return 1;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 3f6f875f..b01e424b 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -563,6 +563,7 @@ void iFiLwp(x64emu_t *emu, uintptr_t fnc);
 void iFipii(x64emu_t *emu, uintptr_t fnc);
 void iFipui(x64emu_t *emu, uintptr_t fnc);
 void iFipup(x64emu_t *emu, uintptr_t fnc);
+void iFipLi(x64emu_t *emu, uintptr_t fnc);
 void iFipLp(x64emu_t *emu, uintptr_t fnc);
 void iFippi(x64emu_t *emu, uintptr_t fnc);
 void iFippu(x64emu_t *emu, uintptr_t fnc);
@@ -866,6 +867,7 @@ void uFppipp(x64emu_t *emu, uintptr_t fnc);
 void uFpplip(x64emu_t *emu, uintptr_t fnc);
 void uFppppp(x64emu_t *emu, uintptr_t fnc);
 void UFuiiii(x64emu_t *emu, uintptr_t fnc);
+void lFipLli(x64emu_t *emu, uintptr_t fnc);
 void lFipLLi(x64emu_t *emu, uintptr_t fnc);
 void LFLpppp(x64emu_t *emu, uintptr_t fnc);
 void LFpLLLp(x64emu_t *emu, uintptr_t fnc);
@@ -1335,6 +1337,7 @@ void vFpppppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFpuupiuiipp(x64emu_t *emu, uintptr_t fnc);
+void iFpddpippppp(x64emu_t *emu, uintptr_t fnc);
 void iFppuuiiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFppuuiiuupi(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiipipi(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedcairo_private.h b/src/wrapped/wrappedcairo_private.h
index acf299bc..7e484d1d 100755
--- a/src/wrapped/wrappedcairo_private.h
+++ b/src/wrapped/wrappedcairo_private.h
@@ -17,37 +17,37 @@ GO(cairo_create, pFp)
 GO(cairo_curve_to, vFpdddddd)
 //GO(cairo_debug_reset_static_data, 
 GO(cairo_destroy, vFp)
-//GO(cairo_device_acquire, 
-//GO(cairo_device_destroy, 
-//GO(cairo_device_finish, 
-//GO(cairo_device_flush, 
-//GO(cairo_device_get_reference_count, 
-//GO(cairo_device_get_type, 
-//GO(cairo_device_get_user_data, 
-//GO(cairo_device_observer_elapsed, 
-//GO(cairo_device_observer_fill_elapsed, 
-//GO(cairo_device_observer_glyphs_elapsed, 
-//GO(cairo_device_observer_mask_elapsed, 
-//GO(cairo_device_observer_paint_elapsed, 
-//GO(cairo_device_observer_print, 
-//GO(cairo_device_observer_stroke_elapsed, 
-//GO(cairo_device_reference, 
-//GO(cairo_device_release, 
-//GO(cairo_device_set_user_data, 
-//GO(cairo_device_status, 
+GO(cairo_device_acquire, iFp)
+GO(cairo_device_destroy, vFp)
+GO(cairo_device_finish, vFp)
+GO(cairo_device_flush, vFp)
+GO(cairo_device_get_reference_count, uFp)
+GO(cairo_device_get_type, iFp)
+GO(cairo_device_get_user_data, pFpp)
+GO(cairo_device_observer_elapsed, dFp)
+GO(cairo_device_observer_fill_elapsed, dFp)
+GO(cairo_device_observer_glyphs_elapsed, dFp)
+GO(cairo_device_observer_mask_elapsed, dFp)
+GO(cairo_device_observer_paint_elapsed, dFp)
+//GOM(cairo_device_observer_print, iFEppp)
+GO(cairo_device_observer_stroke_elapsed, dFp)
+GO(cairo_device_reference, pFp)
+GO(cairo_device_release, vFp)
+//GOM(cairo_device_set_user_data, iFEpppp)
+GO(cairo_device_status, iFp)
 GO(cairo_device_to_user, vFppp)
 GO(cairo_device_to_user_distance, vFppp)
 GO(cairo_fill, vFp)
 GO(cairo_fill_extents, vFppppp)
 GO(cairo_fill_preserve, vFp)
 GO(cairo_font_extents, vFpp)
-//GO(cairo_font_face_destroy, 
-//GO(cairo_font_face_get_reference_count, 
-//GO(cairo_font_face_get_type, 
-//GO(cairo_font_face_get_user_data, 
-//GO(cairo_font_face_reference, 
-//GO(cairo_font_face_set_user_data, 
-//GO(cairo_font_face_status, 
+GO(cairo_font_face_destroy, vFp)
+GO(cairo_font_face_get_reference_count, uFp)
+GO(cairo_font_face_get_type, iFp)
+GO(cairo_font_face_get_user_data, pFpp)
+GO(cairo_font_face_reference, pFp)
+//GOM(cairo_font_face_set_user_data, iFpppp)
+GO(cairo_font_face_status, iFp)
 GO(cairo_font_options_copy, pFp)
 GO(cairo_font_options_create, pFv)
 GO(cairo_font_options_destroy, vFp)
@@ -210,29 +210,29 @@ GO(cairo_push_group_with_content, vFpi)
 GO(cairo_rectangle, vFpdddd)
 GO(cairo_rectangle_list_destroy, vFp)
 GO(cairo_reference, pFp)
-//GO(cairo_region_contains_point, 
-//GO(cairo_region_contains_rectangle, 
-//GO(cairo_region_copy, 
-//GO(cairo_region_create, 
-//GO(cairo_region_create_rectangle, 
-//GO(cairo_region_create_rectangles, 
-//GO(cairo_region_destroy, 
-//GO(cairo_region_equal, 
-//GO(cairo_region_get_extents, 
-//GO(cairo_region_get_rectangle, 
-//GO(cairo_region_intersect, 
-//GO(cairo_region_intersect_rectangle, 
-//GO(cairo_region_is_empty, 
-//GO(cairo_region_num_rectangles, 
-//GO(cairo_region_reference, 
-//GO(cairo_region_status, 
-//GO(cairo_region_subtract, 
-//GO(cairo_region_subtract_rectangle, 
-//GO(cairo_region_translate, 
-//GO(cairo_region_union, 
-//GO(cairo_region_union_rectangle, 
-//GO(cairo_region_xor, 
-//GO(cairo_region_xor_rectangle, 
+GO(cairo_region_contains_point, iFpii)
+GO(cairo_region_contains_rectangle, iFpp)
+GO(cairo_region_copy, pFp)
+GO(cairo_region_create, pFv)
+GO(cairo_region_create_rectangle, pFp)
+GO(cairo_region_create_rectangles, pFpi)
+GO(cairo_region_destroy, vFp)
+GO(cairo_region_equal, iFpp)
+GO(cairo_region_get_extents, vFpp)
+GO(cairo_region_get_rectangle, vFpip)
+GO(cairo_region_intersect, iFpp)
+GO(cairo_region_intersect_rectangle, iFpp)
+GO(cairo_region_is_empty, iFp)
+GO(cairo_region_num_rectangles, iFp)
+GO(cairo_region_reference, pFp)
+GO(cairo_region_status, iFp)
+GO(cairo_region_subtract, iFpp)
+GO(cairo_region_subtract_rectangle, iFpp)
+GO(cairo_region_translate, vFpii)
+GO(cairo_region_union, iFpp)
+GO(cairo_region_union_rectangle, iFpp)
+GO(cairo_region_xor, iFpp)
+GO(cairo_region_xor_rectangle, iFpp)
 GO(cairo_rel_curve_to, vFpdddddd)
 GO(cairo_rel_line_to, vFpdd)
 GO(cairo_rel_move_to, vFpdd)
@@ -241,23 +241,23 @@ GO(cairo_restore, vFp)
 GO(cairo_rotate, vFpd)
 GO(cairo_save, vFp)
 GO(cairo_scale, vFpdd)
-//GO(cairo_scaled_font_create, 
-//GO(cairo_scaled_font_destroy, 
-//GO(cairo_scaled_font_extents, 
-//GO(cairo_scaled_font_get_ctm, 
-//GO(cairo_scaled_font_get_font_face, 
-//GO(cairo_scaled_font_get_font_matrix, 
-//GO(cairo_scaled_font_get_font_options, 
-//GO(cairo_scaled_font_get_reference_count, 
-//GO(cairo_scaled_font_get_scale_matrix, 
-//GO(cairo_scaled_font_get_type, 
-//GO(cairo_scaled_font_get_user_data, 
-//GO(cairo_scaled_font_glyph_extents, 
-//GO(cairo_scaled_font_reference, 
-//GO(cairo_scaled_font_set_user_data, 
-//GO(cairo_scaled_font_status, 
-//GO(cairo_scaled_font_text_extents, 
-//GO(cairo_scaled_font_text_to_glyphs, 
+GO(cairo_scaled_font_create, pFpppp)
+GO(cairo_scaled_font_destroy, vFp)
+GO(cairo_scaled_font_extents, vFpp)
+GO(cairo_scaled_font_get_ctm, vFpp)
+GO(cairo_scaled_font_get_font_face, pFp)
+GO(cairo_scaled_font_get_font_matrix, vFpp)
+GO(cairo_scaled_font_get_font_options, vFpp)
+GO(cairo_scaled_font_get_reference_count, uFp)
+GO(cairo_scaled_font_get_scale_matrix, vFpp)
+GO(cairo_scaled_font_get_type, iFp)
+GO(cairo_scaled_font_get_user_data, pFpp)
+GO(cairo_scaled_font_glyph_extents, vFppip)
+GO(cairo_scaled_font_reference, pFp)
+//GOM(cairo_scaled_font_set_user_data, iFEpppp)
+GO(cairo_scaled_font_status, iFp)
+GO(cairo_scaled_font_text_extents, vFppp)
+GO(cairo_scaled_font_text_to_glyphs, iFpddpippppp)
 //GO(cairo_script_create, 
 //GO(cairo_script_create_for_stream, 
 //GO(cairo_script_from_recording_surface,