extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sun, 21 Sep 2014 00:44:10 +0100
changeset 20 18a3e6b5f310
parent 16 a810555a635c
child 21 34bf952f3f60
permissions -rw-r--r--
Added const modifier to FFI specs (required by recent STX)

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

!Cairo::GraphicsContext class methodsFor:'x-accessing'!

libraryName

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

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

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

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

!Cairo::GraphicsContext class methodsFor:'x-primitives'!

primDebugResetStaticData

	<cdecl: const void "cairo_debug_reset_static_data" ( ) >
	self primitiveFailed

    "Created: / 10-09-2008 / 19:08:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!Cairo::GraphicsContext class methodsFor:'x-primitives'!

primFormatStrideForWidth: format width: width

	<cdecl: const int32 "cairo_format_stride_for_width" ( int32 int32 ) >
	self primitiveFailed

    "Created: / 10-09-2008 / 19:08:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!Cairo::GraphicsContext class methodsFor:'x-primitives'!

primStatusToString: status

	<cdecl: const charPointer "cairo_status_to_string" ( int32 ) >
	self primitiveFailed

    "Created: / 10-09-2008 / 19:08:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!Cairo::GraphicsContext class methodsFor:'x-primitives'!

primVersion

	<cdecl: const int32 "cairo_version" ( ) >
	self primitiveFailed

    "Created: / 10-09-2008 / 19:08:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!Cairo::GraphicsContext class methodsFor:'x-primitives'!

primVersionString

	<cdecl: const charPointer "cairo_version_string" ( ) >
	self primitiveFailed

    "Created: / 10-09-2008 / 19:08:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!Cairo::GraphicsContext class methodsFor:'x-accessing'!

statusToString: status

    ^self primStatusToString: status

    "Created: / 10-09-2008 / 19:33:31 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!Cairo::GraphicsContext class methodsFor:'x-accessing'!

version

    ^self primVersion

    "Created: / 10-09-2008 / 19:32:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!Cairo::GraphicsContext class methodsFor:'x-accessing'!

versionString

    ^self primVersionString

    "Created: / 10-09-2008 / 19:32:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!DeviceGraphicsContext methodsFor:'cairo support'!

drawableId

    ^drawableId

    "Created: / 10-07-2008 / 10:20:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!GraphicsDevice methodsFor:'cairo support'!

cairoSurfaceFor: view

    self error:'Graphics device not supported'

    "Created: / 10-07-2008 / 10:16:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!GraphicsDevice methodsFor:'accessing'!

displayId
    ^ displayId

    "Created: / 04-07-2008 / 12:58:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!SimpleView methodsFor:'cairo support'!

cairo
    ^ Cairo::GraphicsContext on:self cairoSurface

    "Created: / 10-09-2008 / 18:23:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!SimpleView methodsFor:'cairo support'!

cairoSurface

    ^Cairo::Surface forView: self

    "Created: / 10-07-2008 / 19:39:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!XWorkstation methodsFor:'cairo support'!

cairoSurfaceFor: view

    | surface |
    surface := Cairo::Surface
                forXlib: displayId
                drawable: view drawableId address
                visual: self defaultVisual
                width: view width
                height: view height.
    surface setView: view.
    "/view addDependent: surface.
    ^surface

    "Created: / 10-07-2008 / 10:16:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
    "Modified: / 09-09-2008 / 22:57:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
    "Modified: / 17-06-2012 / 15:05:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_goodies_libcairo class methodsFor:'documentation'!

extensionsVersion_SVN
    ^ '$Id::                                                                                                                        $'
! !