home *** CD-ROM | disk | FTP | other *** search
- ;;; -*- Mode:Lisp; Package:XLIB; Syntax:COMMON-LISP; Base:10; Lowercase:YES; Patch-file:T -*-
-
- ;;; CLX debugging code
-
- ;;;
- ;;; TEXAS INSTRUMENTS INCORPORATED
- ;;; P.O. BOX 2909
- ;;; AUSTIN, TEXAS 78769
- ;;;
- ;;; Copyright (C) 1987 Texas Instruments Incorporated.
- ;;;
- ;;; Permission is granted to any individual or institution to use, copy, modify,
- ;;; and distribute this software, provided that this complete copyright and
- ;;; permission notice is maintained, intact, in all copies and supporting
- ;;; documentation.
- ;;;
- ;;; Texas Instruments Incorporated provides this software "as is" without
- ;;; express or implied warranty.
- ;;;
-
- ;;; Created 04/09/87 14:30:41 by LaMott G. OREN
-
- (in-package :xlib)
-
- (export '(display-listen
- readflush
- check-buffer
- check-finish
- check-force
- clear-next))
-
- (defun display-listen (display)
- (listen (display-input-stream display)))
-
- (defun readflush (display)
- ;; Flushes Display's input stream, returning what was there
- (let ((stream (display-input-stream display)))
- (loop while (listen stream) collect (read-byte stream))))
-
- ;;-----------------------------------------------------------------------------
- ;; The following are useful display-after functions
-
- (defun check-buffer (display)
- ;; Ensure the output buffer in display is correct
- (with-buffer-output (display :length :none :sizes (8 16))
- (do* ((i 0 (+ i length))
- request
- length)
- ((>= i buffer-boffset)
- (unless (= i buffer-boffset)
- (warn "Buffer size ~d Requests end at ~d" buffer-boffset i)))
-
- (let ((buffer-boffset 0)
- #+clx-overlapping-arrays
- (buffer-woffset 0))
- (setq request (card8-get i))
- (setq length (* 4 (card16-get (+ i 2)))))
- (when (zerop request)
- (warn "Zero request in buffer")
- (return nil))
- (when (zerop length)
- (warn "Zero length in buffer")
- (return nil)))))
-
- (defun check-finish (display)
- (check-buffer display)
- (display-finish-output display))
-
- (defun check-force (display)
- (check-buffer display)
- (display-force-output display))
-
- (defun clear-next (display)
- ;; Never append requests
- (setf (display-last-request display) nil))
-
- ;; End of file
-