[mcclim-cvs] CVS mcclim

crhodes crhodes at common-lisp.net
Fri Mar 24 11:45:03 UTC 2006


Update of /project/mcclim/cvsroot/mcclim
In directory clnet:/tmp/cvs-serv9598

Modified Files:
	mcclim.asd 
Log Message:
Add highly experimental Null backend.

The idea is that the null backend implements all the mcclim machinery 
for a backend, but doesn't side-effect the rest of the world; this 
should make it possible to write test cases for mcclim-internal 
invariants, and potentially also mcclim applications, by running them 
under this backend.  This utopia is quite a way off, however; what 
actually works at present is not much more than:
  (setf clim:*default-server-path* :null)
  (let ((stream (clim:open-window-stream)
    (clim:draw-rectangle* stream 10 10 100 200)
    (clim:stream-output-history stream))
but it's a start.

(Additionally, the Null backend could be used as a starting point for 
implementing other backends.)


--- /project/mcclim/cvsroot/mcclim/mcclim.asd	2006/03/23 16:59:47	1.14
+++ /project/mcclim/cvsroot/mcclim/mcclim.asd	2006/03/24 11:45:03	1.15
@@ -246,6 +246,18 @@
                (:file "graft" :depends-on ("port" "package"))
                (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
 
+(defsystem :clim-null
+    :depends-on (:clim)
+    :components
+    ((:module "Backends/Null"
+	      :pathname #.(make-pathname :directory '(:relative "Backends" "Null"))
+	      :components
+	      ((:file "package")
+	       (:file "port" :depends-on ("package"))
+	       (:file "medium" :depends-on ("port" "package"))
+	       (:file "graft" :depends-on ("port" "package"))
+	       (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
+
 ;;; TODO/asf: I don't have the required libs to get :clim-opengl to load. tough.
 (clim-defsystem (:clim-opengl :depends-on (:clim))
    "Backends/OpenGL/opengl-x-frame-manager"
@@ -270,6 +282,9 @@
                  ;; But until it's ready, it's no use forcing users to
                  ;; cope with possible bugs.
                  ;; #+(or openmcl mcl)          :clim-beagle
+
+		 ;; null backend
+		 :clim-null
                  )
     :components ((:file "Looks/pixie"
                         :pathname #.(make-pathname :directory '(:relative "Looks") :name "pixie" :type "lisp"))))




More information about the Mcclim-cvs mailing list