Cairo__Examples1.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 01 Mar 2016 16:10:07 +0000
changeset 57 2c9a342e1f2a
parent 53 57718b3ac316
child 63 054f0513ea65
permissions -rw-r--r--
Examples: added utility methods to automatically generate wiki page from examples ...including screenshots.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/libcairo' }"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Cairo }"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
     5
AbstractExamples subclass:#Examples1
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
     6
	instanceVariableNames:''
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Cairo-Examples'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!Examples1 methodsFor:'examples'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
example01: cr <example: '01 - arc'>
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
| xc yc radius angle1 angle2 |
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
xc := 128.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
yc := 128.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
radius := 100.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
angle1 := 45 * (Float pi / 180).
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
angle2 := 180 * (Float pi / 180).
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
cr sourceR: 1.0 G: 1.0 B: 1.0.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
cr lineWidth: 10.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
cr arcX: xc y: yc radius: radius from: angle1 to: angle2.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
cr stroke.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    "Created: / 26-02-2016 / 21:53:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
51
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    29
!
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    30
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    31
example21: cr <example: '21 - Display PNG from file'>
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    32
| png |
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    33
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    34
png := Cairo::Surface newPNGWithFile: (Smalltalk getBitmapFileName:'circle1.png' forPackage:#'stx:goodies/libcairo') pathName.
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    35
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    36
cr sourceR: 1 G: 1 B: 1.
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    37
cr rectangleX: 0 y: 0 width: 32 height: 32.
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    38
cr fill.
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    39
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    40
cr sourceR: 0 G: 0 B: 0.
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    41
cr rectangleX: 32 y: 32 width: 32 height: 32.
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    42
cr fill.
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    43
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    44
cr sourceSurface: png x: 0 y: 0.
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    45
cr paint.
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    46
5293f2b851ab CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
    47
    "Created: / 28-02-2016 / 07:56:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
53
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    48
!
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    49
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    50
example22: cr <example: '22 - Rectangles - fill and stroke'>
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    51
"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    52
Shows how stroke,fill and lineWidth plays together
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    53
"
53
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    54
cr lineWidth: 1.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    55
cr sourceR: 0 G: 0 B: 0.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    56
cr moveToX: 1   y: 15.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    57
cr lineToX: 130 y: 15.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    58
cr moveToX: 15  y: 1.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    59
cr lineToX: 15  y: 130.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    60
cr moveToX: 1   y: 115.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    61
cr lineToX: 130 y: 115.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    62
cr moveToX: 115 y: 1.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    63
cr lineToX: 115 y: 130.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    64
cr stroke.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    65
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    66
cr lineWidth: 10.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    67
cr sourceR: 1 G: 0 B: 0.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    68
cr rectangleX: 15 y: 15 width: 100 height: 100.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    69
cr stroke.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    70
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    71
cr sourceR: 0 G: 0 B: 1.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    72
cr rectangleX: 15 y: 65 width: 50 height: 50.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    73
cr fill.
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    74
57718b3ac316 Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
    75
    "Created: / 28-02-2016 / 15:09:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    76
    "Modified: / 02-03-2016 / 21:10:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    77
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    78
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    79
example24: cr <example: '24 - Transparency'>
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    80
"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    81
Shows half-transparent rounded rectangle over a
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    82
black-n-white checker board. Rounded corners are
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    83
antialiased for better look.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    84
"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    85
| black white x y w h r pi |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    86
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    87
"Display s checker board"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    88
black := Color black.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    89
white := Color white.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    90
cr lineWidth:0.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    91
1 to: 8 do:[:x |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    92
    1 to: 8 do:[:y |  
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    93
        cr source: ((x + y) even ifTrue:[ black ] ifFalse:[ white ]).
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    94
        cr rectangleX: ((x - 1) * 32) + 1
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    95
                    y: ((y - 1) * 32) + 1
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    96
                width: 32 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    97
               height: 32.        
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    98
        cr fill.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    99
    ]
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   100
].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   101
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   102
"Show 50% transparent blue rectangle with 25% transparent
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   103
 red border. First, create the path:"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   104
x := 16.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   105
y := 16.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   106
w := 32 * 7.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   107
h := 32 * 7.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   108
r := 8.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   109
pi := Float pi.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   110
"top-left arc"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   111
cr arcX: x + r     y: y + r     radius: r from:         pi to: (3/2) * pi.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   112
" top-right arc"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   113
cr arcX: x + w - r y: y + r     radius: r from: (3/2) * pi to: 0.0.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   114
"bottom-right arc"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   115
cr arcX: x + w - r y: y + h - r radius: r from: 0.0        to: (1/2) * pi.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   116
"bottom-left atc"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   117
cr arcX: x + r     y: y + h - r radius: r from: (1/2) * pi to:         pi.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   118
cr closePath.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   119
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   120
"Show the border"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   121
cr lineWidth: 10.  
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   122
cr sourceR: 1 G: 0 B: 0 A: 0.75.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   123
cr strokeAndPreserve.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   124
cr sourceR: 0 G: 0 B: 1 A: 0.5.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   125
cr fill.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   126
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   127
    "Created: / 29-02-2016 / 18:45:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
!Examples1 methodsFor:'private'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
performTest
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   133
    self performTestDrawingView: view
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   134
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   135
    "Created: / 26-02-2016 / 22:01:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   136
    "Modified: / 01-03-2016 / 10:59:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   137
!
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   139
performTestDrawingView: aView
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   140
    | cr |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   141
    cr := Cairo::GraphicsContext onSurface: aView cairoSurface.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   142
    view transformation notNil ifTrue:[ 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   143
        cr scale: view transformation scale.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   144
        cr translate: view transformation translation.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   145
    ].
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    [
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   147
        self perform:testSelector sunitAsSymbol with:cr.
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
    ] ensure:[ 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
        cr release
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   152
    "Created: / 01-03-2016 / 10:57:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   155
!Examples1 methodsFor:'utilities - wiki'!
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   157
writeMarkdownOutputOn: aStream
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   158
    | name base |
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   160
    name := self name.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   161
    base := self screenshotFilename.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   162
    aStream nextPutAll: 'Output'; cr; cr.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   163
    aStream nextPutAll: '| '.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   164
    #(windows linux) do:[:os |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   165
        self writeMarkdownLinkTo: ('%1_%2_100.png' bindWith: base with: os) text: ('%2' bindWith: name with: os capitalized) on: aStream.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   166
        aStream space.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   167
        aStream nextPut: $(.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   168
        self writeMarkdownLinkTo: ('%1_%2_800.png' bindWith: base with: os) text: '800%' on: aStream.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   169
        aStream nextPut: $).
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   170
        aStream nextPutAll: ' | '.
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    ].
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   172
    aStream cr; cr.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   173
    self writeMarkdownLinkTo: ('%1_windows_100.png' bindWith: base) text: name inline: true on: aStream.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   174
    aStream cr; cr.
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   176
    "Created: / 01-03-2016 / 22:12:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   177
    "Modified: / 02-03-2016 / 22:29:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179