Cairo__Matrix.st
changeset 1 2439fb18f3dc
child 3 f4f599f2a1b5
--- /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>"
+! !
+