stx_goodies_libcairo.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 30 May 2012 20:06:35 +0000
changeset 11 fdc697f4f190
parent 10 dd5fece7c8d2
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' }"

LibraryDefinition subclass:#stx_goodies_libcairo
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'* Projects & Packages *'
!


!stx_goodies_libcairo class methodsFor:'description'!

postLoadAction

    "
        stx_goodies_libcairo postLoadAction
    "

    super postLoadAction.
    OperatingSystem isUNIXlike 
        ifTrue:
            [ExternalLibraryFunction dllPath:
                (ExternalLibraryFunction dllPath asOrderedCollection
                    add:'/usr/lib';
                    add:'/usr/local/lib';
                    yourself)].

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

preLoadAction

    "
        stx_goodies_libcairo preLoadAction
    "

    super preLoadAction.
    NameSpace name:#Cairo

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

preRequisites
    "list all required packages.
     This list can be maintained manually or (better) generated and
     updated by scanning the superclass hierarchies and looking for
     global variable accesses. (the browser has a menu function for that)
     Howevery, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPrerequisites method."

    ^ #(
        #'stx:libbasic'    "ArrayedCollection - superclass of Cairo::GraphicsContext "
        #'stx:libview'    "DeviceWorkstation - superclass of Cairo::GLXWorkstation "
    )
! !

!stx_goodies_libcairo class methodsFor:'description - contents'!

classNamesAndAttributes
    "lists the classes which are to be included in the project.
     Each entry in the list may be: a single class-name (symbol),
     or an array-literal consisting of class name and attributes.
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."

    ^ #(
        "<className> or (<className> attributes...) in load order"
        #'Cairo::Antialias'
        #'Cairo::Content'
        #'Cairo::Extend'
        #'Cairo::FillRule'
        #'Cairo::Filter'
        #'Cairo::FontExtents'
        #'Cairo::FontOptions'
        #'Cairo::FontSlant'
        #'Cairo::FontType'
        #'Cairo::FontWeight'
        #'Cairo::Format'
        #'Cairo::GLXWorkstation'
        #'Cairo::Glyph'
        #'Cairo::HintMetrics'
        #'Cairo::HintStyle'
        #'Cairo::LineCap'
        #'Cairo::LineJoin'
        #'Cairo::Matrix'
        #'Cairo::Operator'
        #'Cairo::Path'
        #'Cairo::PathData'
        #'Cairo::PathDataType'
        #'Cairo::PatternType'
        #'Cairo::Rectangle'
        #'Cairo::RectangleList'
        #'Cairo::RefCountedStructure'
        #'Cairo::Status'
        #'Cairo::SubpixelOrder'
        #'Cairo::SurfaceType'
        #'Cairo::SvgVersion'
        #'Cairo::TextExtents'
        #'Cairo::UserDataKey'
        #'stx_goodies_libcairo'
        #'Cairo::FontFace'
        #'Cairo::GraphicsContext'
        #'Cairo::Pattern'
        #'Cairo::ScaledFont'
        #'Cairo::Surface'
        #'Cairo::Cairo::TextClusterFlags'
        #'Cairo::Device'
        #'Cairo::DeviceType'
        #'Cairo::ExternalFunctions'
        #'Cairo::PdfVersion'
        #'Cairo::RectangleInt'
        #'Cairo::Region'
        #'Cairo::RegionOverlap'
        #'Cairo::TextCluster'
        #'Cairo::TextClusterFlags'
    )
!

extensionMethodNames
    "lists the extension methods which are to be included in the project.
     Entries are 2-element array literals, consisting of class-name and selector."

    ^ #(
        DeviceGraphicsContext drawableId
        GraphicsDevice cairoSurfaceFor:
        GraphicsDevice displayId
        SimpleView cairo
        SimpleView cairoSurface
        XWorkstation cairoSurfaceFor:
        XWorkstation visualStructure
        'Cairo class' libraryName
        'Cairo class' primDebugResetStaticData
        'Cairo class' primFormatStrideForWidth:width:
        'Cairo class' primStatusToString:
        'Cairo class' primVersion
        'Cairo class' primVersionString
        'Cairo class' statusToString:
        'Cairo class' version
        'Cairo class' versionString
    )
! !

!stx_goodies_libcairo class methodsFor:'description - project information'!

companyName
    "Return a companyname which will appear in <lib>.rc"

    ^ 'CTU FEI'

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

description
    "Return a description string which will appear in vc.def / bc.def"

    ^ 'Cairo bindings (http://www.cairographics.org)'

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

legalCopyright
    "Return a copyright string which will appear in <lib>.rc"

    ^ 'Copyright Jan Vrany 2008'

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

productName
    "Return a product name which will appear in <lib>.rc"

    ^ 'Cairo'

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

!stx_goodies_libcairo class methodsFor:'description - svn'!

svnRepositoryUrlString
    "Return a SVN repository URL of myself.
     (Generated since 2011-04-08)
     Do not make the string shorter!!!!!! We have to use fixed-length keyword!!!!!!
    "        

    ^ '$URL::                                                                                                                        $'
!

svnRevisionNr
    "Return a SVN revision number of myself.
     This number is updated after a commit"

    ^ "$SVN-Revision:"'nil             '"$"
! !

!stx_goodies_libcairo class methodsFor:'documentation'!

version
    ^'$Id$'
!

version_SVN
    ^ '$Id::                                                                                                                        $'
! !