author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Tue, 17 Jul 2018 19:50:23 +0200 | |
changeset 86 | e434bd07e403 |
parent 68 | 49418a5bf2ea |
child 88 | 9d51db2ba641 |
permissions | -rw-r--r-- |
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:#Examples2 |
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:'cairoify' |
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 |
|
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
12 |
|
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
!Examples2 methodsFor:'examples'! |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
|
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
15 |
example01a: gc <example: '01a - Rectangles'> |
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
16 |
" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
17 |
Shows how stroke,fill and lineWidth plays together. Here |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
18 |
CairoGraphicsContext produces slightly different output |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
19 |
than DeviceGraphicsContext. Making CairoGraphicsContext |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
20 |
to produce same output is difficult as, expecially when there's |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
21 |
some scaling involved, DeviceGraphicsContext does a wierd job. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
22 |
At the same time one may argue that cairo does it correctly, |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
23 |
so here we stick with Cairo's way... |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
24 |
" |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
gc lineWidth: 1. |
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
26 |
gc paint: Color black. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
27 |
gc displayLineFromX: 1 y: 15 toX: 130 y: 15. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
28 |
gc displayLineFromX: 15 y: 1 toX: 15 y: 130. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
29 |
gc displayLineFromX: 1 y: 115 toX: 130 y: 115. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
30 |
gc displayLineFromX: 115 y: 1 toX: 115 y: 130. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
31 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
32 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
33 |
gc lineWidth: 10. |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
gc paint: Color red. |
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
35 |
gc displayRectangleX: 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
|
36 |
|
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
gc paint: Color blue. |
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
38 |
gc fillRectangleX: 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
|
39 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
40 |
"Created: / 28-02-2016 / 15:43:52 / 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
|
41 |
"Modified (comment): / 02-03-2016 / 21:26:57 / 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
|
42 |
! |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
43 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
44 |
example01b: gc <example: '01b - Rectangles'> |
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
45 |
" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
46 |
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
|
47 |
Same as example 01a but with 1pixel wide lines |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
48 |
" |
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
49 |
gc lineWidth: 1. |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
gc paint: Color black. |
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
51 |
gc displayLineFromX: 1 y: 15 toX: 130 y: 15. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
52 |
gc displayLineFromX: 15 y: 1 toX: 15 y: 130. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
53 |
gc displayLineFromX: 1 y: 115 toX: 130 y: 115. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
54 |
gc displayLineFromX: 115 y: 1 toX: 115 y: 130. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
55 |
|
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
|
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
57 |
gc lineWidth: 1. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
58 |
gc paint: Color red. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
59 |
gc displayRectangleX: 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
|
60 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
61 |
gc paint: Color blue. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
62 |
gc fillRectangleX: 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
|
63 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
64 |
"Created: / 28-02-2016 / 15:44:04 / 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
|
65 |
"Modified (comment): / 02-03-2016 / 21:27:57 / 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
|
66 |
! |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
|
51
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
68 |
example02: gc <example: '02 - Rectangles (rounded)'> |
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
69 |
" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
70 |
Display rounded rectangles. Try to zoom it to 800%, |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
71 |
you'll a number of artefacts when displayed using |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
72 |
native GC. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
73 |
" |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
gc lineWidth: 10. |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
gc paint: Color red. |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
gc displayRoundRectangleX: 10 y: 10 width: gc width - 20 height: gc height - 20 |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
wCorner: 30 hCorner: 30. |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
gc paint: Color blue lighter. |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
gc fillRoundRectangleX: 10 y: 10 rounded width: gc width - 20 height: (gc height - 20) rounded |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
wCorner: 30 hCorner: 30. |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
gc paint: Color black. |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
gc lineWidth: 1. |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
gc displayLineFromX: 1 y: (gc height / 2) rounded toX: gc width y: (gc height / 2) rounded. |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
|
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
"Created: / 27-02-2016 / 09:04:11 / 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
|
86 |
"Modified (comment): / 02-03-2016 / 21:28:11 / 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
|
87 |
! |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
88 |
|
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
89 |
example03: gc <example: '03 - PNG with alpha'> |
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
90 |
" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
91 |
Shows a PNG image with alpha over a pattern |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
92 |
(black and white rectangles). As the PNG has |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
93 |
alpha, the pattern should be visible 'underneath' |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
94 |
" |
51
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
95 |
| image | |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
96 |
|
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
97 |
gc paint: Color white. |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
98 |
gc fillRectangleX:1 y:1 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
|
99 |
|
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
100 |
gc paint: Color black. |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
101 |
gc fillRectangleX:33 y:33 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
|
102 |
|
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
103 |
image := Image fromFile: 'square1.png' inPackage: 'stx:goodies/libcairo'. |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
104 |
image displayOn: gc x: 1 y: 1. |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
105 |
|
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
106 |
"Created: / 27-02-2016 / 16:14:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
107 |
"Modified: / 28-02-2016 / 14:50:00 / 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
|
108 |
"Modified (comment): / 02-03-2016 / 21:30: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
|
109 |
! |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
110 |
|
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
111 |
example04: gc <example: '04 - PNG with alpha II'> |
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
112 |
" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
113 |
Shows a another PNG image with alpha over a pattern. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
114 |
" |
51
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
115 |
| image | |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
116 |
|
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
117 |
gc paint: Color white. |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
118 |
gc fillRectangleX:1 y:1 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
|
119 |
|
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
120 |
gc paint: Color black. |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
121 |
gc fillRectangleX:33 y:33 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
|
122 |
|
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
123 |
image := Image fromFile: 'circle1.png' inPackage: 'stx:goodies/libcairo'. |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
124 |
image displayOn: gc x: 1 y: 1. |
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
125 |
|
5293f2b851ab
CairGraphicsContext: added support for displaying images with alpha channel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
50
diff
changeset
|
126 |
"Created: / 28-02-2016 / 14:49:51 / 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
|
127 |
"Modified (comment): / 02-03-2016 / 21:30:28 / 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
|
128 |
! |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
129 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
130 |
example05: gc <example: '05 - Checkerboard'> |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
131 |
" |
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
132 |
Display a 8x8 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
|
133 |
Try to zoom it to 800%, you'll see that native GC |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
134 |
(DeviceGraphicsContext) does the scaling wrong: |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
135 |
the corners of squares do not quote touch. Indeed, |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
136 |
Cairo does it right. |
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
137 |
" |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
138 |
| black white | |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
139 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
140 |
black := Color black. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
141 |
white := Color white. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
142 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
143 |
1 to: 8 do:[:x | |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
144 |
1 to: 8 do:[:y | |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
145 |
gc paint: ((x + y) even ifTrue:[ black ] ifFalse:[ white ]). |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
146 |
gc fillRectangleX: ((x - 1) * 32) + 1 |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
147 |
y: ((y - 1) * 32) + 1 |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
148 |
width: 32 height: 32. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
149 |
] |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
150 |
]. |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
151 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
152 |
"Created: / 28-02-2016 / 15:06:03 / 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
|
153 |
"Modified (comment): / 29-02-2016 / 18:42:59 / 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
|
154 |
! |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
155 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
156 |
example06: gc <example: '06 - Transparency'> |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
157 |
" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
158 |
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
|
159 |
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
|
160 |
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
|
161 |
" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
162 |
| black white | |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
163 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
164 |
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
|
165 |
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
|
166 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
167 |
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
|
168 |
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
|
169 |
gc paint: ((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
|
170 |
gc fillRectangleX: ((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
|
171 |
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
|
172 |
width: 32 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
|
173 |
] |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
174 |
]. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
175 |
gc 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
|
176 |
gc paint: (Color red alpha: 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
|
177 |
gc displayRoundRectangleX: 16 y: 16 width: 32 * 7 height: 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
|
178 |
wCorner: 16 hCorner: 16. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
179 |
gc paint: (Color blue alpha: 0.50). |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
180 |
gc fillRoundRectangleX: 16 y: 16 width: 32 * 7 height: 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
|
181 |
wCorner: 16 hCorner: 16. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
182 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
183 |
"Created: / 29-02-2016 / 18:38:17 / 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
|
184 |
"Modified: / 29-02-2016 / 20:40:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
63
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
185 |
! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
186 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
187 |
example07: gc <example: '07 - Mask - 1bit'> |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
188 |
" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
189 |
Shows displaying lines and rectangles with |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
190 |
mask. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
191 |
" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
192 |
| mask | |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
193 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
194 |
mask := Image width:2 height:2 fromArray:#[2r10000000 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
195 |
2r01000000]. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
196 |
gc paint: Color red. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
197 |
gc mask: mask asImage. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
198 |
gc lineWidth: 1. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
199 |
gc displayLineFromX: 10 y: 10 toX: 90 y: 10. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
200 |
gc displayLineFromX: 10 y: 10 toX: 10 y: 90. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
201 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
202 |
mask := Image width:16 height:16 fromArray:#[2r11110000 2r11110000 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
203 |
2r11110000 2r11110000 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
204 |
2r11110000 2r11110000 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
205 |
2r11110000 2r11110000 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
206 |
2r00001111 2r00001111 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
207 |
2r00001111 2r00001111 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
208 |
2r00001111 2r00001111 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
209 |
2r00001111 2r00001111 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
210 |
2r11110000 2r11110000 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
211 |
2r11110000 2r11110000 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
212 |
2r11110000 2r11110000 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
213 |
2r11110000 2r11110000 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
214 |
2r00001111 2r00001111 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
215 |
2r00001111 2r00001111 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
216 |
2r00001111 2r00001111 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
217 |
2r00001111 2r00001111]. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
218 |
gc paint: Color blue. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
219 |
gc maskOrigin: 4@4. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
220 |
gc mask: mask asImage. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
221 |
gc fillRectangleX: 30 y: 30 width: 40 height: 40. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
222 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
223 |
"Created: / 07-03-2016 / 21:40:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
57
diff
changeset
|
224 |
"Modified: / 08-03-2016 / 21:42:33 / 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
|
225 |
! ! |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
226 |
|
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
227 |
!Examples2 methodsFor:'private'! |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
228 |
|
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
229 |
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
|
230 |
cairoify := false. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
231 |
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
|
232 |
cairoify := true. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
233 |
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
|
234 |
cairoify := nil. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
235 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
236 |
"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
|
237 |
"Modified: / 01-03-2016 / 13:06:33 / 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
|
238 |
! |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
239 |
|
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
240 |
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
|
241 |
cairoify ifTrue:[ |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
242 |
| dGC cGC | |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
243 |
|
68
49418a5bf2ea
Examples: Indicate Cairo or Native rendering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
244 |
view topView label: 'Cairo - ' , self name. |
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
245 |
dGC := view instVarNamed: #gc. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
246 |
cGC := CairoGraphicsContext onDeviceGraphicsContext: dGC. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
247 |
[ |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
248 |
view instVarNamed: #gc put: cGC. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
249 |
self perform: testSelector sunitAsSymbol with: aView. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
250 |
] ensure:[ |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
251 |
view instVarNamed: #gc put: dGC. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
252 |
cGC destroyCR. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
253 |
]. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
254 |
] ifFalse:[ |
68
49418a5bf2ea
Examples: Indicate Cairo or Native rendering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
255 |
view topView label: 'Native - ' , self name. |
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
256 |
self perform: testSelector sunitAsSymbol with: aView. |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
257 |
]. |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
258 |
|
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
259 |
"Created: / 01-03-2016 / 13:03:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
68
49418a5bf2ea
Examples: Indicate Cairo or Native rendering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
260 |
"Modified: / 22-03-2016 / 20:16:11 / 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
|
261 |
! ! |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
262 |
|
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
263 |
!Examples2 methodsFor:'utilities'! |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
264 |
|
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
265 |
screenshotFilename |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
266 |
^ super screenshotFilename |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
267 |
, (cairoify == true ifTrue:[ '_cairo' ] ifFalse:[ '_native' ]). |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
268 |
|
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
269 |
"Created: / 01-03-2016 / 21:39:21 / 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
|
270 |
! |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
271 |
|
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
272 |
writeScreenshotsInDirectory:directory |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
273 |
cairoify := false. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
274 |
super writeScreenshotsInDirectory:directory. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
275 |
cairoify := true. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
276 |
super writeScreenshotsInDirectory:directory. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
277 |
cairoify := nil. |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
278 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
279 |
" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
280 |
(Cairo::Examples2 selector: #example06:) writeScreenshotsInDirectory: '/tmp' |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
281 |
" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
282 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
283 |
"Created: / 01-03-2016 / 13:11:13 / 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
|
284 |
"Modified: / 01-03-2016 / 17:19:05 / jv" |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
285 |
"Modified (comment): / 01-03-2016 / 21:48:25 / 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
|
286 |
! ! |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
287 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
288 |
!Examples2 methodsFor:'utilities - markdown'! |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
289 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
290 |
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
|
291 |
| name base | |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
292 |
|
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
293 |
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
|
294 |
base := super screenshotFilename."/ use super here so we wong get "_cairo" or "_native" suffix here |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
295 |
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
|
296 |
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
|
297 |
#(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
|
298 |
#(cairo native) do:[:type | |
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
299 |
self writeMarkdownLinkTo: ('%1_%2_%3_100.png' bindWith: base with: type with: os) text: ('%2, %3' bindWith: name with: os capitalized with: type 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
|
300 |
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
|
301 |
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
|
302 |
self writeMarkdownLinkTo: ('%1_%2_%3_800.png' bindWith: base with: type 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
|
303 |
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
|
304 |
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
|
305 |
] |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
306 |
]. |
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
307 |
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
|
308 |
self writeMarkdownLinkTo: ('%1_cairo_windows_100.png' bindWith: base) text: name , ' - Cairo' 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
|
309 |
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
|
310 |
self writeMarkdownLinkTo: ('%1_native_windows_100.png' bindWith: base) text: name, ' - Native' 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
|
311 |
aStream cr; cr. |
50
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
312 |
|
57
2c9a342e1f2a
Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
313 |
"Modified: / 02-03-2016 / 22:30:05 / 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
|
314 |
! ! |
239120c68187
Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
315 |
|
53
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
316 |
!Examples2 class methodsFor:'documentation'! |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
317 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
318 |
version_HG |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
319 |
|
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
320 |
^ '$Changeset: <not expanded> $' |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
321 |
! ! |
57718b3ac316
Examples: added more examples demostraint drawing/filling rectangles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
51
diff
changeset
|
322 |