Cairo__Matrix.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 30 May 2012 20:06:35 +0000
changeset 11 fdc697f4f190
parent 7 392289f92fab
child 12 e5f0c18af8a9
permissions -rw-r--r--
- Cairo::SvgVersion added: #version_SVN - Cairo::Rectangle added: #version_SVN - Cairo::FontFace added: #version_SVN - Cairo::Pattern added: #version_SVN - Cairo::Antialias added: #version_SVN - Cairo::FontExtents added: #version_SVN - Cairo::TextExtents added: #version_SVN - Cairo::HintStyle added: #version_SVN - Cairo::Content added: #version_SVN - Cairo::FontWeight added: #version_SVN - Cairo::Region added: #version_SVN - Cairo::Status added: #version_SVN - Cairo::UserDataKey added: #version_SVN - Cairo::LineCap added: #version_SVN - Cairo::ExternalFunctions added: #primFormatStrideForWidth:width: #version_SVN - Cairo::Extend added: #version_SVN - Cairo::RefCountedStructure added: #version_SVN - Cairo::Cairo::TextClusterFlags added: #version_SVN - Cairo::RectangleInt added: #version_SVN - Cairo::Format added: #version_SVN - Cairo::SubpixelOrder added: #version_SVN - Cairo::Operator added: #version_SVN - Cairo::TextClusterFlags added: #version_SVN - Cairo::ScaledFont added: #version_SVN - Cairo::PathData added: #version_SVN - Cairo::TextCluster added: #version_SVN - Cairo::PathDataType added: #version_SVN - Cairo::RectangleList added: #version_SVN - Cairo::LineJoin added: #version_SVN - Cairo::Surface added: #version_SVN - Cairo::FillRule added: #version_SVN - Cairo::Device added: #version_SVN - Cairo::GLXWorkstation added: #version_SVN - Cairo::SurfaceType added: #version_SVN - Cairo::Path added: #version_SVN - Cairo::PdfVersion added: #version_SVN - Cairo::FontSlant added: #version_SVN - Cairo::PatternType added: #version_SVN - Cairo::RegionOverlap added: #version_SVN - Cairo::Filter added: #version_SVN - Cairo::Matrix added: #version_SVN - Cairo::Glyph added: #version_SVN - Cairo::FontOptions added: #version_SVN - Cairo::FontType added: #version_SVN - Cairo::DeviceType added: #version_SVN - Cairo::GraphicsContext added: #version_SVN - Cairo::HintMetrics added: #version_SVN - stx_goodies_libcairo added: #extensionsVersion_SVN #svnRepositoryUrlString #svnRevisionNr #version_SVN changed: #classNamesAndAttributes #extensionMethodNames #preRequisites - extensions ...

"{ Package: 'stx:goodies/libcairo' }"

"{ NameSpace: Cairo }"

ExternalStructure subclass:#Matrix
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Cairo - Objects'
!


!Matrix class methodsFor:'accessing'!

libraryName

	OperatingSystem isUNIXlike ifTrue:[^'libcairo.so.2'].

	OperatingSystem isMSWINDOWSlike ifTrue:[^'cairo.dll'].

	self error:'Library name for host OS is not known'
!

structSize

	^384
! !

!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-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!

primInitIdentity: matrix 

	<cdecl: void "cairo_matrix_init_identity" ( Cairo::Matrix ) >
	self primitiveFailed

    "Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!

primInitRotate: matrix radians: radians 

	<cdecl: void "cairo_matrix_init_rotate" ( Cairo::Matrix double ) >
	self primitiveFailed

    "Modified: / 10-09-2008 / 18:19:54 / 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-09-2008 / 18:19:55 / 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-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!

primInvert: matrix 

	<cdecl: int32 "cairo_matrix_invert" ( Cairo::Matrix ) >
	self primitiveFailed

    "Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!

primMatrixInit: 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
!

primMatrixInitIdentity: matrix 

	<cdecl: void "cairo_matrix_init_identity" ( Cairo::Matrix ) >
	self primitiveFailed
!

primMatrixInitRotate: matrix radians: radians 

	<cdecl: void "cairo_matrix_init_rotate" ( Cairo::Matrix double ) >
	self primitiveFailed
!

primMatrixInitScale: matrix sx: sx sy: sy 

	<cdecl: void "cairo_matrix_init_scale" ( Cairo::Matrix double double ) >
	self primitiveFailed
!

primMatrixInitTranslate: matrix tx: tx ty: ty 

	<cdecl: void "cairo_matrix_init_translate" ( Cairo::Matrix double double ) >
	self primitiveFailed
!

primMatrixInvert: matrix 

	<cdecl: int32 "cairo_matrix_invert" ( Cairo::Matrix ) >
	self primitiveFailed
!

primMatrixMultiply: result a: a b: b 

	<cdecl: void "cairo_matrix_multiply" ( Cairo::Matrix Cairo::Matrix Cairo::Matrix ) >
	self primitiveFailed
!

primMatrixRotate: matrix radians: radians 

	<cdecl: void "cairo_matrix_rotate" ( Cairo::Matrix double ) >
	self primitiveFailed
!

primMatrixScale: matrix sx: sx sy: sy 

	<cdecl: void "cairo_matrix_scale" ( Cairo::Matrix double double ) >
	self primitiveFailed
!

primMatrixTransformDistance: matrix dx: dx dy: dy 

	<cdecl: void "cairo_matrix_transform_distance" ( Cairo::Matrix doublePointer doublePointer ) >
	self primitiveFailed
!

primMatrixTransformPoint: matrix x: x y: y 

	<cdecl: void "cairo_matrix_transform_point" ( Cairo::Matrix doublePointer doublePointer ) >
	self primitiveFailed
!

primMatrixTranslate: matrix tx: tx ty: ty 

	<cdecl: void "cairo_matrix_translate" ( Cairo::Matrix double double ) >
	self primitiveFailed
!

primMultiply: result a: a b: b 

	<cdecl: void "cairo_matrix_multiply" ( Cairo::Matrix Cairo::Matrix Cairo::Matrix ) >
	self primitiveFailed

    "Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!

primRotate: matrix radians: radians 

	<cdecl: void "cairo_matrix_rotate" ( Cairo::Matrix double ) >
	self primitiveFailed

    "Modified: / 10-09-2008 / 18:19:54 / 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-09-2008 / 18:19:54 / 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-09-2008 / 18:19:54 / 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-09-2008 / 18:19:55 / 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-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!Matrix methodsFor:'accessing'!

x0

	^self doubleAt:1 + 32
!

x0: value

	self doubleAt:1 + 32 put:value
!

xx

	^self doubleAt:1 + 0
!

xx: value

	self doubleAt:1 + 0 put:value
!

xy

	^self doubleAt:1 + 16
!

xy: value

	self doubleAt:1 + 16 put:value
!

y0

	^self doubleAt:1 + 40
!

y0: value

	self doubleAt:1 + 40 put:value
!

yx

	^self doubleAt:1 + 8
!

yx: value

	self doubleAt:1 + 8 put:value
!

yy

	^self doubleAt:1 + 24
!

yy: value

	self doubleAt:1 + 24 put:value
! !

!Matrix class methodsFor:'documentation'!

version
    ^'$Id$'
!

version_SVN
    ^ '$Id::                                                                                                                        $'
! !