Initial commit.
"{ 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>"
! !