diff --git a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod index 792fbc38fd41a8ebcd11b451a805a73e3e9a12f4..bf68109b7ae973611cb3caeb56c1dc6961e019af 100644 --- a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod +++ b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod @@ -119,6 +119,12 @@ class MapWindow constant reqType = 8; } +class UnmapWindow +{ + inherit ResourceReq; + constant reqType = 10; +} + class GetKeyboardMapping { inherit request; @@ -468,6 +474,73 @@ class UnGrabButton } #endif +class OpenFont +{ + inherit request; + constant reqType = 45; + + int fid; + string name; + + string to_string() + { + return build_request(sprintf("%4c%2c\0\0%s", + fid, sizeof(name), name)); + } +} + +class CloseFont +{ + inherit ResourceReq; + constant reqType = 46; +} + +class QueryTextExtents +{ + inherit request; + constant reqType = 48; + + int font; + string str; + + string to_string() + { + return build_request(sprintf("%4c%s", + font, str), (sizeof(str)/2)&1); + } + + mapping(string:int) handle_reply(mapping reply) + { + mapping(string:int) res = (["DrawDirection":reply->data1]); + sscanf(reply->rest, "%2c%2c%2c%2c%4c%4c%4c", + res->FontAscent, res->FontDescent, + res->OverallAscent, res->OverallDescent, + res->OverallWidth, res->OverallLeft, res->OverallRight); + return res; + } +} + +class CreatePixmap +{ + inherit request; + constant reqType = 53; + + int depth; + + int pid; + int drawable; + + int width, height; + + string to_string() + { + return build_request + (sprintf("%4c%4c" "%2c%2c", + pid, drawable, + width, height), depth); + } +} + class CreateGC { inherit request; @@ -617,6 +690,23 @@ class PutImage } +class ImageText8 +{ + inherit request; + constant reqType = 76; + + int drawable; + int gc; + int x, y; + string str; + + string to_string() + { + return build_request(sprintf("%4c%4c%2c%2c%s", + drawable, gc, x, y, str), sizeof(str)); + } +} + class CreateColormap { inherit request; @@ -661,27 +751,6 @@ class AllocColor } } -class CreatePixmap -{ - inherit request; - constant reqType = 53; - - int depth; - - int pid; - int drawable; - - int width, height; - - string to_string() - { - return build_request - (sprintf("%4c%4c" "%2c%2c", - pid, drawable, - width, height), depth); - } -} - class QueryExtension { inherit request; @@ -713,9 +782,6 @@ class QueryExtension } } - - - class ExtensionRequest { int type;