Changes to match microcode version 11.75 -- cannot be used with
authorChris Hanson <org/chris-hanson/cph>
Fri, 26 Apr 1991 05:27:24 +0000 (05:27 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 26 Apr 1991 05:27:24 +0000 (05:27 +0000)
earlier microcode versions.

v7/src/edwin/make.scm
v7/src/edwin/xterm.scm

index cddbb01c5cafae64b857e1f9298027eb685cf195..2004bdc15f2bf5b7cc6ec057a2f0bcf14e65f97f 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/make.scm,v 3.38 1991/04/26 03:18:30 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/make.scm,v 3.39 1991/04/26 05:27:24 cph Exp $
 
 Copyright (c) 1989-91 Massachusetts Institute of Technology
 
@@ -37,4 +37,4 @@ MIT in each case. |#
 (declare (usual-integrations))
 
 (package/system-loader "edwin" '() 'QUERY)
-(add-system! (make-system "Edwin" 3 38 '()))
\ No newline at end of file
+(add-system! (make-system "Edwin" 3 39 '()))
\ No newline at end of file
index a52d0b622840d2b8cb86cbe9da6843ca0abd7184..0dbae74a6639ad48902b03836fcaebb6c7e48fd7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/xterm.scm,v 1.16 1991/03/16 08:13:31 cph Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/xterm.scm,v 1.17 1991/04/26 05:27:14 cph Exp $
 ;;;
 ;;;    Copyright (c) 1989-91 Massachusetts Institute of Technology
 ;;;
@@ -45,7 +45,7 @@
 ;;;; X Terminal
 
 (declare (usual-integrations))
-
+\f
 (define-primitives
   (x-open-display 1)
   (x-close-all-displays 0)
   (x-window-set-name 2)
   (xterm-clear-rectangle! 6)
   (xterm-draw-cursor 1)
+  (xterm-dump-rectangle 5)
   (xterm-enable-cursor 2)
   (xterm-erase-cursor 1)
+  (xterm-map-x-coordinate 2)
+  (xterm-map-y-coordinate 2)
+  (xterm-map-x-size 2)
+  (xterm-map-y-size 2)
   (xterm-open-window 3)
+  (xterm-reconfigure 3)
   (xterm-restore-contents 6)
   (xterm-save-contents 5)
   (xterm-scroll-lines-down 6)
 (define-integrable event-type:button-down 0)
 (define-integrable event-type:button-up 1)
 (define-integrable event-type:configure 2)
-(define-integrable event-type:enter 3)         
-(define-integrable event-type:focus-in 4)      
-(define-integrable event-type:focus-out 5)             
-(define-integrable event-type:key-press 6)             
-(define-integrable event-type:leave 7)         
-(define-integrable event-type:motion 8) 
-(define-integrable number-of-event-types 9)
-
-;; This mask contains button-down, button-up, configure, focus-in, and
-;; key-press.
-(define-integrable event-mask #x057)
+(define-integrable event-type:enter 3)
+(define-integrable event-type:focus-in 4)
+(define-integrable event-type:focus-out 5)
+(define-integrable event-type:key-press 6)
+(define-integrable event-type:leave 7)
+(define-integrable event-type:motion 8)
+(define-integrable event-type:expose 9)
+(define-integrable number-of-event-types 10)
+
+;; This mask contains button-down, button-up, configure, focus-in,
+;; key-press, and expose.
+(define-integrable event-mask #x257)
 
 (define event-handlers
   (make-vector number-of-event-types false))
 
 (define-event-handler event-type:configure
   (lambda (screen event)
-    (let ((x-size (vector-ref event 2))
+    (let ((xterm (screen-xterm screen))
+         (x-size (vector-ref event 2))
          (y-size (vector-ref event 3)))
-      (if (not (and (= x-size (screen-x-size screen))
-                   (= y-size (screen-y-size screen))))
-         (begin
-           (set-screen-size! screen x-size y-size)
-           (update-screen! screen true))))))
+      (xterm-reconfigure xterm x-size y-size)
+      (let ((x-size (xterm-map-x-size xterm x-size))
+           (y-size (xterm-map-y-size xterm y-size)))
+       (if (not (and (= x-size (screen-x-size screen))
+                     (= y-size (screen-y-size screen))))
+           (begin
+             (set-screen-size! screen x-size y-size)
+             (update-screen! screen true)))))))
+
+(define-event-handler event-type:expose
+  (lambda (screen event)
+    (xterm-dump-rectangle (screen-xterm screen)
+                         (vector-ref event 2)
+                         (vector-ref event 3)
+                         (vector-ref event 4)
+                         (vector-ref event 5))))
 
 (define-event-handler event-type:button-down
   (lambda (screen event)
-    (send (screen-root-window screen) ':button-event!
-         (make-down-button (vector-ref event 4))
-         (vector-ref event 2)
-         (vector-ref event 3))
+    (let ((xterm (screen-xterm screen)))
+      (send (screen-root-window screen) ':button-event!
+           (make-down-button (vector-ref event 4))
+           (xterm-map-x-coordinate xterm (vector-ref event 2))
+           (xterm-map-y-coordinate xterm (vector-ref event 3))))
     (update-screen! screen false)))
 
 (define-event-handler event-type:button-up
   (lambda (screen event)
-    (send (screen-root-window screen) ':button-event!
-         (make-up-button (vector-ref event 4))
-         (vector-ref event 2)
-         (vector-ref event 3))
+    (let ((xterm (screen-xterm screen)))
+      (send (screen-root-window screen) ':button-event!
+           (make-up-button (vector-ref event 4))
+           (xterm-map-x-coordinate xterm (vector-ref event 2))
+           (xterm-map-y-coordinate xterm (vector-ref event 3))))
     (update-screen! screen false)))
 
 (define-event-handler event-type:focus-in