From ahefner at common-lisp.net Tue Aug 19 15:56:50 2008 From: ahefner at common-lisp.net (ahefner) Date: Tue, 19 Aug 2008 11:56:50 -0400 (EDT) Subject: [mcclim-cvs] CVS mcclim Message-ID: <20080819155650.414CC83145@common-lisp.net> Update of /project/mcclim/cvsroot/mcclim In directory clnet:/tmp/cvs-serv14962 Modified Files: recording.lisp Log Message: Apparently, when rgb-designs were merged into the core of mcclim, the output recording definitions got left out. --- /project/mcclim/cvsroot/mcclim/recording.lisp 2008/04/13 07:32:40 1.141 +++ /project/mcclim/cvsroot/mcclim/recording.lisp 2008/08/19 15:56:50 1.142 @@ -1718,6 +1718,33 @@ (if-supplied (pattern pattern) (eq (slot-value record 'pattern) pattern)))) +;;;; RGB images + +(def-grecording draw-image-design (() image-design x y) () + (let ((width (image-width (image image-design))) + (height (image-height (image image-design))) + (transform (medium-transformation medium))) + (setf (values x y) (transform-position transform x y)) + (values x y (+ x width) (+ y height)))) + +(defmethod* (setf output-record-position) :around + (nx ny (record draw-image-design-output-record)) + (with-standard-rectangle* (:x1 x1 :y1 y1) record + (with-slots (x y) record + (let ((dx (- nx x1)) + (dy (- ny y1))) + (multiple-value-prog1 (call-next-method) + (incf x dx) + (incf y dy)))))) + +(defrecord-predicate draw-image-design-output-record (x y image-design) + (and (if-supplied (x coordinate) + (coordinate= (slot-value record 'x) x)) + (if-supplied (y coordinate) + (coordinate= (slot-value record 'y) y)) + (if-supplied (image-design rgb-image-design) + (eq (slot-value record 'image-design) image-design)))) + ;;;; Text (def-grecording draw-text ((gs-text-style-mixin) string point-x point-y start end From ahefner at common-lisp.net Wed Aug 20 01:44:13 2008 From: ahefner at common-lisp.net (ahefner) Date: Tue, 19 Aug 2008 21:44:13 -0400 (EDT) Subject: [mcclim-cvs] CVS mcclim/Looks Message-ID: <20080820014413.0F1E6340A6@common-lisp.net> Update of /project/mcclim/cvsroot/mcclim/Looks In directory clnet:/tmp/cvs-serv15597 Modified Files: pixie.lisp Log Message: Toggle buttons should have a few pixels spacing between the indicator and the label. --- /project/mcclim/cvsroot/mcclim/Looks/pixie.lisp 2008/05/06 20:49:02 1.23 +++ /project/mcclim/cvsroot/mcclim/Looks/pixie.lisp 2008/08/20 01:44:12 1.24 @@ -977,7 +977,7 @@ (+ (/ (+ y1 y2) 2) (/ (+ as ds) 2))) (draw-toggle-button-indicator pane (toggle-button-indicator-type pane) (gadget-value pane) tx1 ty1 tx2 ty2) - (draw-label* pane (+ tx2 (pane-x-spacing pane)) y1 x2 y2 + (draw-label* pane (+ tx2 3 (pane-x-spacing pane)) y1 x2 y2 :ink (pane-inking-color pane))))))))) ; Push Button From ahefner at common-lisp.net Thu Aug 21 22:34:29 2008 From: ahefner at common-lisp.net (ahefner) Date: Thu, 21 Aug 2008 18:34:29 -0400 (EDT) Subject: [mcclim-cvs] CVS mcclim Message-ID: <20080821223429.4FA112F048@common-lisp.net> Update of /project/mcclim/cvsroot/mcclim In directory clnet:/tmp/cvs-serv22060 Modified Files: package.lisp panes.lisp Log Message: Move the cut/paste and mouse scroll mixins from clim-stream-pane into subclasses, so that it's possible to implement subclasses of clim-stream-pane without them (presumably, if you want the extra features beyond the spec, you'll inherit from application-pane anyway). Move the mixin names into clim-extensions to make them accessible to the user. --- /project/mcclim/cvsroot/mcclim/package.lisp 2008/05/01 06:48:23 1.69 +++ /project/mcclim/cvsroot/mcclim/package.lisp 2008/08/21 22:34:28 1.70 @@ -1955,6 +1955,8 @@ #:draw-rounded-rectangle* #:highlight-output-record-tree + #:cut-and-paste-mixin + #:mouse-wheel-scroll-mixin ;; Font listing extension: #:font-family --- /project/mcclim/cvsroot/mcclim/panes.lisp 2008/05/09 19:12:14 1.190 +++ /project/mcclim/cvsroot/mcclim/panes.lisp 2008/08/21 22:34:29 1.191 @@ -27,7 +27,7 @@ ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;;; Boston, MA 02111-1307 USA. -;;; $Id: panes.lisp,v 1.190 2008/05/09 19:12:14 thenriksen Exp $ +;;; $Id: panes.lisp,v 1.191 2008/08/21 22:34:29 ahefner Exp $ (in-package :clim-internals) @@ -2489,9 +2489,7 @@ standard-output-recording-stream ;; sheet-leaf-mixin sheet-multiple-child-mixin ; needed for GADGET-OUTPUT-RECORD - basic-pane - mouse-wheel-scroll-mixin - cut-and-paste-mixin) + basic-pane) ((redisplay-needed :initarg :display-time) (scroll-bars :type scroll-bar-spec ; (member t :vertical :horizontal nil) :initform nil @@ -2682,7 +2680,9 @@ ;;; INTERACTOR PANES -(defclass interactor-pane (clim-stream-pane) +(defclass interactor-pane (clim-stream-pane + cut-and-paste-mixin + mouse-wheel-scroll-mixin) () (:default-initargs :display-time nil :end-of-line-action :scroll @@ -2710,7 +2710,9 @@ ;;; APPLICATION PANES -(defclass application-pane (clim-stream-pane) +(defclass application-pane (clim-stream-pane + cut-and-paste-mixin + mouse-wheel-scroll-mixin) () (:default-initargs :display-time :command-loop :scroll-bars t)) @@ -2832,7 +2834,9 @@ ;;; 29.4.5 Creating a Standalone CLIM Window -(defclass window-stream (clim-stream-pane) +(defclass window-stream (clim-stream-pane + cut-and-paste-mixin + mouse-wheel-scroll-mixin) ()) (defmethod close ((stream window-stream) From ahefner at common-lisp.net Fri Aug 22 22:36:00 2008 From: ahefner at common-lisp.net (ahefner) Date: Fri, 22 Aug 2008 18:36:00 -0400 (EDT) Subject: [mcclim-cvs] CVS mcclim/Looks Message-ID: <20080822223600.E17B43F027@common-lisp.net> Update of /project/mcclim/cvsroot/mcclim/Looks In directory clnet:/tmp/cvs-serv14253 Modified Files: pixie.lisp Log Message: Another step down the slippery slope of chronic laziness. --- /project/mcclim/cvsroot/mcclim/Looks/pixie.lisp 2008/08/20 01:44:12 1.24 +++ /project/mcclim/cvsroot/mcclim/Looks/pixie.lisp 2008/08/22 22:36:00 1.25 @@ -25,6 +25,10 @@ (defclass pixie-look (frame-manager) ()) #+clx (defclass pixie/clx-look (pixie-look clim-clx::clx-frame-manager) ()) +(defun use-pixie () + (setf *default-frame-manager* + (make-instance 'pixie/clx-look + :port (find-port)))) (defmacro define-pixie-gadget (abstract-type pixie-type &key (enabled t)) `(defmethod make-pane-1 ((fm pixie-look)