lø., 17.01.2009 kl. 13.01 +0100, skrev Peter Hildebrandt: > (2) The cairo drawing area is distinct from the cairo-x11 thingy. The > cairo-x11 canvas uses x11 directly to display its own window which is > solely for drawing. The cairo-drawing-area is a gtk widget which > allows the use of cairo for drawing. > > Just like the threading, the latter is disabled by default (for folks > who do not have cairo). Therefore you need to push the > cairo-drawing-area feature (or something like this, I forget. It is > commented out in one of the asds, I believe. Chekc the sources), then > kill the fasls, and recompile. >
(pushnew :cells-gtk-cairo *features*) To make it compile, these patches are needed: jo...@perle:~/prg/cl-cairo2$ cat 0001-added-gtk-context-and-exported-a-symbol.patch >From 5547bf2f16fff8c4a6620c135b1d2f657034e454 Mon Sep 17 00:00:00 2001 From: Johan Ur Riise <jo...@perle.riise-data.net> Date: Sat, 17 Jan 2009 22:06:00 +0100 Subject: [PATCH] added gtk-context and exported a symbol --- cl-cairo2.asd | 3 ++- package.lisp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cl-cairo2.asd b/cl-cairo2.asd index c8a2e2d..f070ece 100644 --- a/cl-cairo2.asd +++ b/cl-cairo2.asd @@ -20,6 +20,7 @@ "transformations")) (:file "path" :depends-on ("context")) (:file "text" :depends-on ("context")) - (:file "transformations" :depends-on ("context"))) + (:file "transformations" :depends-on ("context")) + (:file "gtk-context" :depends-on ("context"))) :depends-on (:cffi :cl-colors :cl-utilities :trivial-garbage :trivial-features)) diff --git a/package.lisp b/package.lisp index e8a1921..97c814f 100644 --- a/package.lisp +++ b/package.lisp @@ -30,7 +30,7 @@ get-operator set-operator fill-path set-dash get-dash clip-extents fill-extents in-fill in-stoke create-ps-context create-pdf-context create-svg-context get-target set-source-surface - + with-gtk-context ;;pattern pattern create-rgb-pattern create-rgba-pattern -- 1.5.4.3 and this for cells-gtk: jo...@perle:~/prg/cells-gtk$ cvs diff -u8p cells-gtk/cairo-drawing-area.lisp Index: cells-gtk/cairo-drawing-area.lisp =================================================================== RCS file: /project/cells-gtk/cvsroot/cells-gtk3/cells-gtk/cairo-drawing-area.lisp,v retrieving revision 1.1.1.1 diff -u -8 -p -r1.1.1.1 cairo-drawing-area.lisp --- cells-gtk/cairo-drawing-area.lisp 3 Jun 2008 16:33:44 -0000 1.1.1.1 +++ cells-gtk/cairo-drawing-area.lisp 17 Jan 2009 21:02:33 -0000 @@ -568,18 +568,18 @@ anchor-point.")) (italic nil) (bold nil) (alignment :center) (vertical-alignment :center))) (defdraw text-label (p text font-face font-size italic bold alignment vertical-alignment rgb alpha) (cl-cairo2:set-font-size font-size context) (cl-cairo2:select-font-face font-face - (if italic 'cl-cairo2:font-slant-italic 'cl-cairo2:font-slant-normal) - (if bold 'cl-cairo2:font-weight-bold 'cl-cairo2:font-weight-normal) + (if italic :italic :normal) + (if bold :bold :normal) context) (multiple-value-bind (x-bearing y-bearing text-width text-height) (cl-cairo2:text-extents text context) (let ((pos-x (- (2d:x p) (case alignment (:left x-bearing) (:center (+ x-bearing (/ text-width 2))) (:right (+ x-bearing text-width)) (t (error "unknown alignment ~a. allowed: :left, :center, :right" alignment))))) jo...@perle:~/prg/cells-gtk$ _______________________________________________ cells-gtk-devel site list cells-gtk-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/cells-gtk-devel