Cairo__Filter.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 05 Apr 2016 08:02:32 +0100
changeset 76 f3deda9cea3e
parent 63 054f0513ea65
child 88 9d51db2ba641
permissions -rw-r--r--
Oops, fixed CairoGraphicsContext>>width:height: Must test whether a Cairo context has been created. If not, we're done.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/libcairo' }"
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Cairo }"
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
SharedPool subclass:#Filter
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
     7
	classVariableNames:'CAIRO_FILTER_FAST CAIRO_FILTER_GOOD CAIRO_FILTER_BEST
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
     8
		CAIRO_FILTER_NEAREST CAIRO_FILTER_BILINEAR CAIRO_FILTER_GAUSSIAN'
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	poolDictionaries:''
12
e5f0c18af8a9 - Cairo::Format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    10
	category:'Cairo-Constants'
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
63
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    13
!Filter class methodsFor:'documentation'!
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    14
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    15
documentation
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    16
"
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    17
    Cairo::Filter is used to indicate what filtering should be 
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    18
    applied when reading pixel values from patterns. 
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    19
    See Cairo::Pattern>>filter: for indicating the desired 
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    20
    filter to be used with a particular pattern.
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    21
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    22
    Members
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    23
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    24
    CAIRO_FILTER_FAST   A high-performance filter, with quality 
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    25
                        similar to CAIRO_FILTER_NEAREST (Since 1.0)
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    26
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    27
    CAIRO_FILTER_GOOD   A reasonable-performance filter, with quality 
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    28
                        similar to CAIRO_FILTER_BILINEAR (Since 1.0)
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    29
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    30
    CAIRO_FILTER_BEST   The highest-quality available, performance may not 
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    31
                        be suitable for interactive use. (Since 1.0)
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    32
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    33
    CAIRO_FILTER_NEAREST Nearest-neighbor filtering (Since 1.0)
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    34
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    35
    CAIRO_FILTER_BILINEAR Linear interpolation in two dimensions 
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    36
                        (Since 1.0)
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    37
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    38
    CAIRO_FILTER_GAUSSIAN This filter value is currently unimplemented, and 
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    39
                        should not be used in current code. (Since 1.0)
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    40
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    41
    Since 1.0
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    42
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    43
    [author:]
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    44
        Jan Vrany <jan.vrany@fit.cvut.cz>
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    45
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    46
    [instance variables:]
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    47
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    48
    [class variables:]
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    49
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    50
    [see also:]
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    51
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    52
"
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
    53
! !
31
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    54
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
!Filter class methodsFor:'initialization'!
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
initialize
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    59
    CAIRO_FILTER_FAST := 0.
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    60
    CAIRO_FILTER_GOOD := 1.
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    61
    CAIRO_FILTER_BEST := 2.
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    62
    CAIRO_FILTER_NEAREST := 3.
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    63
    CAIRO_FILTER_BILINEAR := 4.
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    64
    CAIRO_FILTER_GAUSSIAN := 5.
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
! !
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
!Filter class methodsFor:'constants'!
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    69
CAIRO_FILTER_BEST
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    71
    ^CAIRO_FILTER_BEST
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
!
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    74
CAIRO_FILTER_BILINEAR
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    76
    ^CAIRO_FILTER_BILINEAR
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
!
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    79
CAIRO_FILTER_FAST
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    81
    ^CAIRO_FILTER_FAST
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
!
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    84
CAIRO_FILTER_GAUSSIAN
12
e5f0c18af8a9 - Cairo::Format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    85
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    86
    ^CAIRO_FILTER_GAUSSIAN
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
!
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    89
CAIRO_FILTER_GOOD
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    91
    ^CAIRO_FILTER_GOOD
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    92
!
12
e5f0c18af8a9 - Cairo::Format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    93
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    94
CAIRO_FILTER_NEAREST
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    95
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    96
    ^CAIRO_FILTER_NEAREST
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
! !
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
31
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    99
!Filter class methodsFor:'documentation'!
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   100
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   101
version_HG
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   102
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   103
    ^ '$Changeset: <not expanded> $'
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   104
! !
26070c1e480e GraphicsContext refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   105
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
Filter initialize!