Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
201 changes: 198 additions & 3 deletions objects/glue/xlib.primMaker.hh
Original file line number Diff line number Diff line change
Expand Up @@ -616,6 +616,18 @@ false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
true, /* can walk stack */ \
true, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XSendEventxSendEventToWindow:Propogate:EventMask:Event:", \
fntype(&XSendEvent_XSendEventToWindow_Propogate_EventMask_Event__glue), \
ExternalPrimitive, \
IntegerPrimType, \
true, /* can fail */ \
true, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
true, /* can walk stack */ \
true, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XSetWMProtocol_wrapxSetWMProtocolOfWindow:Protocol:", \
Expand Down Expand Up @@ -2686,6 +2698,126 @@ false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_newnewResultProxy", \
fntype(&XClientMessageEvent_new_New_glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_typetype:", \
fntype(&XClientMessageEvent_type_Type__glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_serialserial", \
fntype(&XClientMessageEvent_serial_Serial_glue), \
ExternalPrimitive, \
IntegerPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_serialserial:", \
fntype(&XClientMessageEvent_serial_Serial__glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_send_eventsendEvent", \
fntype(&XClientMessageEvent_send_event_SendEvent_glue), \
ExternalPrimitive, \
BooleanPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_send_eventsendEvent:", \
fntype(&XClientMessageEvent_send_event_SendEvent__glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_displaydisplayResultProxy:", \
fntype(&XClientMessageEvent_display_Display_glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_displaydisplay:", \
fntype(&XClientMessageEvent_display_Display__glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_windowwindowResultProxy:", \
fntype(&XClientMessageEvent_window_Window_glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_windowwindow:", \
fntype(&XClientMessageEvent_window_Window__glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_message_typemessage_typeResultProxy:", \
Expand All @@ -2698,6 +2830,18 @@ false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_message_typemessage_type:", \
fntype(&XClientMessageEvent_message_type_Message_type__glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_formatformat", \
Expand All @@ -2710,6 +2854,18 @@ false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_formatformat:", \
fntype(&XClientMessageEvent_format_Format__glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_atomAt_wrapatomAt:ResultProxy:", \
Expand All @@ -2724,8 +2880,32 @@ false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_windowwindowResultProxy:", \
fntype(&XClientMessageEvent_window_Window_glue), \
{ "XClientMessageEvent_at_Atom_wrapat:Atom:", \
fntype(&XClientMessageEvent_at_Atom_wrap_At_Atom__glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_at_Long_wrapat:Long:", \
fntype(&XClientMessageEvent_at_Long_wrap_At_Long__glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
false, /* can scavenge */ \
false, /* can be constant folded */ \
true, /* cannot be moved or cut */ \
false, /* can walk stack */ \
false, /* can abort process */ \
"Generated by the primitive maker" },\
\
{ "XClientMessageEvent_deletebasicDelete", \
fntype(&XClientMessageEvent_delete_BasicDelete_glue), \
ExternalPrimitive, \
UnknownPrimType, \
true, /* can fail */ \
Expand Down Expand Up @@ -4430,6 +4610,7 @@ Please do not change it manually. -- dmu 12/91 */\
C_func_9( proxy,(Window,Window_seal), XCreateSimpleWindow, XCreateSimpleWindow_XCreateSimpleWindowIn_X_Y_Width_Height_BorderWidth_Border_Background__glue, , proxy,(Display*,Display_seal), proxy,(Window,Window_seal), int,, int,, unsigned_int,, unsigned_int,, unsigned_int,, long,, long,) \
C_func_3( void,, XChangeWindowAttributes_wrap, XChangeWindowAttributes_wrap_XChangeWindowAttributesIn_Attributes__glue, , proxy,(Display*,Display_seal), proxy,(Window,Window_seal), proxy,(XSetWindowAttributesWrap*,XSetWindowAttributesWrap_seal)) \
C_func_2( proxy,(XWindowAttributes*,XWindowAttributes_seal), XGetWindowAttributes_wrap, XGetWindowAttributes_wrap_XGetWindowAttributesIn__glue, fail, proxy,(Display*,Display_seal), proxy,(Window,Window_seal)) \
C_func_5( int,, XSendEvent, XSendEvent_XSendEventToWindow_Propogate_EventMask_Event__glue, , proxy,(Display*,Display_seal), proxy,(Window,Window_seal), bool,, unsigned_long,, proxy,(XEvent*,XEvent_seal)) \
C_func_3( int,, XSetWMProtocol_wrap, XSetWMProtocol_wrap_XSetWMProtocolOfWindow_Protocol__glue, , proxy,(Display*,Display_seal), proxy,(Window,Window_seal), proxy,(Atom,Atom_seal)) \
C_func_3( void,, XSetWMName, XSetWMName_XSetWMNameOfWindow_To__glue, , proxy,(Display*,Display_seal), proxy,(Window,Window_seal), proxy,(XTextProperty*,XTextProperty_seal)) \
C_func_3( void,, XSetWMIconName, XSetWMIconName_XSetWMIconNameOfWindow_To__glue, , proxy,(Display*,Display_seal), proxy,(Window,Window_seal), proxy,(XTextProperty*,XTextProperty_seal)) \
Expand Down Expand Up @@ -4619,10 +4800,24 @@ Please do not change it manually. -- dmu 12/91 */\
C_get_comp( unsigned_int,, proxy,(XButtonEvent*,XButtonEvent_seal), .state, XButtonEvent_state_State_glue) \
C_get_comp( unsigned_int,, proxy,(XButtonEvent*,XButtonEvent_seal), .button, XButtonEvent_button_Button_glue) \
C_get_comp( proxy,(Window,Window_seal), proxy,(XButtonEvent*,XButtonEvent_seal), .window, XButtonEvent_window_Window_glue) \
CC_new_0( proxy,(XClientMessageEvent*,XClientMessageEvent_seal), XClientMessageEvent, XClientMessageEvent_new_New_glue) \
C_set_comp( proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .type, int,, XClientMessageEvent_type_Type__glue) \
C_get_comp( unsigned_int,, proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .serial, XClientMessageEvent_serial_Serial_glue) \
C_set_comp( proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .serial, unsigned_int,, XClientMessageEvent_serial_Serial__glue) \
C_get_comp( bool,, proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .send_event, XClientMessageEvent_send_event_SendEvent_glue) \
C_set_comp( proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .send_event, bool,, XClientMessageEvent_send_event_SendEvent__glue) \
C_get_comp( proxy,(Display*,Display_seal), proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .display, XClientMessageEvent_display_Display_glue) \
C_set_comp( proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .display, proxy,(Display*,Display_seal), XClientMessageEvent_display_Display__glue) \
C_get_comp( proxy,(Window,Window_seal), proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .window, XClientMessageEvent_window_Window_glue) \
C_set_comp( proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .window, proxy,(Window,Window_seal), XClientMessageEvent_window_Window__glue) \
C_get_comp( proxy,(Atom,Atom_seal), proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .message_type, XClientMessageEvent_message_type_Message_type_glue) \
C_set_comp( proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .message_type, proxy,(Atom,Atom_seal), XClientMessageEvent_message_type_Message_type__glue) \
C_get_comp( int,, proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .format, XClientMessageEvent_format_Format_glue) \
C_set_comp( proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .format, int,, XClientMessageEvent_format_Format__glue) \
C_func_2( proxy,(Atom,Atom_seal), XClientMessageEvent_atomAt_wrap, XClientMessageEvent_atomAt_wrap_AtomAt__glue, fail, proxy,(XClientMessageEvent*,XClientMessageEvent_seal), unsigned_int,) \
C_get_comp( proxy,(Window,Window_seal), proxy,(XClientMessageEvent*,XClientMessageEvent_seal), .window, XClientMessageEvent_window_Window_glue) \
C_func_3( void,, XClientMessageEvent_at_Atom_wrap, XClientMessageEvent_at_Atom_wrap_At_Atom__glue, fail, proxy,(XClientMessageEvent*,XClientMessageEvent_seal), unsigned_int,, proxy,(Atom,Atom_seal)) \
C_func_3( void,, XClientMessageEvent_at_Long_wrap, XClientMessageEvent_at_Long_wrap_At_Long__glue, fail, proxy,(XClientMessageEvent*,XClientMessageEvent_seal), unsigned_int,, long,) \
CC_delete( proxy,(XClientMessageEvent*,XClientMessageEvent_seal), XClientMessageEvent_delete_BasicDelete_glue) \
C_get_comp( bool,, proxy,(XColormapEvent*,XColormapEvent_seal), .c_new, XColormapEvent_c_new_C_new_glue) \
C_get_comp( unsigned_int,, proxy,(XColormapEvent*,XColormapEvent_seal), .state, XColormapEvent_state_State_glue) \
C_get_comp( proxy,(Window,Window_seal), proxy,(XColormapEvent*,XColormapEvent_seal), .window, XColormapEvent_window_Window_glue) \
Expand Down
30 changes: 26 additions & 4 deletions objects/glue/xlibTemplates.self
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,12 @@ traits: traits xlib display
= XWindowAttributes {xlib xWindowAttributes deadCopy} \
call XGetWindowAttributes_wrap passFailHandle canAWS

Display xSendEventToWindow: proxy Window Window_seal \
Propogate: bool \
EventMask: unsigned_long \
Event: XEvent \
= int call XSendEvent canAWS

Display xSetWMProtocolOfWindow: proxy Window Window_seal \
Protocol: proxy Atom Atom_seal \
= int call XSetWMProtocol_wrap canAWS
Expand Down Expand Up @@ -786,7 +792,6 @@ traits: traits xlib events xEvent
visibility: publicSlot
XEvent type = int getMember type


traits: traits xlib events xButtonEvent
visibility: publicSlot
XButtonEvent rawTime = oop call xButtonEvent_time
Expand All @@ -803,15 +808,32 @@ traits: traits xlib events xButtonEvent

traits: traits xlib events xClientMessageEvent
visibility: publicSlot
void new = XClientMessageEvent {xlib events xClientMessageEvent deadCopy} new
XClientMessageEvent type: int = void setMember type
XClientMessageEvent serial = unsigned_int getMember serial
XClientMessageEvent serial: unsigned_int = void setMember serial
XClientMessageEvent sendEvent = bool getMember send_event
XClientMessageEvent sendEvent: bool = void setMember send_event
XClientMessageEvent display = Display {xlib display deadCopy} getMember display
XClientMessageEvent display: Display = void setMember display
XClientMessageEvent window \
= proxy Window Window_seal {xlib window deadCopy} getMember window
XClientMessageEvent window: proxy Window Window_seal = void setMember window
XClientMessageEvent message_type \
= proxy Atom Atom_seal {xlib atom deadCopy} getMember message_type
XClientMessageEvent message_type: proxy Atom Atom_seal \
= void setMember message_type
XClientMessageEvent format = int getMember format
XClientMessageEvent format: int = void setMember format
XClientMessageEvent atomAt: unsigned_int \
= proxy Atom Atom_seal {xlib atom deadCopy} \
call XClientMessageEvent_atomAt_wrap passFailHandle
XClientMessageEvent window \
= proxy Window Window_seal {xlib window deadCopy} getMember window

XClientMessageEvent at: unsigned_int Atom: proxy Atom Atom_seal \
= void call XClientMessageEvent_at_Atom_wrap passFailHandle
XClientMessageEvent at: unsigned_int Long: long \
= void call XClientMessageEvent_at_Long_wrap passFailHandle
visibility: privateSlot
XClientMessageEvent basicDelete = void delete


traits: traits xlib events xColormapEvent
Expand Down
26 changes: 23 additions & 3 deletions objects/glue/xlib_glue.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -243,9 +243,6 @@ XWindowAttributes *XGetWindowAttributes_wrap(Display *display,
return attrs;
}




void XMoveWindowBy_wrap(Display* display, Window win,
int x, int y) {
int old_x, old_y;
Expand Down Expand Up @@ -441,6 +438,29 @@ Atom XClientMessageEvent_atomAt_wrap(XClientMessageEvent* rcvr,
return rcvr->data.l[index];
}

void XClientMessageEvent_at_Atom_wrap(XClientMessageEvent* rcvr,
unsigned int index,
Atom atom, void* FH) {
if ( sizeof(rcvr->data.l[0]) * index
>= sizeof(rcvr->data.l)) {
prim_failure(FH, BADINDEXERROR);
return;
}
rcvr->data.l[index] = atom;
}

void XClientMessageEvent_at_Long_wrap(XClientMessageEvent* rcvr,
unsigned int index,
long l, void* FH) {
if ( sizeof(rcvr->data.l[0]) * index
>= sizeof(rcvr->data.l)) {
prim_failure(FH, BADINDEXERROR);
return;
}
rcvr->data.l[index] = l;
}


int XStringToTextProperty_wrap(XTextProperty* textProperty, char* string) {
return XStringListToTextProperty(&string, 1, textProperty);
}
Expand Down
Loading