From abec7c5e0a4b724c6157d214acce17f046d0ce25 Mon Sep 17 00:00:00 2001
From: Per Hedbor <ph@opera.com>
Date: Sat, 28 Feb 1998 03:35:47 +0100
Subject: [PATCH] Added a few requests.

Rev: lib/modules/Protocols.pmod/X.pmod/Extensions.pmod:1.5
Rev: lib/modules/Protocols.pmod/X.pmod/Requests.pmod:1.23
Rev: lib/modules/Protocols.pmod/X.pmod/Types.pmod:1.27
---
 .../Protocols.pmod/X.pmod/Extensions.pmod     |  7 +++++
 .../Protocols.pmod/X.pmod/Requests.pmod       | 29 +++++++++++++++++++
 lib/modules/Protocols.pmod/X.pmod/Types.pmod  | 17 +++++++++++
 3 files changed, 53 insertions(+)

diff --git a/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod b/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod
index 040e9cf137..6feb81d553 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod
@@ -34,6 +34,13 @@ static class extension
   }
 }
 
+class ScreenSaver
+{
+  inherit extension;
+  constant name = "MIT-SCREEN-SAVER";
+  
+
+}
 
 class Shape
 {
diff --git a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
index c5dcba9208..ca8187e05a 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
@@ -803,6 +803,35 @@ class Bell {
   string to_string() { return build_request("", percent); }
 }
 
+class CopyArea
+{
+  inherit request;
+  constant reqType = 62;
+  object gc;
+  object area;
+  object src, dst;
+  int x,y; 
+  
+  string to_string()
+  {
+    return build_request(sprintf("%4c" "%4c" "%4c" "%2c%2c" "%2c%2c" "%2c%2c",
+				 src->id, dst->id, gc->id, area->x, area->y,
+				 x, y, area->width, area->height));
+  }
+}
+
+class CopyPlane
+{
+  inherit CopyArea;
+  constant reqType = 63;
+  int plane;
+  
+  string to_string()
+  {
+    return ::to_string()+sprintf("%4c", plane);
+  }
+}
+
 class AllocColor
 {
   inherit request;
diff --git a/lib/modules/Protocols.pmod/X.pmod/Types.pmod b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
index ae613aefd0..8c26d219b5 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Types.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
@@ -253,6 +253,23 @@ class Drawable
   int depth;
   object colormap, parent, visual;
 
+  object CopyArea_req(object gc, object src, object area, int x, int y)
+  {
+    object r= Requests.CopyArea();
+    r->gc = gc;
+    r->src = src;
+    r->area = area;
+    r->dst = this_object();
+    r->x = x;
+    r->y = y;
+    return r;
+  }
+
+  object CopyArea(object gc, object src, object area, int x, int y)
+  {
+    display->send_request( CopyArea_req( gc,src,area,x,y ));
+  }
+
   object CreateGC_req()
   {
     object req = Requests.CreateGC();
-- 
GitLab