mirror of
https://github.com/ptitSeb/box64.git
synced 2024-11-23 09:54:37 +08:00
[BOX32] Improved again, X11 and XImage handling
This commit is contained in:
parent
84f3c104b2
commit
05384f581f
@ -1555,7 +1555,7 @@ EXPORT void* my_XOpenDisplay(x64emu_t* emu, void* d)
|
||||
if(!ret)
|
||||
return ret;
|
||||
|
||||
if(box64_x11sync) my->XSynchronize(ret, 1);
|
||||
if(box64_x11sync) {my->XSynchronize(ret, 1); printf_log(LOG_INFO, "Forcing Syncronized opration on Display %p\n", ret);}
|
||||
bridge_t* system = emu->context->system;
|
||||
|
||||
#define GO(A, W)\
|
||||
|
@ -837,7 +837,7 @@
|
||||
#() iFbp_pii -> iFBpii
|
||||
#() iFbp_pip -> iFBpip
|
||||
#() iFBp_pui -> iFBpui
|
||||
#() iFXLibp_ -> iFXLiB
|
||||
#() iFXLiBp_ -> iFXLiB
|
||||
#() iFXLbp_i -> iFXLBi
|
||||
#() iFXLbL_i -> iFXLBi
|
||||
#() iFXLbp_p -> iFXLBp
|
||||
@ -865,6 +865,7 @@
|
||||
#() iFXipBWWWWWWWWWuip_ -> iFXipB
|
||||
#() iFXLbLWWWcc_bLWWWcc_ -> iFXLBB
|
||||
#() iFpruuipWCCp_buuipWCCp_i -> iFpBBi
|
||||
#() iFXpLriLLLiiiiiiiLLiiLiiiiLic_ -> iFXpLB
|
||||
#() iFXpLbiLLLiiiiiiiLLiiLiiiiLic_ -> iFXpLB
|
||||
#() pFXLLbiLLLiiiiiiiLLiiLiiiiLic_ -> pFXLLB
|
||||
#() vFEiipV -> vFEiipV
|
||||
@ -970,7 +971,6 @@
|
||||
#() iFEippL -> iFEippL
|
||||
#() iFEpipp -> iFEpipp
|
||||
#() iFEpupu -> iFEpupu
|
||||
#() iFEpLlp -> iFEpLlp
|
||||
#() iFEpLpp -> iFEpLpp
|
||||
#() iFEpLpV -> iFEpLpV
|
||||
#() iFEpplp -> iFEpplp
|
||||
@ -2042,12 +2042,11 @@ wrappedlibx11:
|
||||
- XESetCloseDisplay
|
||||
- XESetEventToWire
|
||||
- XESetWireToEvent
|
||||
- iFpLlp:
|
||||
- XWindowEvent
|
||||
- iFXLip:
|
||||
- XCheckTypedWindowEvent
|
||||
- iFXLlp:
|
||||
- XCheckWindowEvent
|
||||
- XWindowEvent
|
||||
- iFXLLp:
|
||||
- XChangeWindowAttributes
|
||||
- iFXLpi:
|
||||
|
@ -33,7 +33,6 @@ typedef int32_t (*iFXlp_t)(void*, intptr_t, void*);
|
||||
typedef int32_t (*iFXLp_t)(void*, uintptr_t, void*);
|
||||
typedef uintptr_t (*LFXii_t)(void*, int32_t, int32_t);
|
||||
typedef void* (*pFXip_t)(void*, int32_t, void*);
|
||||
typedef int32_t (*iFpLlp_t)(void*, uintptr_t, intptr_t, void*);
|
||||
typedef int32_t (*iFXLip_t)(void*, uintptr_t, int32_t, void*);
|
||||
typedef int32_t (*iFXLlp_t)(void*, uintptr_t, intptr_t, void*);
|
||||
typedef int32_t (*iFXLLp_t)(void*, uintptr_t, uintptr_t, void*);
|
||||
@ -98,9 +97,9 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32
|
||||
GO(XESetCloseDisplay, pFXip_t) \
|
||||
GO(XESetEventToWire, pFXip_t) \
|
||||
GO(XESetWireToEvent, pFXip_t) \
|
||||
GO(XWindowEvent, iFpLlp_t) \
|
||||
GO(XCheckTypedWindowEvent, iFXLip_t) \
|
||||
GO(XCheckWindowEvent, iFXLlp_t) \
|
||||
GO(XWindowEvent, iFXLlp_t) \
|
||||
GO(XChangeWindowAttributes, iFXLLp_t) \
|
||||
GO(XQueryColors, iFXLpi_t) \
|
||||
GO(XSetWMProtocols, iFXLpi_t) \
|
||||
|
@ -927,7 +927,7 @@ typedef int32_t (*iFppbL_p_t)(void*, void*, struct_L_t*, void*);
|
||||
typedef int32_t (*iFbp_pii_t)(struct_p_t*, void*, int32_t, int32_t);
|
||||
typedef int32_t (*iFbp_pip_t)(struct_p_t*, void*, int32_t, void*);
|
||||
typedef int32_t (*iFBp_pui_t)(struct_p_t*, void*, uint32_t, int32_t);
|
||||
typedef int32_t (*iFXLibp__t)(void*, uintptr_t, int32_t, struct_p_t*);
|
||||
typedef int32_t (*iFXLiBp__t)(void*, uintptr_t, int32_t, struct_p_t*);
|
||||
typedef int32_t (*iFXLbp_i_t)(void*, uintptr_t, struct_p_t*, int32_t);
|
||||
typedef int32_t (*iFXLbL_i_t)(void*, uintptr_t, struct_L_t*, int32_t);
|
||||
typedef int32_t (*iFXLbp_p_t)(void*, uintptr_t, struct_p_t*, void*);
|
||||
@ -955,6 +955,7 @@ typedef uintptr_t (*LFpLpriiiiiiiiilt__t)(void*, uintptr_t, void*, struct_iiiiii
|
||||
typedef int32_t (*iFXipBWWWWWWWWWuip__t)(void*, int32_t, void*, struct_WWWWWWWWWuip_t*);
|
||||
typedef int32_t (*iFXLbLWWWcc_bLWWWcc__t)(void*, uintptr_t, struct_LWWWcc_t*, struct_LWWWcc_t*);
|
||||
typedef int32_t (*iFpruuipWCCp_buuipWCCp_i_t)(void*, struct_uuipWCCp_t*, struct_uuipWCCp_t*, int32_t);
|
||||
typedef int32_t (*iFXpLriLLLiiiiiiiLLiiLiiiiLic__t)(void*, void*, uintptr_t, struct_iLLLiiiiiiiLLiiLiiiiLic_t*);
|
||||
typedef int32_t (*iFXpLbiLLLiiiiiiiLLiiLiiiiLic__t)(void*, void*, uintptr_t, struct_iLLLiiiiiiiLLiiLiiiiLic_t*);
|
||||
typedef void* (*pFXLLbiLLLiiiiiiiLLiiLiiiiLic__t)(void*, uintptr_t, uintptr_t, struct_iLLLiiiiiiiLLiiLiiiiLic_t*);
|
||||
typedef void (*vFEiipV_t)(x64emu_t*, int32_t, int32_t, void*, void*);
|
||||
@ -1060,7 +1061,6 @@ typedef int32_t (*iFEipii_t)(x64emu_t*, int32_t, void*, int32_t, int32_t);
|
||||
typedef int32_t (*iFEippL_t)(x64emu_t*, int32_t, void*, void*, uintptr_t);
|
||||
typedef int32_t (*iFEpipp_t)(x64emu_t*, void*, int32_t, void*, void*);
|
||||
typedef int32_t (*iFEpupu_t)(x64emu_t*, void*, uint32_t, void*, uint32_t);
|
||||
typedef int32_t (*iFEpLlp_t)(x64emu_t*, void*, uintptr_t, intptr_t, void*);
|
||||
typedef int32_t (*iFEpLpp_t)(x64emu_t*, void*, uintptr_t, void*, void*);
|
||||
typedef int32_t (*iFEpLpV_t)(x64emu_t*, void*, uintptr_t, void*, void*);
|
||||
typedef int32_t (*iFEpplp_t)(x64emu_t*, void*, void*, intptr_t, void*);
|
||||
@ -2411,7 +2411,7 @@ void iFppbL_p_32(x64emu_t *emu, uintptr_t fcn) { iFppbL_p_t fn = (iFppbL_p_t)fcn
|
||||
void iFbp_pii_32(x64emu_t *emu, uintptr_t fcn) { iFbp_pii_t fn = (iFbp_pii_t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
|
||||
void iFbp_pip_32(x64emu_t *emu, uintptr_t fcn) { iFbp_pip_t fn = (iFbp_pip_t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
|
||||
void iFBp_pui_32(x64emu_t *emu, uintptr_t fcn) { iFBp_pui_t fn = (iFBp_pui_t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
|
||||
void iFXLibp__32(x64emu_t *emu, uintptr_t fcn) { iFXLibp__t fn = (iFXLibp__t)fcn; struct_p_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_p(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
|
||||
void iFXLiBp__32(x64emu_t *emu, uintptr_t fcn) { iFXLiBp__t fn = (iFXLiBp__t)fcn; struct_p_t arg_16={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
|
||||
void iFXLbp_i_32(x64emu_t *emu, uintptr_t fcn) { iFXLbp_i_t fn = (iFXLbp_i_t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
|
||||
void iFXLbL_i_32(x64emu_t *emu, uintptr_t fcn) { iFXLbL_i_t fn = (iFXLbL_i_t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
|
||||
void iFXLbp_p_32(x64emu_t *emu, uintptr_t fcn) { iFXLbp_p_t fn = (iFXLbp_p_t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
|
||||
@ -2439,6 +2439,7 @@ void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { LFpLpriiiiiiiiilt__t
|
||||
void iFXipBWWWWWWWWWuip__32(x64emu_t *emu, uintptr_t fcn) { iFXipBWWWWWWWWWuip__t fn = (iFXipBWWWWWWWWWuip__t)fcn; struct_WWWWWWWWWuip_t arg_16={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_WWWWWWWWWuip(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
|
||||
void iFXLbLWWWcc_bLWWWcc__32(x64emu_t *emu, uintptr_t fcn) { iFXLbLWWWcc_bLWWWcc__t fn = (iFXLbLWWWcc_bLWWWcc__t)fcn; struct_LWWWcc_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_LWWWcc(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_LWWWcc_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_LWWWcc(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
|
||||
void iFpruuipWCCp_buuipWCCp_i_32(x64emu_t *emu, uintptr_t fcn) { iFpruuipWCCp_buuipWCCp_i_t fn = (iFpruuipWCCp_buuipWCCp_i_t)fcn; struct_uuipWCCp_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_uuipWCCp(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_uuipWCCp_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_uuipWCCp(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_uuipWCCp(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
|
||||
void iFXpLriLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fcn) { iFXpLriLLLiiiiiiiLLiiLiiiiLic__t fn = (iFXpLriLLLiiiiiiiLLiiLiiiiLic__t)fcn; struct_iLLLiiiiiiiLLiiLiiiiLic_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_iLLLiiiiiiiLLiiLiiiiLic(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); }
|
||||
void iFXpLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fcn) { iFXpLbiLLLiiiiiiiLLiiLiiiiLic__t fn = (iFXpLbiLLLiiiiiiiLLiiLiiiiLic__t)fcn; struct_iLLLiiiiiiiLLiiLiiiiLic_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_iLLLiiiiiiiLLiiLiiiiLic(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_iLLLiiiiiiiLLiiLiiiiLic(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
|
||||
void pFXLLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fcn) { pFXLLbiLLLiiiiiiiLLiiLiiiiLic__t fn = (pFXLLbiLLLiiiiiiiLLiiLiiiiLic__t)fcn; struct_iLLLiiiiiiiLLiiLiiiiLic_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_iLLLiiiiiiiLLiiLiiiiLic(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL)); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_iLLLiiiiiiiLLiiLiiiiLic(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
|
||||
void vFEiipV_32(x64emu_t *emu, uintptr_t fcn) { vFEiipV_t fn = (vFEiipV_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptrv(R_ESP + 16)); }
|
||||
@ -2544,7 +2545,6 @@ void iFEipii_32(x64emu_t *emu, uintptr_t fcn) { iFEipii_t fn = (iFEipii_t)fcn; R
|
||||
void iFEippL_32(x64emu_t *emu, uintptr_t fcn) { iFEippL_t fn = (iFEippL_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
|
||||
void iFEpipp_32(x64emu_t *emu, uintptr_t fcn) { iFEpipp_t fn = (iFEpipp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
|
||||
void iFEpupu_32(x64emu_t *emu, uintptr_t fcn) { iFEpupu_t fn = (iFEpupu_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
|
||||
void iFEpLlp_32(x64emu_t *emu, uintptr_t fcn) { iFEpLlp_t fn = (iFEpLlp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
|
||||
void iFEpLpp_32(x64emu_t *emu, uintptr_t fcn) { iFEpLpp_t fn = (iFEpLpp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
|
||||
void iFEpLpV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLpV_t fn = (iFEpLpV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptrv(R_ESP + 16)); }
|
||||
void iFEpplp_32(x64emu_t *emu, uintptr_t fcn) { iFEpplp_t fn = (iFEpplp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
|
||||
|
@ -878,7 +878,7 @@ void iFppbL_p_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFbp_pii_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFbp_pip_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFBp_pui_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFXLibp__32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFXLiBp__32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFXLbp_i_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFXLbL_i_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFXLbp_p_32(x64emu_t *emu, uintptr_t fnc);
|
||||
@ -906,6 +906,7 @@ void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFXipBWWWWWWWWWuip__32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFXLbLWWWcc_bLWWWcc__32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFpruuipWCCp_buuipWCCp_i_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFXpLriLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFXpLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fnc);
|
||||
void pFXLLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fnc);
|
||||
void vFEiipV_32(x64emu_t *emu, uintptr_t fnc);
|
||||
@ -1011,7 +1012,6 @@ void iFEipii_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFEippL_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFEpipp_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFEpupu_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFEpLlp_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFEpLpp_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFEpLpV_32(x64emu_t *emu, uintptr_t fnc);
|
||||
void iFEpplp_32(x64emu_t *emu, uintptr_t fnc);
|
||||
|
@ -512,7 +512,7 @@ static void* my32_create_image_##A(void* a, void* b, uint32_t c, int d, int e, v
|
||||
static pFXpuiipuuii_t my32_rev_create_image_fct_##A = NULL; \
|
||||
static void* my32_rev_create_image_##A(void* a, void* b, uint32_t c, int d, int e, void* f, uint32_t g, uint32_t h, int i, int j) \
|
||||
{ \
|
||||
void* ret = my32_rev_create_image_fct_##A (FindDisplay(a), b, c, d, e, f, g, h, i, j); \
|
||||
void* ret = my32_rev_create_image_fct_##A (getDisplay(a), b, c, d, e, f, g, h, i, j); \
|
||||
WrapXImage(ret, ret); \
|
||||
return ret; \
|
||||
}
|
||||
@ -521,7 +521,11 @@ SUPER()
|
||||
static void* find_create_image_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
|
||||
void* n_fct = GetNativeFnc((uintptr_t)fct);
|
||||
#define GO(A) if(my32_rev_create_image_##A == n_fct) return (void*)my32_rev_create_image_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(n_fct) return n_fct;
|
||||
#define GO(A) if(my32_create_image_fct_##A == (uintptr_t)fct) return my32_create_image_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
@ -536,7 +540,7 @@ static void* reverse_create_image_Fct(library_t* lib, void* fct)
|
||||
//Callsed from x86 world -> native world
|
||||
if(!fct) return fct;
|
||||
// first check if it's a wrapped function, that could be easy
|
||||
#define GO(A) if(my32_create_image_fct_##A == (uintptr_t)fct) return my32_create_image_##A;
|
||||
#define GO(A) if(my32_create_image_##A == fct) return (void*)my32_create_image_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(FindElfAddress(my_context, (uintptr_t)fct))
|
||||
@ -559,13 +563,13 @@ static void* reverse_create_image_Fct(library_t* lib, void* fct)
|
||||
static uintptr_t my32_destroy_image_fct_##A = 0; \
|
||||
static int my32_destroy_image_##A(void* a) \
|
||||
{ \
|
||||
WrapXImage(a, a); \
|
||||
inplace_XImage_shrink(a); \
|
||||
return (int)RunFunctionFmt(my32_destroy_image_fct_##A, "p", a); \
|
||||
} \
|
||||
static iFp_t my32_rev_destroy_image_fct_##A = NULL; \
|
||||
static int my32_rev_destroy_image_##A(void* a) \
|
||||
{ \
|
||||
UnwrapXImage(a, a); \
|
||||
inplace_XImage_enlarge(a); \
|
||||
to_hash_d((uintptr_t)((XImage*)a)->obdata); \
|
||||
return my32_rev_destroy_image_fct_##A (a); \
|
||||
}
|
||||
@ -574,7 +578,11 @@ SUPER()
|
||||
static void* find_destroy_image_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
|
||||
void* n_fct = GetNativeFnc((uintptr_t)fct);
|
||||
#define GO(A) if(my32_rev_destroy_image_##A == n_fct) return (void*)my32_rev_destroy_image_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(n_fct) return n_fct;
|
||||
#define GO(A) if(my32_destroy_image_fct_##A == (uintptr_t)fct) return my32_destroy_image_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
@ -589,7 +597,7 @@ static void* reverse_destroy_image_Fct(library_t* lib, void* fct)
|
||||
//Callsed from x86 world -> native world
|
||||
if(!fct) return fct;
|
||||
// first check if it's a wrapped function, that could be easy
|
||||
#define GO(A) if(my32_destroy_image_fct_##A == (uintptr_t)fct) return my32_destroy_image_##A;
|
||||
#define GO(A) if(my32_destroy_image_##A == fct) return (void*)my32_destroy_image_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(FindElfAddress(my_context, (uintptr_t)fct))
|
||||
@ -612,17 +620,17 @@ static void* reverse_destroy_image_Fct(library_t* lib, void* fct)
|
||||
static uintptr_t my32_get_pixel_fct_##A = 0; \
|
||||
static unsigned long my32_get_pixel_##A(void* a, int b, int c) \
|
||||
{ \
|
||||
WrapXImage(a, a); \
|
||||
inplace_XImage_shrink(a); \
|
||||
uint32_t ret = RunFunctionFmt(my32_get_pixel_fct_##A, "pii", a, b, c); \
|
||||
UnwrapXImage(a, a); \
|
||||
inplace_XImage_enlarge(a); \
|
||||
return from_ulong(ret); \
|
||||
} \
|
||||
static LFpii_t my32_rev_get_pixel_fct_##A = NULL; \
|
||||
static ulong_t my32_rev_get_pixel_##A(void* a, int b, int c) \
|
||||
static unsigned long my32_rev_get_pixel_##A(void* a, int b, int c) \
|
||||
{ \
|
||||
UnwrapXImage(a, a); \
|
||||
ulong_t ret = to_ulong(my32_rev_get_pixel_fct_##A (a, b, c)); \
|
||||
WrapXImage(a, a); \
|
||||
inplace_XImage_enlarge(a); \
|
||||
unsigned long ret = my32_rev_get_pixel_fct_##A (a, b, c); \
|
||||
inplace_XImage_shrink(a); \
|
||||
return ret; \
|
||||
}
|
||||
SUPER()
|
||||
@ -630,7 +638,11 @@ SUPER()
|
||||
static void* find_get_pixel_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
|
||||
void* n_fct = GetNativeFnc((uintptr_t)fct);
|
||||
#define GO(A) if(my32_rev_get_pixel_##A == n_fct) return (void*)my32_rev_get_pixel_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(n_fct) return n_fct;
|
||||
#define GO(A) if(my32_get_pixel_fct_##A == (uintptr_t)fct) return my32_get_pixel_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
@ -645,7 +657,7 @@ static void* reverse_get_pixel_Fct(library_t* lib, void* fct)
|
||||
//Callsed from x86 world -> native world
|
||||
if(!fct) return fct;
|
||||
// first check if it's a wrapped function, that could be easy
|
||||
#define GO(A) if(my32_get_pixel_fct_##A == (uintptr_t)fct) return my32_get_pixel_##A;
|
||||
#define GO(A) if(my32_get_pixel_##A == fct) return (void*)my32_get_pixel_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(FindElfAddress(my_context, (uintptr_t)fct))
|
||||
@ -668,17 +680,17 @@ static void* reverse_get_pixel_Fct(library_t* lib, void* fct)
|
||||
static uintptr_t my32_put_pixel_fct_##A = 0; \
|
||||
static int my32_put_pixel_##A(void* a, int b, int c,unsigned long d) \
|
||||
{ \
|
||||
WrapXImage(a, a); \
|
||||
inplace_XImage_shrink(a); \
|
||||
int ret = (int)RunFunctionFmt(my32_put_pixel_fct_##A, "piiL", a, b, c, d); \
|
||||
UnwrapXImage(a, a); \
|
||||
inplace_XImage_enlarge(a); \
|
||||
return ret; \
|
||||
} \
|
||||
static iFpiiL_t my32_rev_put_pixel_fct_##A = NULL; \
|
||||
static int my32_rev_put_pixel_##A(void* a, int b, int c, ulong_t d) \
|
||||
{ \
|
||||
UnwrapXImage(a, a); \
|
||||
int ret = to_ulong(my32_rev_put_pixel_fct_##A (a, b, c, from_ulong(d))); \
|
||||
WrapXImage(a, a); \
|
||||
inplace_XImage_enlarge(a); \
|
||||
int ret = my32_rev_put_pixel_fct_##A (a, b, c, from_ulong(d)); \
|
||||
inplace_XImage_shrink(a); \
|
||||
return ret; \
|
||||
}
|
||||
SUPER()
|
||||
@ -686,7 +698,11 @@ SUPER()
|
||||
static void* find_put_pixel_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
|
||||
void* n_fct = GetNativeFnc((uintptr_t)fct);
|
||||
#define GO(A) if(my32_rev_put_pixel_##A == n_fct) return (void*)my32_rev_put_pixel_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(n_fct) return n_fct;
|
||||
#define GO(A) if(my32_put_pixel_fct_##A == (uintptr_t)fct) return my32_put_pixel_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
@ -701,7 +717,7 @@ static void* reverse_put_pixel_Fct(library_t* lib, void* fct)
|
||||
//Callsed from x86 world -> native world
|
||||
if(!fct) return fct;
|
||||
// first check if it's a wrapped function, that could be easy
|
||||
#define GO(A) if(my32_put_pixel_fct_##A == (uintptr_t)fct) return my32_put_pixel_##A;
|
||||
#define GO(A) if(my32_put_pixel_##A == fct) return (void*)my32_put_pixel_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(FindElfAddress(my_context, (uintptr_t)fct))
|
||||
@ -724,20 +740,20 @@ static void* reverse_put_pixel_Fct(library_t* lib, void* fct)
|
||||
static uintptr_t my32_sub_image_fct_##A = 0; \
|
||||
static void* my32_sub_image_##A(void* a, int b, int c, uint32_t d, uint32_t e) \
|
||||
{ \
|
||||
WrapXImage(a, a); \
|
||||
inplace_XImage_shrink(a); \
|
||||
void* ret = (void*)RunFunctionFmt(my32_sub_image_fct_##A, "piiuu", a, b, c, d, e);\
|
||||
if(ret!=a) UnwrapXImage(ret, ret); \
|
||||
UnwrapXImage(a, a); \
|
||||
inplace_XImage_enlarge(a); \
|
||||
return ret; \
|
||||
} \
|
||||
static pFpiiuu_t my32_rev_sub_image_fct_##A = NULL; \
|
||||
static void* my32_rev_sub_image_##A(void* a, int b, int c, uint32_t d, uint32_t e) \
|
||||
{ \
|
||||
UnwrapXImage(a, a); \
|
||||
inplace_XImage_enlarge(a); \
|
||||
void* ret = my32_rev_sub_image_fct_##A (a, b, c, d, e); \
|
||||
if(ret!=a) \
|
||||
WrapXImage(ret, ret); \
|
||||
WrapXImage(a, a); \
|
||||
inplace_XImage_shrink(a); \
|
||||
return ret; \
|
||||
}
|
||||
SUPER()
|
||||
@ -745,7 +761,11 @@ SUPER()
|
||||
static void* find_sub_image_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
|
||||
void* n_fct = GetNativeFnc((uintptr_t)fct);
|
||||
#define GO(A) if(my32_rev_sub_image_##A == n_fct) return (void*)my32_rev_sub_image_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(n_fct) return n_fct;
|
||||
#define GO(A) if(my32_sub_image_fct_##A == (uintptr_t)fct) return my32_sub_image_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
@ -760,7 +780,7 @@ static void* reverse_sub_image_Fct(library_t* lib, void* fct)
|
||||
//Callsed from x86 world -> native world
|
||||
if(!fct) return fct;
|
||||
// first check if it's a wrapped function, that could be easy
|
||||
#define GO(A) if(my32_sub_image_fct_##A == (uintptr_t)fct) return my32_sub_image_##A;
|
||||
#define GO(A) if(my32_sub_image_##A == fct) return (void*)my32_sub_image_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(FindElfAddress(my_context, (uintptr_t)fct))
|
||||
@ -783,17 +803,17 @@ static void* reverse_sub_image_Fct(library_t* lib, void* fct)
|
||||
static uintptr_t my32_add_pixel_fct_##A = 0; \
|
||||
static int my32_add_pixel_##A(void* a, long b) \
|
||||
{ \
|
||||
WrapXImage(a, a); \
|
||||
inplace_XImage_shrink(a); \
|
||||
int ret = (int)RunFunctionFmt(my32_add_pixel_fct_##A, "pl", a, b); \
|
||||
UnwrapXImage(a, a); \
|
||||
inplace_XImage_enlarge(a); \
|
||||
return ret; \
|
||||
} \
|
||||
static iFpl_t my32_rev_add_pixel_fct_##A = NULL; \
|
||||
static int my32_rev_add_pixel_##A(void* a, long_t b) \
|
||||
{ \
|
||||
UnwrapXImage(a, a); \
|
||||
inplace_XImage_enlarge(a); \
|
||||
int ret = my32_rev_add_pixel_fct_##A (a, from_long(b)); \
|
||||
WrapXImage(a, a); \
|
||||
inplace_XImage_shrink(a); \
|
||||
return ret; \
|
||||
}
|
||||
SUPER()
|
||||
@ -801,7 +821,11 @@ SUPER()
|
||||
static void* find_add_pixel_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
|
||||
void* n_fct = GetNativeFnc((uintptr_t)fct);
|
||||
#define GO(A) if(my32_rev_add_pixel_##A == n_fct) return (void*)my32_rev_add_pixel_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(n_fct) return n_fct;
|
||||
#define GO(A) if(my32_add_pixel_fct_##A == (uintptr_t)fct) return my32_add_pixel_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
@ -816,7 +840,7 @@ static void* reverse_add_pixel_Fct(library_t* lib, void* fct)
|
||||
//Callsed from x86 world -> native world
|
||||
if(!fct) return fct;
|
||||
// first check if it's a wrapped function, that could be easy
|
||||
#define GO(A) if(my32_add_pixel_fct_##A == (uintptr_t)fct) return my32_add_pixel_##A;
|
||||
#define GO(A) if(my32_add_pixel_##A == fct) return (void*)my32_add_pixel_fct_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
if(FindElfAddress(my_context, (uintptr_t)fct))
|
||||
@ -1442,24 +1466,24 @@ EXPORT void* my32_XGetImage(x64emu_t* emu, void* disp, size_t drawable, int32_t
|
||||
if(!img)
|
||||
return img;
|
||||
// bridge all access functions...
|
||||
WrapXImage(img, img);
|
||||
inplace_XImage_shrink(img);
|
||||
return img;
|
||||
}
|
||||
|
||||
EXPORT void my32__XInitImageFuncPtrs(x64emu_t* emu, XImage* img)
|
||||
{
|
||||
my->_XInitImageFuncPtrs(img);
|
||||
WrapXImage(emu, img);
|
||||
inplace_XImage_shrink(img);
|
||||
}
|
||||
|
||||
EXPORT int32_t my32_XPutImage(x64emu_t* emu, void* disp, size_t drawable, void* gc, void* image
|
||||
, int32_t src_x, int32_t src_y, int32_t dst_x, int32_t dst_y
|
||||
, uint32_t w, uint32_t h)
|
||||
{
|
||||
UnwrapXImage(image, image); // what if the image was created on x86 side and is smaller?
|
||||
inplace_XImage_enlarge(image); // what if the image was created on x86 side and is smaller?
|
||||
int32_t r = my->XPutImage(disp, drawable, gc, image, src_x, src_y, dst_x, dst_y, w, h);
|
||||
// bridge all access functions...
|
||||
WrapXImage(image, image);
|
||||
inplace_XImage_shrink(image);
|
||||
return r;
|
||||
}
|
||||
|
||||
@ -1469,19 +1493,19 @@ EXPORT void* my32_XGetSubImage(x64emu_t* emu, void* disp, size_t drawable
|
||||
, void* image, int32_t dst_x, int32_t dst_y)
|
||||
{
|
||||
|
||||
UnwrapXImage(image, image);
|
||||
inplace_XImage_enlarge(image);
|
||||
XImage *img = my->XGetSubImage(disp, drawable, x, y, w, h, plane, fmt, image, dst_x, dst_y);
|
||||
if(img && img!=image)
|
||||
WrapXImage(img, img);
|
||||
inplace_XImage_shrink(img);
|
||||
|
||||
WrapXImage(image, image);
|
||||
inplace_XImage_shrink(image);
|
||||
return img;
|
||||
}
|
||||
|
||||
EXPORT void my32_XDestroyImage(x64emu_t* emu, void* image)
|
||||
{
|
||||
|
||||
UnwrapXImage(image, image);
|
||||
inplace_XImage_enlarge(image);
|
||||
to_hash_d((uintptr_t)((XImage*)image)->obdata);
|
||||
my->XDestroyImage(image);
|
||||
}
|
||||
@ -1566,7 +1590,7 @@ EXPORT void* my32_XSynchronize(x64emu_t* emu, void* display, int onoff)
|
||||
EXPORT void* my32_XOpenDisplay(void* name)
|
||||
{
|
||||
void* ret = my->XOpenDisplay(name);
|
||||
if(ret && box64_x11sync) my->XSynchronize(ret, 1);
|
||||
if(ret && box64_x11sync) {my->XSynchronize(ret, 1); printf_log(LOG_INFO, "Forcing Syncronized opration on Display %p\n", ret);}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -1581,23 +1605,8 @@ EXPORT int my32_XCloseDisplay(x64emu_t* emu, void* dpy)
|
||||
EXPORT XID my32_XCreateWindow(x64emu_t* emu, void* d, XID Window, int x, int y, uint32_t width, uint32_t height, uint32_t border_width, int depth, uint32_t cl, void* visual, unsigned long mask, my_XSetWindowAttributes_32_t* attr)
|
||||
{
|
||||
my_XSetWindowAttributes_t attrib;
|
||||
if(attr) {
|
||||
attrib.background_pixmap = from_ulong(attr->background_pixmap);
|
||||
attrib.background_pixel = from_ulong(attr->background_pixel);
|
||||
attrib.border_pixmap = from_ulong(attr->border_pixmap);
|
||||
attrib.border_pixel = from_ulong(attr->border_pixel);
|
||||
attrib.bit_gravity = attr->bit_gravity;
|
||||
attrib.win_gravity = attr->win_gravity;
|
||||
attrib.backing_store = attr->backing_store;
|
||||
attrib.backing_planes = from_ulong(attr->backing_planes);
|
||||
attrib.backing_pixel = from_ulong(attr->backing_pixel);
|
||||
attrib.save_under = attr->save_under;
|
||||
attrib.event_mask = from_long(attr->event_mask);
|
||||
attrib.do_not_propagate_mask = from_long(attr->do_not_propagate_mask);
|
||||
attrib.override_redirect = attr->override_redirect;
|
||||
attrib.colormap = from_ulong(attr->colormap);
|
||||
attrib.cursor = from_ulong(attr->cursor);
|
||||
}
|
||||
if(attr)
|
||||
convert_XSetWindowAttributes_to_64(&attrib, attr);
|
||||
return my->XCreateWindow(d, Window, x, y, width, height, border_width, depth, cl, visual, mask, attr?(&attrib):NULL);
|
||||
}
|
||||
|
||||
@ -1645,7 +1654,7 @@ EXPORT int my32_XWindowEvent(x64emu_t* emu, void* dpy, XID window, long mask, my
|
||||
{
|
||||
my_XEvent_t event = {0};
|
||||
int ret = my->XWindowEvent(dpy, window, mask, &event);
|
||||
if(ret) convertXEvent(evt, &event);
|
||||
convertXEvent(evt, &event);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -1808,6 +1817,18 @@ EXPORT int my32_Xutf8TextListToTextProperty(x64emu_t* emu, void* dpy, ptr_t* lis
|
||||
return ret;
|
||||
}
|
||||
|
||||
EXPORT int my32_XmbTextListToTextProperty(x64emu_t* emu, void* dpy, ptr_t* list, int count, uint32_t style, void* text)
|
||||
{
|
||||
char* l_list[count];
|
||||
if(list)
|
||||
for(int i=0; i<count; ++i)
|
||||
l_list[i] = from_ptrv(list[i]);
|
||||
struct_pLiL_t text_l = {0};
|
||||
int ret = my->XmbTextListToTextProperty(dpy, list?(&l_list):NULL, count, style, &text_l);
|
||||
to_struct_pLiL(to_ptrv(text), &text_l);
|
||||
return ret;
|
||||
}
|
||||
|
||||
EXPORT int my32_XGetWindowAttributes(x64emu_t* emu, void* dpy, XID window, my_XWindowAttributes_32_t* attr)
|
||||
{
|
||||
static my_Screen_32_t screen32 = {0};
|
||||
@ -2044,12 +2065,8 @@ EXPORT int my32_XFreeFont(x64emu_t* emu, void* dpy, void* f)
|
||||
|
||||
EXPORT int my32_XChangeWindowAttributes(x64emu_t* emu, void* dpy, XID window, unsigned long mask, my_XSetWindowAttributes_32_t* attrs)
|
||||
{
|
||||
my_XSetWindowAttributes_t attrs_l[32];
|
||||
for(int i=0, j=0; i<32; ++i)
|
||||
if(mask&(1<<i)) {
|
||||
convert_XSetWindowAttributes_to_64(attrs_l+j, attrs+j);
|
||||
++j;
|
||||
}
|
||||
my_XSetWindowAttributes_t attrs_l[1];
|
||||
convert_XSetWindowAttributes_to_64(attrs_l, attrs);
|
||||
return my->XChangeWindowAttributes(dpy, window, mask, attrs_l);
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@ GO(XBlackPixel, LFXi)
|
||||
//GOM(XBlackPixelOfScreen, LFEbpXLiiiiipippLLLiiiil_)
|
||||
//GOM(XCellsOfScreen, iFEbpXLiiiiipippLLLiiiil_)
|
||||
GO(XChangeActivePointerGrab, iFXuLL)
|
||||
GO(XChangeGC, iFXpLbiLLLiiiiiiiLLiiLiiiiLic_)
|
||||
GO(XChangeGC, iFXpLriLLLiiiiiiiLLiiLiiiiLic_)
|
||||
GO(XChangeKeyboardControl, iFXLp)
|
||||
GO(XChangeKeyboardMapping, iFXiibL_i)
|
||||
GO(XChangePointerControl, iFXiiiii)
|
||||
@ -332,7 +332,7 @@ GO(XFillPolygon, iFXLppiii)
|
||||
GO(XFillRectangle, iFXLpiiuu)
|
||||
GO(XFillRectangles, iFXLppi)
|
||||
GOM(XFilterEvent, iFEpL) // Warning: failed to confirm
|
||||
GO(XFindContext, iFXLibp_)
|
||||
GO(XFindContext, iFXLiBp_)
|
||||
//GOM(XFindOnExtensionList, pFEbp_i)
|
||||
GO(_XFlush, vFX)
|
||||
GO(XFlush, iFX)
|
||||
@ -913,7 +913,7 @@ GO(XmbResetIC, pFp)
|
||||
GO(XmbTextEscapement, iFppi)
|
||||
GO(XmbTextExtents, iFppipp)
|
||||
//GO(_XmbTextListToTextProperty,
|
||||
GO(XmbTextListToTextProperty, iFXbp_iubpLiL_)
|
||||
GOM(XmbTextListToTextProperty, iFXEpiup)
|
||||
GO(XmbTextPerCharExtents, iFppippippp)
|
||||
//GO(_XmbTextPropertyToTextList,
|
||||
GOM(XmbTextPropertyToTextList, iFEXbpLiL_pp)
|
||||
@ -983,7 +983,7 @@ GO(_XReadEvents, vFX)
|
||||
GO(_XReadPad, vFXpl)
|
||||
GO(XRebindKeysym, iFXLbL_ipi)
|
||||
GO(XRecolorCursor, iFXLbLWWWcc_bLWWWcc_)
|
||||
GO(XReconfigureWMWindow, iFXLiubiiiiiLi_)
|
||||
GO(XReconfigureWMWindow, iFXLiuriiiiiLi_)
|
||||
GO(XRectInRegion, iFpiiuu)
|
||||
//GO(_XRefreshKeyboardMapping,
|
||||
GOM(XRefreshKeyboardMapping, iFEp)
|
||||
@ -1109,8 +1109,8 @@ GO(XSetWindowColormap, iFXLL)
|
||||
GO(XSetWMClientMachine, vFXLbpLiL_)
|
||||
GO(XSetWMColormapWindows, iFXLbL_i)
|
||||
GOM(XSetWMHints, iFEXLp)
|
||||
GO(XSetWMIconName, vFXLbpLiL_)
|
||||
GO(XSetWMName, vFXLbpLiL_)
|
||||
GO(XSetWMIconName, vFXLrpLiL_)
|
||||
GO(XSetWMName, vFXLrpLiL_)
|
||||
GOM(XSetWMNormalHints, vFEXLp)
|
||||
GOM(XSetWMProperties, vFEXLpppippp)
|
||||
GOM(XSetWMProtocols, iFEXLpi)
|
||||
@ -1232,7 +1232,7 @@ GO(XWhitePixel, LFXi)
|
||||
//GOM(XWhitePixelOfScreen, LFEbpXLiiiiipippLLLiiiil_)
|
||||
//GOM(XWidthMMOfScreen, iFEbpXLiiiiipippLLLiiiil_)
|
||||
//GOM(XWidthOfScreen, iFEbpXLiiiiipippLLLiiiil_)
|
||||
GOM(XWindowEvent, iFEpLlp)
|
||||
GOM(XWindowEvent, iFEXLlp)
|
||||
//GO(_XWireToEvent, iFppp)
|
||||
GO(XWithdrawWindow, iFXLi)
|
||||
//GO(XWMGeometry, iFpippupppppp)
|
||||
|
Loading…
Reference in New Issue
Block a user