--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Cairo__Matrix.st Thu Jul 10 09:30:44 2008 +0000
@@ -0,0 +1,208 @@
+"{ Package: 'stx:goodies/libcairo' }"
+
+"{ NameSpace: Cairo }"
+
+ExternalStructure subclass:#Matrix
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Cairo - C Types'
+!
+
+!Matrix class methodsFor:'accessing'!
+
+libraryName
+
+ OperatingSystem isUNIXlike ifTrue:[^'libcairo.so'].
+
+ OperatingSystem isMSWINDOWSlike ifTrue:[^'cairo.dll'].
+
+ self error:'Library name for host OS is not known'
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!Matrix class methodsFor:'primitives'!
+
+primInit: matrix xx: xx yx: yx xy: xy yy: yy x0: x0 y0: y0
+
+ <cdecl: void "cairo_matrix_init" ( Cairo::Matrix double double double double double double ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primInitIdentity: matrix
+
+ <cdecl: void "cairo_matrix_init_identity" ( Cairo::Matrix ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primInitRotate: matrix radians: radians
+
+ <cdecl: void "cairo_matrix_init_rotate" ( Cairo::Matrix double ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primInitScale: matrix sx: sx sy: sy
+
+ <cdecl: void "cairo_matrix_init_scale" ( Cairo::Matrix double double ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primInitTranslate: matrix tx: tx ty: ty
+
+ <cdecl: void "cairo_matrix_init_translate" ( Cairo::Matrix double double ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primInvert: matrix
+
+ <cdecl: int32 "cairo_matrix_invert" ( Cairo::Matrix ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primMultiply: result a: a b: b
+
+ <cdecl: void "cairo_matrix_multiply" ( Cairo::Matrix Cairo::Matrix Cairo::Matrix ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primRotate: matrix radians: radians
+
+ <cdecl: void "cairo_matrix_rotate" ( Cairo::Matrix double ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primScale: matrix sx: sx sy: sy
+
+ <cdecl: void "cairo_matrix_scale" ( Cairo::Matrix double double ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primTransformDistance: matrix dx: dx dy: dy
+
+ <cdecl: void "cairo_matrix_transform_distance" ( Cairo::Matrix pointer pointer ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primTransformPoint: matrix x: x y: y
+
+ <cdecl: void "cairo_matrix_transform_point" ( Cairo::Matrix pointer pointer ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:12 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primTranslate: matrix tx: tx ty: ty
+
+ <cdecl: void "cairo_matrix_translate" ( Cairo::Matrix double double ) >
+ self primitiveFailed
+
+ "Modified: / 10-07-2008 / 11:04:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!Matrix methodsFor:'accessing - primitives'!
+
+primX0
+
+ self doubleAt:1 + 32
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primX0: value
+
+ self doubleAt:1 + 32 put:value
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primXx
+
+ self doubleAt:1 + 0
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primXx: value
+
+ self doubleAt:1 + 0 put:value
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primXy
+
+ self doubleAt:1 + 16
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primXy: value
+
+ self doubleAt:1 + 16 put:value
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primY0
+
+ self doubleAt:1 + 40
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primY0: value
+
+ self doubleAt:1 + 40 put:value
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primYx
+
+ self doubleAt:1 + 8
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primYx: value
+
+ self doubleAt:1 + 8 put:value
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primYy
+
+ self doubleAt:1 + 24
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+primYy: value
+
+ self doubleAt:1 + 24 put:value
+
+ "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+