Changeset main,85


Ignore:
Timestamp:
02/15/2008 09:27:06 PM (15 years ago)
Author:
David Owen <dsowen@…>
branch-nick:
tui
revision id:
dsowen@fugue88.ws-20080215212706-q3uj2dl3ia87yazp
Message:

Better control of cursor visibility.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/cursor.lisp

    r61 r85  
    11(defpackage #:tui-cursor
    22  (:use #:cl #:cffi #:tui-window)
    3   (:export #:cursor-position #:set-cursor-visible))
     3  (:export #:cursor-position #:cursor-visible #:set-cursor-visible
     4           #:let-cursor-visible))
    45
    56(in-package #:tui-cursor)
     
    3738  (visibility :int))
    3839
     40(defvar *cursor-visibility* t)
     41
     42(defun cursor-visible ()
     43  *cursor-visibility*)
     44
    3945(defun set-cursor-visible (flag)
    4046  (curs-set (if flag 1 0))
    41   flag)
     47  (setf *cursor-visibility* flag))
     48
     49(defsetf cursor-visible set-cursor-visible)
     50
     51(defmacro let-cursor-visible (flag &body body)
     52  (dso-util:with-gensyms (old)
     53    `(let ((,old (cursor-visible)))
     54       (setf (cursor-visible) ,flag)
     55       (unwind-protect (progn ,@body)
     56         (setf (cursor-visible) ,old)))))
Note: See TracChangeset for help on using the changeset viewer.