stx_goodies_libcairo.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 13 Feb 2016 17:10:25 +0000
changeset 36 9b680e54aa94
parent 35 395689a88b32
child 37 5b0ad652d45f
permissions -rw-r--r--
Take a step back: separate Cairo's GraphicsContext (cairo_t) and Smalltalk/X's graphics context ...into two separate classes for cleaner responsibilities. Also, API of Smalltalk/X graphics contexts does not play well with Cairo's save/restore semantics.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/libcairo' }"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
35
395689a88b32 Make Cairo::GraphicsContext to inherit from DeviceGraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
     3
"{ NameSpace: Smalltalk }"
395689a88b32 Make Cairo::GraphicsContext to inherit from DeviceGraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
     4
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
LibraryDefinition subclass:#stx_goodies_libcairo
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'* Projects & Packages *'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    12
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!stx_goodies_libcairo class methodsFor:'description'!
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
30
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    15
excludedFromPreRequisites
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    16
    "list packages which are to be explicitely excluded from the automatic constructed
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    17
     prerequisites list. If empty, everything that is found along the inheritance of any of
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    18
     my classes is considered to be a prerequisite package."
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    19
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    20
    ^ #(
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    21
    )
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    22
!
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    23
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    24
mandatoryPreRequisites
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    25
    "list packages which are mandatory as a prerequisite.
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    26
     This are packages containing superclasses of my classes and classes which
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    27
     are extended by myself.
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    28
     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    29
     This method is generated automatically,
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    30
     by searching along the inheritance chain of all of my classes."
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    31
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    32
    ^ #(
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    33
        #'stx:libbasic'    "ArrayedCollection - superclass of Cairo::FontExtents"
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    34
        #'stx:libview'    "DeviceGraphicsContext - extended"
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    35
    )
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    36
!
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    37
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    38
postLoadAction
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    39
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    40
    "
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    41
        stx_goodies_libcairo postLoadAction
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    42
    "
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    43
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    44
    super postLoadAction.
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    45
    OperatingSystem isUNIXlike 
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    46
        ifTrue:
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    47
            [ExternalLibraryFunction dllPath:    
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    48
                (ExternalLibraryFunction dllPath asOrderedCollection
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    49
                    add:'/usr/lib/i386-linux-gnu';
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    50
                    add:'/usr/lib';
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    51
                    add:'/usr/local/lib';
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    52
                    yourself)].
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    53
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    54
    "Created: / 10-09-2008 / 18:30:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    55
    "Modified: / 21-09-2014 / 01:01:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    56
!
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    57
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    58
preLoadAction
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    59
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    60
    "
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    61
        stx_goodies_libcairo preLoadAction
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    62
    "
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    63
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    64
    super preLoadAction.
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    65
    NameSpace name:#Cairo
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    66
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    67
    "Created: / 10-09-2008 / 19:16:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    68
!
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    69
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
preRequisites
13
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    71
    "list all required packages.
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    72
     This list can be maintained manually or (better) generated and
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    73
     updated by scanning the superclass hierarchies and looking for
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    74
     global variable accesses. (the browser has a menu function for that)
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    75
     Howevery, often too much is found, and you may want to explicitely
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    76
     exclude individual packages in the #excludedFromPrerequisites method."
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    77
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    ^ #(
18
fae6edf1bdbd - Cairo::TextExampleView
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    79
        #'stx:libbasic'    "ProjectDefinition - superclass of stx_goodies_libcairo "
fae6edf1bdbd - Cairo::TextExampleView
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    80
        #'stx:libview'    "GLXWorkstation - superclass of Cairo::GLXWorkstation "
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    )
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    82
!
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    83
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    84
referencedPreRequisites
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    85
    "list packages which are a prerequisite, because they contain
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    86
     classes which are referenced by my classes.
35
395689a88b32 Make Cairo::GraphicsContext to inherit from DeviceGraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    87
     We do not need these packages as a prerequisite for compiling or loading,
395689a88b32 Make Cairo::GraphicsContext to inherit from DeviceGraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    88
     however, a class from it may be referenced during execution and having it
395689a88b32 Make Cairo::GraphicsContext to inherit from DeviceGraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    89
     unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
395689a88b32 Make Cairo::GraphicsContext to inherit from DeviceGraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    90
     includes explicit checks for the package being present.
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    91
     This method is generated automatically,
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    92
     by searching all classes (and their packages) which are referenced by my classes."
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    93
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    94
    ^ #(
31
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    95
        #'stx:libview2'    "PluggableView - referenced by Image>>inspector2TabImageCairo"
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    96
        #'stx:libwidg'    "HVScrollableView - referenced by Image>>inspector2TabImageCairo"
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    97
    )
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    98
!
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    99
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   100
subProjects
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   101
    "list packages which are known as subprojects. 
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   102
     The generated makefile will enter those and make there as well.
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   103
     However: they are not forced to be loaded when a package is loaded; 
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   104
     for those, redefine requiredPrerequisites."
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   105
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   106
    ^ #(
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   107
    )
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
! !
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
!stx_goodies_libcairo class methodsFor:'description - contents'!
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
classNamesAndAttributes
13
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   113
    "lists the classes which are to be included in the project.
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   114
     Each entry in the list may be: a single class-name (symbol),
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   115
     or an array-literal consisting of class name and attributes.
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   116
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   117
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
    ^ #(
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
        "<className> or (<className> attributes...) in load order"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
        #'Cairo::Antialias'
30
c8fe298c8cc7 GraphicsContext refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   121
        #'Cairo::CObject'
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   122
        #'Cairo::CPrimitives'
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   123
        #'Cairo::ClockView'
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
        #'Cairo::Content'
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   125
        #'Cairo::Device'
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   126
        #'Cairo::DeviceType'
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
        #'Cairo::Extend'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
        #'Cairo::FillRule'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
        #'Cairo::Filter'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
        #'Cairo::FontExtents'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
        #'Cairo::FontOptions'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
        #'Cairo::FontSlant'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
        #'Cairo::FontType'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
        #'Cairo::FontWeight'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
        #'Cairo::Format'
8
ccb6c1e6201e Cairo::GLXWorkstation added. It causes image crash.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   136
        #'Cairo::GLXWorkstation'
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
        #'Cairo::Glyph'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
        #'Cairo::HintMetrics'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
        #'Cairo::HintStyle'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
        #'Cairo::LineCap'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
        #'Cairo::LineJoin'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
        #'Cairo::Matrix'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
        #'Cairo::Operator'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
        #'Cairo::Path'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
        #'Cairo::PathData'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
        #'Cairo::PathDataType'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
        #'Cairo::PatternType'
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   148
        #'Cairo::PdfVersion'
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
        #'Cairo::Rectangle'
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   150
        #'Cairo::RectangleInt'
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
        #'Cairo::RectangleList'
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   152
        #'Cairo::Region'
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   153
        #'Cairo::RegionOverlap'
35
395689a88b32 Make Cairo::GraphicsContext to inherit from DeviceGraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
   154
        #'Cairo::ScaledFont'
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
        #'Cairo::Status'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
        #'Cairo::SubpixelOrder'
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   157
        #'Cairo::SurfaceObserverMode'
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
        #'Cairo::SurfaceType'
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   159
        #'Cairo::TextCluster'
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 28
diff changeset
   160
        #'Cairo::TextClusterFlags'
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   161
        #'Cairo::TextExampleView'
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
        #'Cairo::TextExtents'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
        #'Cairo::UserDataKey'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
        #'stx_goodies_libcairo'
6
c1f387b40e3a regenerated using newer version of CFace
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   165
        #'Cairo::FontFace'
31
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   166
        #'Cairo::GraphicsContext'
6
c1f387b40e3a regenerated using newer version of CFace
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   167
        #'Cairo::Pattern'
c1f387b40e3a regenerated using newer version of CFace
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   168
        #'Cairo::Surface'
36
9b680e54aa94 Take a step back: separate Cairo's GraphicsContext (cairo_t) and Smalltalk/X's graphics context
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 35
diff changeset
   169
        CairoGraphicsContext
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
    )
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
!
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
extensionMethodNames
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   174
    "list class/selector pairs of extensions.
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   175
     A correponding method with real names must be present in my concrete subclasses"
13
71529a6f007d - Cairo::GraphicsContext
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   176
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
    ^ #(
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
        DeviceGraphicsContext drawableId
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
        GraphicsDevice cairoSurfaceFor:
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
        GraphicsDevice displayId
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   181
        SimpleView cairo
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
        XWorkstation cairoSurfaceFor:
28
1bd3d147cd77 Added utility methods to SimpleView...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   183
        SimpleView redrawWithCairo
1bd3d147cd77 Added utility methods to SimpleView...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   184
        SimpleView redrawWithCairo:x:y:width:height:
1bd3d147cd77 Added utility methods to SimpleView...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   185
        SimpleView redrawWithCairoBuffered
1bd3d147cd77 Added utility methods to SimpleView...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   186
        SimpleView redrawWithCairoBuffered:
1bd3d147cd77 Added utility methods to SimpleView...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   187
        SimpleView redrawWithCairoBuffered:x:y:width:height:
1bd3d147cd77 Added utility methods to SimpleView...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   188
        SimpleView redrawWithCairoBufferedX:y:width:height:
1bd3d147cd77 Added utility methods to SimpleView...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 25
diff changeset
   189
        SimpleView redrawWithCairoX:y:width:height:
36
9b680e54aa94 Take a step back: separate Cairo's GraphicsContext (cairo_t) and Smalltalk/X's graphics context
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 35
diff changeset
   190
        DeviceGraphicsContext cairo
9b680e54aa94 Take a step back: separate Cairo's GraphicsContext (cairo_t) and Smalltalk/X's graphics context
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 35
diff changeset
   191
        XGraphicsContext cairoSurface
31
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   192
        Image bitsARGB32Into:stride:fg:bg:
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   193
        Image inspector2TabImageCairo
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   194
        GraphicsContext displayDeviceLineFromX:y:toX:y:
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   195
        GraphicsContext displayDeviceRectangleX:y:width:height:
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   196
        GraphicsContext fillDeviceRectangleX:y:width:height:
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
    )
36
9b680e54aa94 Take a step back: separate Cairo's GraphicsContext (cairo_t) and Smalltalk/X's graphics context
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 35
diff changeset
   198
9b680e54aa94 Take a step back: separate Cairo's GraphicsContext (cairo_t) and Smalltalk/X's graphics context
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 35
diff changeset
   199
    "Modified: / 13-02-2016 / 17:05:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
! !
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
!stx_goodies_libcairo class methodsFor:'description - project information'!
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
companyName
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
    "Return a companyname which will appear in <lib>.rc"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
    ^ 'CTU FEI'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
    "Created: / 10-07-2008 / 23:11:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
!
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
description
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
    "Return a description string which will appear in vc.def / bc.def"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
    ^ 'Cairo bindings (http://www.cairographics.org)'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
    "Created: / 10-07-2008 / 23:11:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
!
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
legalCopyright
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
    "Return a copyright string which will appear in <lib>.rc"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
    ^ 'Copyright Jan Vrany 2008'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
    "Created: / 10-07-2008 / 23:11:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
!
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
productName
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
    "Return a product name which will appear in <lib>.rc"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
    ^ 'Cairo'
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
    "Created: / 10-07-2008 / 23:11:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
! !
0bf0d8b6f4c5 added project definition class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
11
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   236
!stx_goodies_libcairo class methodsFor:'description - svn'!
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   237
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   238
svnRepositoryUrlString
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   239
    "Return a SVN repository URL of myself.
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   240
     (Generated since 2011-04-08)
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   241
     Do not make the string shorter!!!!!! We have to use fixed-length keyword!!!!!!
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   242
    "        
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   243
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   244
    ^ '$URL::                                                                                                                        $'
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   245
!
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   246
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   247
svnRevisionNr
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   248
    "Return a SVN revision number of myself.
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   249
     This number is updated after a commit"
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   250
14
142818deac55 Makefiles regenerated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   251
    ^ "$SVN-Revision:"'14              '"$"
11
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   252
! !
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   253
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   254
!stx_goodies_libcairo class methodsFor:'documentation'!
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   255
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   256
version
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   257
    ^'$Id$'
11
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   258
!
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   259
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   260
version_HG
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   261
    ^ '$Changeset: <not expanded> $'
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   262
! !
21
34bf952f3f60 Fixes for recent Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   263