[graphic-forms-cvs] r226 - in trunk: . docs/manual src/demos/unblocked src/uitoolkit/widgets
junrue at common-lisp.net
junrue at common-lisp.net
Mon Aug 21 04:36:52 UTC 2006
Author: junrue
Date: Mon Aug 21 00:36:51 2006
New Revision: 226
Modified:
trunk/NEWS.txt
trunk/README.txt
trunk/build.lisp
trunk/config.lisp
trunk/docs/manual/overview.texinfo
trunk/graphic-forms-tests.asd
trunk/src/demos/unblocked/tiles-panel.lisp
trunk/src/demos/unblocked/unblocked-model.lisp
trunk/src/demos/unblocked/unblocked-window.lisp
trunk/src/uitoolkit/widgets/file-dialog.lisp
Log:
completed removal of Cells usage, updated dependency documentation
Modified: trunk/NEWS.txt
==============================================================================
--- trunk/NEWS.txt (original)
+++ trunk/NEWS.txt Mon Aug 21 00:36:51 2006
@@ -1,11 +1,16 @@
. SBCL 0.9.15 is now supported. Graphic-Forms includes a small patch
-to enable the stdcall calling convention for alien callbacks, located
-in src/external-libraries/sbcl-callback-patch
+ to enable the stdcall calling convention for alien callbacks, located
+ in src/external-libraries/sbcl-callback-patch.
+
+. Implemented a plugin mechanism for integrating graphics libraries.
. Implemented the standard color chooser dialog.
+. Simplified external library dependencies, getting rid of some and
+ bundling small libraries into the Graphic-Forms distribution.
+
==============================================================================
Modified: trunk/README.txt
==============================================================================
--- trunk/README.txt (original)
+++ trunk/README.txt Mon Aug 21 00:36:51 2006
@@ -16,9 +16,6 @@
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf/
*note: ASDF is bundled with SBCL*
- - Cells (latest from CVS)
- http://www.common-lisp.net/project/cells/
-
- CFFI (cffi-060606 or later)
http://common-lisp.net/project/cffi/
@@ -114,7 +111,6 @@
;; load the other dependencies besides ImageMagick. Or if your Lisp
;; image already has these systems loaded, set the variables to nil.
;;
- ;; gfsys::*cells-dir*
;; gfsys::*cffi-dir*
;; gfsys::*closer-mop-dir*
;; gfsys::*lw-compat-dir*
Modified: trunk/build.lisp
==============================================================================
--- trunk/build.lisp (original)
+++ trunk/build.lisp Mon Aug 21 00:36:51 2006
@@ -44,7 +44,6 @@
(defvar *asdf-repo-root* (concatenate 'string *library-root* "asdf-repo/"))
(defvar *project-root* "c:/projects/public/")
-(setf *cells-dir* (concatenate 'string *asdf-repo-root* "cells/"))
(setf *cffi-dir* (concatenate 'string *asdf-repo-root* "cffi-060606/"))
(setf *closer-mop-dir* (concatenate 'string *asdf-repo-root* "closer-mop/"))
(setf *lw-compat-dir* (concatenate 'string *asdf-repo-root* "lw-compat/"))
Modified: trunk/config.lisp
==============================================================================
--- trunk/config.lisp (original)
+++ trunk/config.lisp Mon Aug 21 00:36:51 2006
@@ -39,7 +39,6 @@
(in-package #:graphic-forms-system)
-(defvar *cells-dir* "cells/")
(defvar *cffi-dir* "cffi-060606/")
(defvar *closer-mop-dir* "closer-mop/")
(defvar *lw-compat-dir* "lw-compat/")
@@ -54,7 +53,6 @@
(defun configure-asdf ()
(pushnew *binary-data-dir* asdf:*central-registry* :test #'equal)
- (pushnew *cells-dir* asdf:*central-registry* :test #'equal)
(pushnew *cffi-dir* asdf:*central-registry* :test #'equal)
(pushnew *closer-mop-dir* asdf:*central-registry* :test #'equal)
(pushnew *lw-compat-dir* asdf:*central-registry* :test #'equal)
Modified: trunk/docs/manual/overview.texinfo
==============================================================================
--- trunk/docs/manual/overview.texinfo (original)
+++ trunk/docs/manual/overview.texinfo Mon Aug 21 00:36:51 2006
@@ -70,14 +70,13 @@
@section Dependencies
-The libraries that Graphic-Forms relies upon are:
+ at strong{Libraries required by Graphic-Forms to be downloaded
+separately:}
@table @code
@item ASDF
- at url{http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf}
-
- at item Cells (latest from CVS)
- at url{http://www.common-lisp.net/project/cells/}
+ at url{http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf}@*
+ at emph{Note that ASDF is bundled with SBCL.}
@item CFFI
@url{http://common-lisp.net/project/cffi}
@@ -85,21 +84,39 @@
@item Closer to MOP
@url{http://common-lisp.net/project/closer/downloads.html}
- at item ImageMagick
- at url{http://www.imagemagick.org/download/binaries/ImageMagick-6.2.6-5-Q16-windows-dll.exe}
+ at item lw-compat
+ at url{http://common-lisp.net/project/closer/downloads.html}
+ at end table
+
+ at strong{Required libraries bundled with Graphic-Forms:}
+
+ at table @code
+
+ at item Practical Common Lisp Chapter08 and Chapter24
+ at url{http://www.gigamonkeys.com/book/practicals-1.0.3.tar.gz}
@item lisp-unit
@url{http://www.cs.northwestern.edu/academics/courses/325/readings/lisp-unit.html}
- at item lw-compat
- at url{http://common-lisp.net/project/closer/downloads.html}
+ at end table
+
+ at strong{Optional libraries that can be used with Graphic-Forms:}
+
+ at table @code
+
+ at item ImageMagick
+ at url{http://imagemagick.org/script/binary-releases.php#windows}@*
+ at emph{Install the Q16 version and push the symbol
+:load-imagemagick-plugin onto *features* before executing ASDF.}
+
@end table
@section Building the Library and Running Tests
Please see the @code{README.txt} file included in the
-distribution for instructions on how to load the ASDF system and run tests.
+distribution for instructions on how to load the test program
+ASDF system and run unit-tests, test programs, and demo programs.
@section Support
Modified: trunk/graphic-forms-tests.asd
==============================================================================
--- trunk/graphic-forms-tests.asd (original)
+++ trunk/graphic-forms-tests.asd Mon Aug 21 00:36:51 2006
@@ -55,7 +55,6 @@
:version "0.5.0"
:author "Jack D. Unrue"
:licence "BSD"
- :depends-on ("cells")
:components
((:module "src"
:components
Modified: trunk/src/demos/unblocked/tiles-panel.lisp
==============================================================================
--- trunk/src/demos/unblocked/tiles-panel.lisp (original)
+++ trunk/src/demos/unblocked/tiles-panel.lisp Mon Aug 21 00:36:51 2006
@@ -117,7 +117,10 @@
(shape-pnts (shape-pnts-of self)))
(when (and (eql button :left-button) shape-pnts)
(if (and tile-pnt (find tile-pnt shape-pnts :test #'eql-point))
- (game-shape-data shape-pnts)
+ (progn
+ (update-game-tiles shape-pnts)
+ (update-panel (get-scoreboard-panel))
+ (update-panel (get-tiles-panel)))
(draw-tiles-directly panel shape-pnts (shape-kind-of self)))))
(setf (shape-kind-of self) 0)
(setf (shape-pnts-of self) nil))
Modified: trunk/src/demos/unblocked/unblocked-model.lisp
==============================================================================
--- trunk/src/demos/unblocked/unblocked-model.lisp (original)
+++ trunk/src/demos/unblocked/unblocked-model.lisp Mon Aug 21 00:36:51 2006
@@ -48,66 +48,53 @@
until (> entry score)
finally (return level)))
-(defun revise-tiles (active-tiles orig-tiles shape-data)
- (if shape-data
- (loop with tmp = (clone-tiles active-tiles)
- for pnt in shape-data do (set-tile tmp pnt 0)
- finally (return (collapse-tiles tmp)))
- orig-tiles))
-
-(cells:defmodel unblocked-game-model ()
- ((level
- :accessor level
- :initform (cells:c? (lookup-level-reached (^score))))
- (score
- :accessor score
- :initform (cells:c? (+ (or cells:.cache 0)
- (* 5 (length (^shape-data))))))
+(defun compute-new-game-tiles ()
+ (collapse-tiles (init-tiles +horz-tile-count+ +vert-tile-count+ (1- +max-tile-kinds+))))
+
+(defclass unblocked-game-model ()
+ ((score
+ :accessor score-of
+ :initform 0)
(shape-data
- :accessor shape-data
- :initform (cells:c-in nil))
+ :accessor shape-data-of
+ :initform nil)
(original-tiles
- :accessor original-tiles
- :initarg :original-tiles
- :initform (cells:c-in (collapse-tiles (init-tiles +horz-tile-count+
- +vert-tile-count+
- (1- +max-tile-kinds+)))))
+ :accessor original-tiles-of
+ :initform nil)
(active-tiles
- :accessor active-tiles
- :initform (cells:c? (revise-tiles cells:.cache (^original-tiles) (^shape-data))))))
+ :accessor active-tiles-of
+ :initform nil)))
(defvar *game* (make-instance 'unblocked-game-model))
(defun new-game ()
- (cells:cells-reset)
- (setf *game* (make-instance 'unblocked-game-model)))
+ (let ((tiles (compute-new-game-tiles)))
+ (setf (score-of *game*) 0
+ (original-tiles-of *game*) tiles
+ (active-tiles-of *game*) tiles)))
(defun restart-game ()
- (let ((saved-tiles (original-tiles *game*)))
- (cells:cells-reset)
- (setf *game* (make-instance 'unblocked-game-model :original-tiles saved-tiles))))
+ (setf (score-of *game*) 0
+ (active-tiles-of *game*) (original-tiles-of *game*)))
(defun game-tiles ()
- (active-tiles *game*))
+ (active-tiles-of *game*))
-(defun game-shape-data (pnts)
- (setf (shape-data *game*) pnts))
+(defun update-game-tiles (shape-data)
+ (setf (active-tiles-of *game*)
+ (if shape-data
+ (progn
+ (incf (score-of *game*) (* 5 (length shape-data)))
+ (loop with tmp = (clone-tiles (active-tiles-of *game*))
+ for pnt in shape-data do (set-tile tmp pnt 0)
+ finally (return (collapse-tiles tmp))))
+ (original-tiles-of *game*))))
(defun game-level ()
- (level *game*))
+ (lookup-level-reached (score-of *game*)))
(defun game-points-needed ()
- (- (nth (1- (level *game*)) *points-needed-table*) (score *game*)))
+ (- (nth (1- (game-level)) *points-needed-table*) (score-of *game*)))
(defun game-score ()
- (score *game*))
-
-(defun update-panel (panel)
- (update-buffer (gfw:dispatcher panel))
- (gfw:redraw panel))
-
-(cells:defobserver score ((self unblocked-game-model))
- (update-panel (get-scoreboard-panel)))
-
-(cells:defobserver active-tiles ((self unblocked-game-model))
- (update-panel (get-tiles-panel)))
+ (score-of *game*))
Modified: trunk/src/demos/unblocked/unblocked-window.lisp
==============================================================================
--- trunk/src/demos/unblocked/unblocked-window.lisp (original)
+++ trunk/src/demos/unblocked/unblocked-window.lisp Mon Aug 21 00:36:51 2006
@@ -65,6 +65,10 @@
(kind (shape-kind shape)))
(and (> size 1) (/= kind 0) (/= kind +max-tile-kinds+))))
+(defun update-panel (panel)
+ (update-buffer (gfw:dispatcher panel))
+ (gfw:redraw panel))
+
(defun reveal-unblocked (disp item)
(declare (ignore disp item))
(let ((shape (find-shape (game-tiles) #'accept-shape-p)))
Modified: trunk/src/uitoolkit/widgets/file-dialog.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/file-dialog.lisp (original)
+++ trunk/src/uitoolkit/widgets/file-dialog.lisp Mon Aug 21 00:36:51 2006
@@ -124,7 +124,7 @@
(title-buffer (cffi:null-pointer))
(dir-buffer (cffi:null-pointer))
(ext-buffer (cffi:null-pointer))
- (file-buffer (cffi:foreign-alloc :char :count 1024 :initial-element #\Null))) ; see FIXME above
+ (file-buffer (cffi:foreign-alloc :char :count 1024 :initial-element 0))) ; see FIXME above
(if text
(setf title-buffer (collect-foreign-strings (list text))))
(if initial-directory
More information about the Graphic-forms-cvs
mailing list