diff -r 07ce2b301015 -r 2439fb18f3dc Cairo__Matrix.st --- /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 " +! ! + +!Matrix class methodsFor:'primitives'! + +primInit: matrix xx: xx yx: yx xy: xy yy: yy x0: x0 y0: y0 + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany " +! + +primInitIdentity: matrix + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany " +! + +primInitRotate: matrix radians: radians + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:14 / Jan Vrany " +! + +primInitScale: matrix sx: sx sy: sy + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:14 / Jan Vrany " +! + +primInitTranslate: matrix tx: tx ty: ty + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:16 / Jan Vrany " +! + +primInvert: matrix + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany " +! + +primMultiply: result a: a b: b + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany " +! + +primRotate: matrix radians: radians + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany " +! + +primScale: matrix sx: sx sy: sy + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:13 / Jan Vrany " +! + +primTransformDistance: matrix dx: dx dy: dy + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:16 / Jan Vrany " +! + +primTransformPoint: matrix x: x y: y + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:12 / Jan Vrany " +! + +primTranslate: matrix tx: tx ty: ty + + + self primitiveFailed + + "Modified: / 10-07-2008 / 11:04:15 / Jan Vrany " +! ! + +!Matrix methodsFor:'accessing - primitives'! + +primX0 + + self doubleAt:1 + 32 + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primX0: value + + self doubleAt:1 + 32 put:value + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primXx + + self doubleAt:1 + 0 + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primXx: value + + self doubleAt:1 + 0 put:value + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primXy + + self doubleAt:1 + 16 + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primXy: value + + self doubleAt:1 + 16 put:value + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primY0 + + self doubleAt:1 + 40 + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primY0: value + + self doubleAt:1 + 40 put:value + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primYx + + self doubleAt:1 + 8 + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primYx: value + + self doubleAt:1 + 8 put:value + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primYy + + self doubleAt:1 + 24 + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! + +primYy: value + + self doubleAt:1 + 24 put:value + + "Modified: / 10-07-2008 / 11:04:10 / Jan Vrany " +! ! +