[graphic-forms-cvs] r292 - in trunk: . src/uitoolkit/system src/uitoolkit/widgets
junrue at common-lisp.net
junrue at common-lisp.net
Fri Oct 6 04:59:25 UTC 2006
Author: junrue
Date: Fri Oct 6 00:59:24 2006
New Revision: 292
Modified:
trunk/NEWS.txt
trunk/build.lisp
trunk/config.lisp
trunk/src/uitoolkit/system/datastructs.lisp
trunk/src/uitoolkit/widgets/event.lisp
trunk/src/uitoolkit/widgets/scrolling-event-dispatcher.lisp
Log:
fixed an edge case in scrolling/repainting; added SB_ENDSCROLL/TB_ENDTRACK support to scroll notification; upgraded to CFFI 060925 due to CLISP 2.40
Modified: trunk/NEWS.txt
==============================================================================
--- trunk/NEWS.txt (original)
+++ trunk/NEWS.txt Fri Oct 6 00:59:24 2006
@@ -1,5 +1,9 @@
+. CFFI snapshot 060925 or later is now required if you are running
+ CLISP 2.40 or later (due to a change in the argument list of
+ CLISP's FFI:FOREIGN-LIBRARY-FUNCTION).
+
. Initial list box control functionality is now available:
* three selection modes (none / multiple / extend)
Modified: trunk/build.lisp
==============================================================================
--- trunk/build.lisp (original)
+++ trunk/build.lisp Fri Oct 6 00:59:24 2006
@@ -44,7 +44,7 @@
(defvar *asdf-repo-root* (concatenate 'string *library-root* "asdf-repo/"))
(defvar *project-root* "c:/projects/public/")
-(setf *cffi-dir* (concatenate 'string *asdf-repo-root* "cffi-060606/"))
+(setf *cffi-dir* (concatenate 'string *asdf-repo-root* "cffi-060925/"))
(setf *closer-mop-dir* (concatenate 'string *asdf-repo-root* "closer-mop/"))
(setf *lw-compat-dir* (concatenate 'string *asdf-repo-root* "lw-compat/"))
(setf *gf-dir* (concatenate 'string *project-root* "graphic-forms/"))
Modified: trunk/config.lisp
==============================================================================
--- trunk/config.lisp (original)
+++ trunk/config.lisp Fri Oct 6 00:59:24 2006
@@ -39,7 +39,7 @@
(in-package #:graphic-forms-system)
-(defvar *cffi-dir* "cffi-060606/")
+(defvar *cffi-dir* "cffi-060925/")
(defvar *closer-mop-dir* "closer-mop/")
(defvar *lw-compat-dir* "lw-compat/")
(defvar *gf-dir* "graphic-forms/")
Modified: trunk/src/uitoolkit/system/datastructs.lisp
==============================================================================
--- trunk/src/uitoolkit/system/datastructs.lisp (original)
+++ trunk/src/uitoolkit/system/datastructs.lisp Fri Oct 6 00:59:24 2006
@@ -45,9 +45,15 @@
(defun location (rect)
(rectangle-location rect))
+(defun (setf location) (pnt rect)
+ (setf (rectangle-location rect) pnt))
+
(declaim (inline size))
(defun size (size)
- (rectangle-size rect))
+ (rectangle-size size))
+
+(defun (setf size) (size rect)
+ (setf (rectangle-size rect) size))
(declaim (inline empty-span-p))
(defun empty-span-p (span)
Modified: trunk/src/uitoolkit/widgets/event.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/event.lisp (original)
+++ trunk/src/uitoolkit/widgets/event.lisp Fri Oct 6 00:59:24 2006
@@ -161,7 +161,9 @@
; (#.gfs::+tb-thumbposition+ :thumb-position)
; (#.gfs::+tb-thumbtrack+ :thumb-track)
(#.gfs::+sb-thumbposition+ :thumb-position)
- (#.gfs::+sb-thumbtrack+ :thumb-track))))
+ (#.gfs::+sb-thumbtrack+ :thumb-track)
+; (#.gfs::+tb-endtrack+ :finished)
+ (#.gfs::+sb-endscroll+ :finished))))
(event-scroll disp widget axis detail)))
(defun obtain-event-time ()
Modified: trunk/src/uitoolkit/widgets/scrolling-event-dispatcher.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/scrolling-event-dispatcher.lisp (original)
+++ trunk/src/uitoolkit/widgets/scrolling-event-dispatcher.lisp Fri Oct 6 00:59:24 2006
@@ -117,6 +117,8 @@
(viewport-size (client-size window))
(top-size (if top (size top) viewport-size))
(origin (slot-value (dispatcher window) 'viewport-origin))
+ (saved-x (gfs:point-x origin))
+ (saved-y (gfs:point-y origin))
(delta-x (- (+ (gfs:size-width viewport-size) (gfs:point-x origin)) (gfs:size-width top-size)))
(delta-y (- (+ (gfs:size-height viewport-size) (gfs:point-y origin)) (gfs:size-height top-size))))
(if (and (> delta-x 0) (> (gfs:point-x origin) 0))
@@ -125,7 +127,12 @@
(if (and (> delta-y 0) (> (gfs:point-y origin) 0))
(setf (gfs:point-y origin) (max 0 (- (gfs:point-y origin) delta-y)))
(setf delta-y 0))
- (scroll top delta-x delta-y nil 0)
+ (if (or (and (zerop (gfs:point-x origin)) (/= saved-x 0))
+ (and (zerop (gfs:point-y origin)) (/= saved-y 0)))
+ (progn
+ (redraw top)
+ (update top))
+ (scroll top delta-x delta-y nil 0))
origin))
;;;
More information about the Graphic-forms-cvs
mailing list