diff --git a/lib/modules/Protocols.pmod/X.pmod/Types.pmod b/lib/modules/Protocols.pmod/X.pmod/Types.pmod index 279bccf6077c4e2080d81942bc92812fedf4ded0..704ebc991bb3481f1c5a1e2c19889f923c8597ca 100644 --- a/lib/modules/Protocols.pmod/X.pmod/Types.pmod +++ b/lib/modules/Protocols.pmod/X.pmod/Types.pmod @@ -159,6 +159,21 @@ class Drawable object req = FillRectangles_req(gc->id, r); display->send_request(req); } + + object DrawLine_req(int gc, int coordMode, array(object) points) + { + object req = Requests.PolyLine(); + req->drawable = id; + req->gc = gc; + req->coordMode = coordMode; + req->points = points; + return req; + } + + void DrawLine(object gc, int coordMode, object ... points) + { + display->send_request(DrawLine_req(gc->id, coordMode, points)); + } } class Window @@ -228,6 +243,33 @@ class Window return w; } + object ChangeAttributes_req(mapping m) + { + object req = Requests.ChangeWindowAttributes(); + req->window = id; + req->attributes = m; + return req; + } + + void ChangeAttributes(mapping m) + { + display->send_request(ChangeAttributes_req(m)); + } + + object Configure_req(mapping m) + { + object req = Requests.ConfigureWindow(); + req->window = id; + req->attributes = m; + return req; + } + + void Configure(mapping m) + { + display->send_request(Configure_req(m)); + } + + void set_event_callback(string type, function f) { event_callbacks[type] = f; diff --git a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod index 45fd957b3ec0cb672bc5a9bc2811fd8fee215f35..b21b382af26c6b50ee61a2730f9f49153014d7cc 100644 --- a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod +++ b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod @@ -22,6 +22,17 @@ array(string) window_attributes = "Colormap", "Cursor" }); +array(string) window_configure_attributes = +({ + "X", + "Y", + "Width", + "Height", + "BorderWidth", + "Sibling", + "StackMode" +}); + array(string) gc_attributes = ({ "Function",