<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>README.mac</filename>
    </added>
    <added>
      <filename>TODO</filename>
    </added>
    <added>
      <filename>cl-cairo2-mac-swig.lisp</filename>
    </added>
    <added>
      <filename>cl-cairo2-mac.asd</filename>
    </added>
    <added>
      <filename>cl-cairo2-mac.i</filename>
    </added>
    <added>
      <filename>cl-cairo2-win-swig.lisp</filename>
    </added>
    <added>
      <filename>libraries-x11.lisp</filename>
    </added>
    <added>
      <filename>my-double.lisp</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,14 +1,21 @@
+ifndef CAIRO_INCLUDE_DIR
 CAIRO_INCLUDE_DIR=/usr/include/cairo
+endif
+
 CAIRO_INCLUDE_FILES=$(wildcard $(CAIRO_INCLUDE_DIR)/*.h)
 
 cl-cairo2-swig.lisp: cl-cairo2.i common.i $(CAIRO_INCLUDE_FILES)
-	swig -cffi cl-cairo2.i
+	swig -cffi -I$(CAIRO_INCLUDE_DIR) -DCOMMON cl-cairo2.i
 
 cl-cairo2-x11-swig.lisp: cl-cairo2-x11.i common.i $(CAIRO_INCLUDE_FILES)
-	swig -cffi cl-cairo2-x11.i
+	swig -cffi -I$(CAIRO_INCLUDE_DIR) cl-cairo2-x11.i
+
+cl-cairo2-mac-swig.lisp: cl-cairo2-mac.i common.i $(CAIRO_INCLUDE_FILES)
+	swig -cffi -I$(CAIRO_INCLUDE_DIR) cl-cairo2-mac.i
 
 cl-cairo2-win-swig.lisp: cl-cairo2-win.i common.i $(CAIRO_INCLUDE_FILES)
-	swig -cffi cl-cairo2-win.i
+	swig -cffi -I$(CAIRO_INCLUDE_DIR) cl-cairo2-win.i
+	sed 's/^M//' $@ &gt;$@.tmp; mv -f $@.tmp $@
 
 # test-swig.lisp: test.i
 # 	swig -cffi -generate-typedef test.i</diff>
      <filename>Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,28 +1,17 @@
 Tested Environments
 ===================
 
-Windows XP+SP3/Vista+SP1: SBCL-1.0.13, cairo-1.6.4, libpng-1.2.29, zlib-1.2.3
+Windows XP+SP3/Vista+SP1: SBCL_1.0.13, libcairo-2_1.6.4, libpng_1.2.29, zlib_1.2.3
 
-Notes About SWIG Used to Generate cl-cairo2-swig-win.lisp
-=========================================================
 
-Cairo version: 1.6.4
-Swig version:  1.3.33
-Swig command:  swig -cffi -Ipath-to-Windows-headers cl-cairo2-win.i
+Libcairo-2.dll
+==============
 
-Used slightly modified cairo-feature.h (undef CAIRO_HAS_FT_FONT, etc.)
+Build from the 1.6.4 release snapshot on the MinGW system.
 
 
-Notes About Libcairo for Windows and Mac
-========================================
+Swig Used to Generate cl-cairo2-win-swig.lisp
+=============================================
 
-libcairo-2.dll for Windows
-Build from the 1.6.4 release snapshot using MinGW
-
-libcairo.dylib for Mac
-Build from the 1.6.4 release snapshot with the following option enabled at
-./configure time:
-  --enable-quartz-image
-
-The latest MacPorts build of libcairo (1.6.4 at this time) has an issue with
-cl-cairo2 (e.g. cairo_show_text returns STATUS_NO_MEMORY).
+version: 1.3.36
+A build from the platform-independent source on the MinGW system, not Swigwin.</diff>
      <filename>README.win</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
 (in-package :cl-cairo2)
 
+;; is this really needed? OS should set this up properly
 #+darwin (pushnew &quot;/usr/local/lib/&quot; *foreign-library-directories*)
 #+darwin (pushnew &quot;/opt/local/lib/&quot; *foreign-library-directories*)
 </diff>
      <filename>cairo.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -93,16 +93,8 @@
 
 (cl:defconstant CAIRO_HAS_PS_SURFACE 1)
 
-(cl:defconstant CAIRO_HAS_FT_FONT 1)
-
 (cl:defconstant CAIRO_HAS_PNG_FUNCTIONS 1)
 
-(cl:defconstant CAIRO_HAS_XCB_SURFACE 1)
-
-(cl:defconstant CAIRO_HAS_XLIB_XRENDER_SURFACE 1)
-
-(cl:defconstant CAIRO_HAS_XLIB_SURFACE 1)
-
 (cl:defconstant CAIRO_FORMAT_RGB16_565 4)
 
 (cffi:defcfun (&quot;cairo_version&quot; cairo_version) :int)
@@ -1216,23 +1208,6 @@
 
 (cffi:defcfun (&quot;cairo_debug_reset_static_data&quot; cairo_debug_reset_static_data) :void)
 
-(cffi:defcfun (&quot;cairo_ft_font_face_create_for_pattern&quot; cairo_ft_font_face_create_for_pattern) :pointer
-  (pattern :pointer))
-
-(cffi:defcfun (&quot;cairo_ft_font_options_substitute&quot; cairo_ft_font_options_substitute) :void
-  (options :pointer)
-  (pattern :pointer))
-
-(cffi:defcfun (&quot;cairo_ft_font_face_create_for_ft_face&quot; cairo_ft_font_face_create_for_ft_face) :pointer
-  (face :pointer)
-  (load_flags :int))
-
-(cffi:defcfun (&quot;cairo_ft_scaled_font_lock_face&quot; cairo_ft_scaled_font_lock_face) :pointer
-  (scaled_font :pointer))
-
-(cffi:defcfun (&quot;cairo_ft_scaled_font_unlock_face&quot; cairo_ft_scaled_font_unlock_face) :void
-  (scaled_font :pointer))
-
 (cffi:defcenum cairo_ps_level_t
 	:CAIRO_PS_LEVEL_2
 	:CAIRO_PS_LEVEL_3)</diff>
      <filename>cl-cairo2-swig.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,13 +1,14 @@
+;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
 (defpackage #:cl-cairo2-win-asd
-  (:use :cl :asdf))
+  (:use :cl :asdf :cl-cairo2))
 
 (in-package #:cl-cairo2-win-asd)
 
 (defsystem cl-cairo2-win
   :description &quot;Cairo 1.6 bindings, MS-Windows extension&quot;
   :version &quot;0.1&quot;
-  :author &quot;Kei Suzuki&quot;
+  :author &quot;Tamas K Papp, Kei Suzuki&quot;
   :license &quot;GPL&quot;
-  :components ((:file &quot;package-win&quot;)
+  :components ((:file &quot;cl-cairo2-win-swig&quot;)
 	       (:file &quot;win32&quot; :depends-on (&quot;package-win&quot;)))
   :depends-on (:cl-cairo2))</diff>
      <filename>cl-cairo2-win.asd</filename>
    </modified>
    <modified>
      <diff>@@ -2,5 +2,5 @@
 
 %include &quot;common.i&quot;
 
-%include /usr/include/cairo/cairo-features.h
-%include /usr/include/cairo/cairo-win.h
+%include &quot;cairo-features.h&quot;
+%include &quot;cairo-win32.h&quot;</diff>
      <filename>cl-cairo2-win.i</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-
 (in-package :cl-cairo2)
 
 ;; define our own alias for double float, so we can automatically</diff>
      <filename>cl-cairo2-x11-swig.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -8,8 +8,10 @@
   :version &quot;0.1&quot;
   :author &quot;Tamas K Papp&quot;
   :license &quot;GPL&quot;
-  :components ((:file &quot;package-x11&quot;)
-	       (:file &quot;xlib&quot; :depends-on (&quot;package-x11&quot;))
+  :serial t
+  :components ((:file &quot;cl-cairo2-x11-swig&quot;)
+	       (:file &quot;libraries-x11&quot; :depends-on (&quot;cl-cairo2-x11-swig&quot;))
+	       (:file &quot;xlib&quot; :depends-on (&quot;libraries-x11&quot;))
 	       (:file &quot;xlib-image-context&quot; :depends-on (&quot;xlib&quot;))
-	       (:file &quot;gtk-context&quot; :depends-on (&quot;package-x11&quot;)))
+	       (:file &quot;gtk-context&quot; :depends-on (&quot;libraries-x11&quot;)))
   :depends-on (:cl-cairo2))</diff>
      <filename>cl-cairo2-x11.asd</filename>
    </modified>
    <modified>
      <diff>@@ -2,5 +2,5 @@
 
 %include &quot;common.i&quot;
 
-%include /usr/include/cairo/cairo-features.h
-%include /usr/include/cairo/cairo-xlib-xrender.h
+%include &quot;cairo-features.h&quot;
+%include &quot;cairo-xlib-xrender.h&quot;</diff>
      <filename>cl-cairo2-x11.i</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
 (defpackage #:cl-cairo2-asd
   (:use :cl :asdf))
 
@@ -11,7 +10,8 @@
   :license &quot;GPL&quot;
   :components ((:file &quot;package&quot;)
                (:file &quot;cairo&quot; :depends-on (&quot;package&quot;))
-  	       (:file &quot;cl-cairo2-swig&quot; :depends-on (&quot;cairo&quot;))
+	       (:file &quot;my-double&quot; :depends-on (&quot;package&quot;))
+  	       (:file &quot;cl-cairo2-swig&quot; :depends-on (&quot;cairo&quot; &quot;my-double&quot;))
                (:file &quot;tables&quot; :depends-on (&quot;cl-cairo2-swig&quot;))
                (:file &quot;surface&quot; :depends-on (&quot;cairo&quot; &quot;tables&quot; &quot;cl-cairo2-swig&quot;))
                (:file &quot;context&quot; :depends-on (&quot;surface&quot; &quot;tables&quot; &quot;cl-cairo2-swig&quot;))
@@ -21,4 +21,5 @@
                (:file &quot;path&quot; :depends-on (&quot;context&quot;))
                (:file &quot;text&quot; :depends-on (&quot;context&quot;))
                (:file &quot;transformations&quot; :depends-on (&quot;context&quot;)))
-  :depends-on (:cffi :cl-colors :cl-utilities :trivial-garbage))
+  :depends-on (:cffi :cl-colors :cl-utilities :trivial-garbage
+		     :trivial-features))</diff>
      <filename>cl-cairo2.asd</filename>
    </modified>
    <modified>
      <diff>@@ -2,10 +2,10 @@
 
 %include &quot;common.i&quot;
 
-%include /usr/include/cairo/cairo-features.h
-%include /usr/include/cairo/cairo-deprecated.h
-%include /usr/include/cairo/cairo.h
-%include /usr/include/cairo/cairo-ft.h
-%include /usr/include/cairo/cairo-ps.h
-%include /usr/include/cairo/cairo-pdf.h
-%include /usr/include/cairo/cairo-svg.h
+%include &quot;cairo-features.h&quot;
+%include &quot;cairo-deprecated.h&quot;
+%include &quot;cairo.h&quot;
+%include &quot;cairo-ft.h&quot;
+%include &quot;cairo-ps.h&quot;
+%include &quot;cairo-pdf.h&quot;
+%include &quot;cairo-svg.h&quot;</diff>
      <filename>cl-cairo2.i</filename>
    </modified>
    <modified>
      <diff>@@ -3,19 +3,11 @@
 
 %typemap(cin) double &quot;my-double&quot;;
 
+
+
 %insert(&quot;lisphead&quot;) %{
 (in-package :cl-cairo2)
 
-;; define our own alias for double float, so we can automatically
-;; convert other numerical types in the arguments
-(define-foreign-type my-double-type ()
-  ()
-  (:actual-type :double)
-  (:simple-parser my-double))
-                                                                              
-(defmethod translate-to-foreign (value (type my-double-type))
-  (coerce value 'double-float))
-
 ;; typedefs: we don't want to create all of them automatically,
 ;; because typedefs for structures confuse with-foreign-slots
 ;; the ones we don't want are commented out</diff>
      <filename>common.i</filename>
    </modified>
    <modified>
      <diff>@@ -4,13 +4,6 @@
 ;; library functions to create a gdk-surface 
 ;; written by Peter Hildebrandt &lt;peter.hildebrandt@washbear-network.de&gt;
 
-(define-foreign-library :gdk
-  ;; 'darwin' comes before 'unix' because Mac OS X defines them both.
-  (cffi-features:darwin		&quot;libgdk-x11-2.0.dylib&quot;)
-  (cffi-features:unix		&quot;libgdk-x11-2.0.so&quot;)
-  (cffi-features:windows	&quot;libgdk-win32-2.0-0.dll&quot;))
-
-(load-foreign-library :gdk)
 (defcfun (&quot;gdk_cairo_create&quot; gdk-cairo-create) :pointer (window :pointer))
 
 (defclass gtk-context (context)
@@ -39,3 +32,6 @@ to the expose event handler.&quot;
        (with-context (,context ,context-pointer)
          ,@body)
        (destroy ,context))))
+
+;; export manually
+(export '(xlib-image-context create-xlib-image-context))</diff>
      <filename>gtk-context.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 (in-package #:cl-cairo2-win-asd)
 
 (defpackage cl-cairo2-win
-  (:use :common-lisp :cl-cairo2 :cl-utilities)
+  (:use :common-lisp :cffi :cl-colors :cl-utilities :cl-cairo2)
   (:export
 
    ;; win32</diff>
      <filename>package-win.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -39,8 +39,18 @@
 \newlabel{sec:transformations}{{4.6}{6}{Transformations\relax }{subsection.4.6}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.7}Xlib Contexts}{6}{subsection.4.7}}
 \newlabel{sec:xlib-context}{{4.7}{6}{Xlib Contexts\relax }{subsection.4.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.8}To Do}{7}{subsection.4.8}}
-\newlabel{sec:todo}{{4.8}{7}{To Do\relax }{subsection.4.8}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5}Examples}{7}{section.5}}
-\newlabel{sec:examples}{{5}{7}{Examples\relax }{section.5}{}}
-\@writefile{lol}{\contentsline {lstlisting}{example.lisp}{7}{lstlisting.-8}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.8}MS-Windows contexts}{7}{subsection.4.8}}
+\newlabel{sec:ms-windows-contexts}{{4.8}{7}{MS-Windows contexts\relax }{subsection.4.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.9}To Do}{7}{subsection.4.9}}
+\newlabel{sec:todo}{{4.9}{7}{To Do\relax }{subsection.4.9}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5}Examples}{8}{section.5}}
+\newlabel{sec:examples}{{5}{8}{Examples\relax }{section.5}{}}
+\@writefile{lol}{\contentsline {lstlisting}{example.lisp}{8}{lstlisting.-8}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces text.ps}}{15}{figure.2}}
+\newlabel{fig:text}{{2}{15}{text.ps\relax }{figure.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces lissajous.ps}}{16}{figure.3}}
+\newlabel{fig:lissajous}{{3}{16}{lissajous.ps\relax }{figure.3}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces hearts.png}}{16}{figure.4}}
+\newlabel{fig:hearts}{{4}{16}{hearts.png\relax }{figure.4}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces pattern.ps}}{17}{figure.5}}
+\newlabel{fig:pattern}{{5}{17}{pattern.ps\relax }{figure.5}{}}</diff>
      <filename>tutorial/tutorial.aux</filename>
    </modified>
    <modified>
      <diff>@@ -98,3 +98,12 @@
 
 (defun win32-get-device-to-logical-scaled-font (scaled-font device-to-logical)
   (cairo_win32_scaled_font_get_device_to_logical scaled-font device-to-logical))
+
+;; export manually
+(export '(win32-create-surface win32-get-surface-dc win32-get-surface-image
+	  with-win32-context win32-create-font-face-for-logfontw
+	  win32-create-font-face-for-hfont
+	  #|win32-create-font-face-for-logfontw-hfont|#
+	  win32-select-font-scaled-font win32-done-font-scaled-font
+	  win32-get-metrics-factor-scaled-font
+	  win32-get-device-to-logical-scaled-font))</diff>
      <filename>win32.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -211,3 +211,5 @@ background-color is not nil, the window will be painted with it.&quot;
 (defmethod destroy ((object xlib-image-context))
   (send-message-to-signal-window object +destroy-message+))
 
+;; export manually
+(export '(xlib-image-context create-xlib-image-context))</diff>
      <filename>xlib-image-context.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -4,14 +4,6 @@
 ;;;; a limited interface to certain Xlib functions
 ;;;;
 
-#+darwin (pushnew &quot;/usr/X11/lib/&quot; *foreign-library-directories*)
-
-(define-foreign-library :libX11
-  (cffi-features:darwin &quot;libX11.dylib&quot;)
-  (cffi-features:unix &quot;libX11.so&quot;))
-
-(load-foreign-library :libX11)
-
 ;;;; types
 
 (defctype display :pointer)</diff>
      <filename>xlib.lisp</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>package-x11.lisp</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>6facecfa7056c30318f0d2424b7bdf8a78411671</id>
    </parent>
  </parents>
  <author>
    <name>Tamas K Papp</name>
    <email>tpapp@princeton.edu</email>
  </author>
  <url>http://github.com/tpapp/cl-cairo2/commit/f83ae039ca2990f0000c767477f100e906527085</url>
  <id>f83ae039ca2990f0000c767477f100e906527085</id>
  <committed-date>2008-08-10T09:26:43-07:00</committed-date>
  <authored-date>2008-08-10T09:26:43-07:00</authored-date>
  <message>Reorganization of GUI-dependent code into X11, Mac and Win32 specific
parts.  Incorporated a lot of changes by Kei Suzuzi.</message>
  <tree>0989924d51c3a378ab01d766845ad4d0301c5f5e</tree>
  <committer>
    <name>Tamas K Papp</name>
    <email>tpapp@princeton.edu</email>
  </committer>
</commit>
