[mcclim-cvs] CVS mcclim/Experimental/freetype

tmoore tmoore at common-lisp.net
Wed Mar 15 22:56:55 UTC 2006


Update of /project/mcclim/cvsroot/mcclim/Experimental/freetype
In directory clnet:/tmp/cvs-serv7770/Experimental/freetype

Modified Files:
	freetype-ffi.lisp 
Log Message:
Patches from dtc for Scieneer Common Lisp, and a few other fixes too.

--- /project/mcclim/cvsroot/mcclim/Experimental/freetype/freetype-ffi.lisp	2005/08/22 09:28:34	1.3
+++ /project/mcclim/cvsroot/mcclim/Experimental/freetype/freetype-ffi.lisp	2006/03/15 22:56:55	1.4
@@ -3,7 +3,7 @@
 (DEFPACKAGE :FREETYPE 
   (:USE :cl 
         #+sbcl :sb-alien 
-        #+cmucl :alien #+cmucl :c-call)
+        #+(or cmu scl) :alien #+(or cmu scl) :c-call)
             (:EXPORT "MEMORY-BASE" "DESCENDER" "LINEAR-VERT-ADVANCE" "YX" "XX" "FREE" "AVAILABLE-SIZES" "COVERAGE" "METRICS"
              "RASTER-FLAG" "GLYPH" "GET-CHAR-INDEX" "LIMIT" "STRING" "SHIFT" "LEN" "UNDERLINE-POSITION" "RASTER-NEW-FUNC"
              "POINTS" "TAG" "SIZE-INTERNAL" "NUM-SUBGLYPHS" "UNITS-PER-EM" "LIBRARY" "ALLOC" "OPEN-FACE" "ATTACH-FILE"
@@ -42,9 +42,20 @@
 
 (in-package :freetype)
 
-#+cmucl
+#+cmu
 (alien:load-foreign "/usr/lib/libfreetype.so.6")
 
+#+scl
+(alien:load-dynamic-object #+64bit "/usr/lib64/libfreetype.so.6"
+			   #-64bit "/usr/lib/libfreetype.so.6")
+
+#+(or scl cmu)
+(defmacro define-alien-type (&rest rest)
+  `(def-alien-type , at rest))
+#+(or scl cmu)
+(defmacro define-alien-routine (&rest rest)
+  `(def-alien-routine , at rest))
+
 #+sbcl
 (load-shared-object #+darwin "/usr/X11R6/lib/libfreetype.dylib" #-darwin "libfreetype.so")
 
@@ -373,7 +384,7 @@
   (freetype:driver freetype:module) (freetype:num-params freetype:int) (freetype:params (* freetype:parameter))))
 
 (define-alien-routine ("FT_New_Face" freetype:new-face) freetype:error (freetype:library freetype:library)
- (freetype::filepathname #+cmucl c-call:c-string #+sbcl c-string) (freetype::face_index freetype:long) (freetype::aface (* (* freetype:face-rec))))
+ (freetype::filepathname #+(or cmu scl) c-call:c-string #+sbcl c-string) (freetype::face_index freetype:long) (freetype::aface (* (* freetype:face-rec))))
 
 (define-alien-routine ("FT_New_Memory_Face" freetype:new-memory-face) freetype:error (freetype:library freetype:library)
  (freetype::file_base (* freetype:byte)) (freetype::file_size freetype:long) (freetype::face_index freetype:long)
@@ -403,7 +414,7 @@
 (define-alien-routine ("FT_Load_Char" freetype:load-char) freetype:error (freetype:face freetype:face)
  (freetype::char_code freetype:ulong) (freetype::load_flags freetype:int))
 
-(define-alien-routine ("FT_Set_Transform" freetype:set-transform) #+cmucl c-call:void #+sbcl void (freetype:face freetype:face)
+(define-alien-routine ("FT_Set_Transform" freetype:set-transform) #+(or cmu scl) c-call:void #+sbcl void (freetype:face freetype:face)
  (freetype:matrix (* freetype:matrix)) (freetype:delta (* freetype:vector)))
 
 (define-alien-type freetype:render-mode (enum freetype::render-mode- (:ft-render-mode-normal #.#o0) (:ft-render-mode-mono #.1)))
@@ -437,7 +448,7 @@
 
 (define-alien-routine ("FT_FloorFix" freetype:floor-fix) freetype:fixed (freetype::a freetype:fixed))
 
-(define-alien-routine ("FT_Vector_Transform" freetype:vector-transform) #+cmucl c-call:void #+sbcl void (freetype::vec (* freetype:vector))
+(define-alien-routine ("FT_Vector_Transform" freetype:vector-transform) #+(or cmu scl) c-call:void #+sbcl void (freetype::vec (* freetype:vector))
  (freetype:matrix (* freetype:matrix)))
 
 (define-alien-type freetype:encoding




More information about the Mcclim-cvs mailing list