Skip to content
Snippets Groups Projects
Commit f1593148 authored by Jacek Złydach's avatar Jacek Złydach
Browse files

Getting a few of the demos to compile.

+ introduced bordeaux-thread as a replacement for Allegro's mp module.
parent 6d958624
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,8 @@
(defvar *demos* nil)
(define-presentation-type demo ()) ;<-- ?? It seems to help though. - jacek.zlydach, 2017-05-04.
(defclass demo ()
((name :reader demo-name :initarg :name)
(class :reader demo-class :initarg :class)
......@@ -47,7 +49,7 @@
;; In particular, this can occur when listing
;; the Japanese graphics-editor when the correct
;; Japanese fonts are not accessible.
(let ((result (catch 'excl::printer-error
(let ((result (catch #-allegro 'error #+Allegro 'excl::printer-error
(with-output-as-presentation (stream demo 'demo)
(format stream "~A~%" name))
nil)))
......@@ -84,25 +86,28 @@
(when (or force (null frame))
(setq frame (apply (if activity-p
#'make-instance
#'make-application-frame)
#'make-application-frame)
(demo-class demo)
:frame-manager (find-frame-manager :port port)
(demo-initargs demo))))
(if entry
(setf (cdr entry) frame)
(push (cons port frame) (demo-frames demo)))
(push (cons port frame) (demo-frames demo)))
(if (slot-value frame 'clim-internals::top-level-process)
(unless activity-p
(when (eq (frame-state frame) :shrunk)
(note-frame-deiconified (frame-manager frame) frame))
(raise-frame frame))
(run-frame-top-level frame)))))
(if background
(mp:process-run-function
`(:name ,(demo-name demo)
:initial-bindings ((*package* . ',*package*)))
#'do-it)
(do-it))))
(run-frame-top-level frame)))))
(if background
(let ((bt:*default-special-bindings* `((*package* . ',*package*))))
(bt:make-thread #'do-it :name (demo-name demo)))
(do-it))))
;; (mp:process-run-function
;; `(:name ,(demo-name demo)
;; :initial-bindings ((*package* . ',*package*)))
;; #'do-it)
(defvar *demo-frame* nil)
......
......@@ -180,9 +180,9 @@ rotation and scaling."
:ink (if (oddp i) +background-ink+ +foreground-ink+))))
(demo-sleep stream 2))))))
(defconstant *random-ink-list*
(list +red+ +green+ +blue+
+cyan+ +magenta+ +yellow+ +black+))
(defparameter *random-ink-list*
(list +red+ +green+ +blue+
+cyan+ +magenta+ +yellow+ +black+))
(defun random-ink ()
(nth (random (length *random-ink-list*)) *random-ink-list*))
......
......@@ -656,5 +656,5 @@
#+Genera
(define-genera-application lisp-listener
:pretty-name "CLIM Lisp Listener"
:select-key #\
:select-key #\ [FIXME insert character 210]
:width +fill+ :height +fill+)
......@@ -198,7 +198,8 @@
;;; based on `clim-demo' in demo/sysdcl.lisp
(defsystem #:gramps-clim2/examples
:description "Applications bundled in gramps-clim2 repository."
:depends-on (#:gramps-clim2/core)
:depends-on (#:gramps-clim2/core
#:bordeaux-threads)
:components
((:module "demo"
......@@ -207,12 +208,13 @@
(:file "demo-driver" :depends-on ("packages"))
(:file "listener" :depends-on ("demo-driver"))
(:file "graphics-demos" :depends-on ("demo-driver"))
(:file "cad-demo" :depends-on ("demo-driver"))
(:file "navdata" :depends-on ("packages"))
(:file "navfun" :depends-on ("navdata"))
(:file "puzzle" :depends-on ("demo-driver"))
(:file "address-book" :depends-on ("demo-driver"))
(:file "thinkadot" :depends-on ("demo-driver"))
(:file "plot" :depends-on ("demo-driver"))
(:file "color-editor" :depends-on ("demo-driver"))
(:file "graphics-editor" :depends-on ("demo-driver"))))))
;(:file "cad-demo" :depends-on ("demo-driver"))
;(:file "navdata" :depends-on ("packages"))
;(:file "navfun" :depends-on ("navdata"))
;(:file "puzzle" :depends-on ("demo-driver"))
;(:file "address-book" :depends-on ("demo-driver"))
;(:file "thinkadot" :depends-on ("demo-driver"))
;(:file "plot" :depends-on ("demo-driver"))
;(:file "color-editor" :depends-on ("demo-driver"))
;(:file "graphics-editor" :depends-on ("demo-driver"))
))))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment