squib 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -1
  3. data/CHANGELOG.md +10 -0
  4. data/README.md +65 -4
  5. data/lib/squib/api/data.rb +48 -1
  6. data/lib/squib/api/text.rb +4 -2
  7. data/lib/squib/deck.rb +22 -5
  8. data/lib/squib/graphics/text.rb +4 -0
  9. data/lib/squib/layouts/hand.yml +46 -0
  10. data/lib/squib/layouts/playing-card.yml +18 -0
  11. data/lib/squib/version.rb +1 -1
  12. data/samples/cairo_access.rb +4 -3
  13. data/samples/csv_import.rb +20 -0
  14. data/samples/custom-layout.yml +5 -4
  15. data/samples/custom-layout2.yml +15 -0
  16. data/samples/custom_config.rb +0 -1
  17. data/samples/excel.rb +1 -2
  18. data/samples/layouts.rb +61 -0
  19. data/samples/ranges.rb +0 -1
  20. data/samples/sample.csv +3 -0
  21. data/samples/text_options.rb +14 -3
  22. data/samples/tgc_proofs.rb +0 -1
  23. data/samples/units.rb +1 -1
  24. data/spec/api/api_data_spec.rb +31 -0
  25. data/spec/api/api_image_spec.rb +38 -0
  26. data/spec/data/csv/basic.csv +3 -0
  27. data/spec/data/csv/dup_cols.csv +3 -0
  28. data/spec/data/csv/with_spaces.csv +3 -0
  29. data/spec/data/{easy-circular-extends.yml → layouts/easy-circular-extends.yml} +0 -0
  30. data/spec/data/{hard-circular-extends.yml → layouts/hard-circular-extends.yml} +0 -0
  31. data/spec/data/{multi-extends-single-entry.yml → layouts/multi-extends-single-entry.yml} +0 -0
  32. data/spec/data/{multi-level-extends.yml → layouts/multi-level-extends.yml} +0 -0
  33. data/spec/data/layouts/multifile-a.yml +4 -0
  34. data/spec/data/layouts/multifile-b.yml +4 -0
  35. data/spec/data/layouts/multifile-extends-a.yml +8 -0
  36. data/spec/data/layouts/multifile-extends-b.yml +9 -0
  37. data/spec/data/{no-extends.yml → layouts/no-extends.yml} +0 -0
  38. data/spec/data/{pre-extends.yml → layouts/pre-extends.yml} +0 -0
  39. data/spec/data/{self-circular-extends.yml → layouts/self-circular-extends.yml} +0 -0
  40. data/spec/data/{single-extends.yml → layouts/single-extends.yml} +0 -0
  41. data/spec/data/{single-level-multi-extends.yml → layouts/single-level-multi-extends.yml} +0 -0
  42. data/spec/data/samples/autoscale_font.rb.txt +81 -0
  43. data/spec/data/samples/basic.rb.txt +206 -0
  44. data/spec/data/samples/cairo_access.rb.txt +25 -0
  45. data/spec/data/samples/colors.rb.txt +124 -0
  46. data/spec/data/samples/csv_import.rb.txt +112 -0
  47. data/spec/data/samples/custom_config.rb.txt +45 -0
  48. data/spec/data/samples/draw_shapes.rb.txt +35 -0
  49. data/spec/data/samples/excel.rb.txt +168 -0
  50. data/spec/data/samples/hello_world.rb.txt +36 -0
  51. data/spec/data/samples/layouts.rb.txt +489 -0
  52. data/spec/data/samples/load_images.rb.txt +104 -0
  53. data/spec/data/samples/portrait-landscape.rb.txt +49 -0
  54. data/spec/data/samples/ranges.rb.txt +426 -0
  55. data/spec/data/samples/save_pdf.rb.txt +545 -0
  56. data/spec/data/samples/text_options.rb.txt +819 -0
  57. data/spec/data/samples/tgc_proofs.rb.txt +81 -0
  58. data/spec/data/samples/units.rb.txt +14 -0
  59. data/spec/deck_spec.rb +33 -9
  60. data/spec/graphics/graphics_text_spec.rb +7 -5
  61. data/spec/samples/samples_regression_spec.rb +73 -0
  62. data/spec/spec_helper.rb +64 -2
  63. data/squib.gemspec +2 -2
  64. metadata +100 -27
  65. data/samples/use_layout.rb +0 -34
  66. data/spec/samples_run_spec.rb +0 -20
@@ -0,0 +1,104 @@
1
+ cairo: save([])
2
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.043137254901960784, @green=0.48627450980392156, @blue=0.5568627450980392>])
3
+ cairo: paint([])
4
+ cairo: restore([])
5
+ cairo: save([])
6
+ cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
7
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
8
+ cairo: set_line_width([2.0])
9
+ cairo: stroke([])
10
+ cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
11
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
12
+ cairo: fill([])
13
+ cairo: restore([])
14
+ cairo: save([])
15
+ cairo: translate([620, 75])
16
+ cairo: rotate([0])
17
+ cairo: translate([-620, -75])
18
+ cairo: set_source([ImageSurface, 620, 75])
19
+ cairo: paint([1.0])
20
+ cairo: restore([])
21
+ cairo: scale([1.0, 1.0])
22
+ cairo: render_rsvg_handle([RSVG::Handle, nil])
23
+ cairo: save([])
24
+ cairo: translate([620, 218])
25
+ cairo: rotate([0])
26
+ cairo: translate([-620, -218])
27
+ cairo: set_source([MockDouble, 620, 218])
28
+ cairo: paint([1.0])
29
+ cairo: restore([])
30
+ cairo: scale([1.953125, 1.953125])
31
+ cairo: render_rsvg_handle([RSVG::Handle, nil])
32
+ cairo: save([])
33
+ cairo: translate([50, 50])
34
+ cairo: rotate([0])
35
+ cairo: translate([-50, -50])
36
+ cairo: set_source([MockDouble, 50, 50])
37
+ cairo: paint([1.0])
38
+ cairo: restore([])
39
+ cairo: scale([0.5859375, 0.5859375])
40
+ cairo: render_rsvg_handle([RSVG::Handle, "#backdrop"])
41
+ cairo: save([])
42
+ cairo: translate([50, 350])
43
+ cairo: rotate([0])
44
+ cairo: translate([-50, -350])
45
+ cairo: set_source([MockDouble, 50, 350])
46
+ cairo: paint([1.0])
47
+ cairo: restore([])
48
+ cairo: scale([0.9765625, 0.9765625])
49
+ cairo: render_rsvg_handle([RSVG::Handle, "#backdrop"])
50
+ cairo: save([])
51
+ cairo: translate([50, 450])
52
+ cairo: rotate([0])
53
+ cairo: translate([-50, -450])
54
+ cairo: set_source([MockDouble, 50, 450])
55
+ cairo: paint([1.0])
56
+ cairo: restore([])
57
+ cairo: scale([0.8021390374331551, 0.8032128514056225])
58
+ cairo: render_rsvg_handle([RSVG::Handle, "#thing"])
59
+ cairo: save([])
60
+ cairo: translate([0, 0])
61
+ cairo: rotate([0])
62
+ cairo: translate([0, 0])
63
+ cairo: set_source([MockDouble, 0, 0])
64
+ cairo: paint([1.0])
65
+ cairo: restore([])
66
+ cairo: save([])
67
+ cairo: translate([50, 700])
68
+ cairo: rotate([0])
69
+ cairo: translate([-50, -700])
70
+ cairo: set_source([ImageSurface, 50, 700])
71
+ cairo: paint([1.0])
72
+ cairo: restore([])
73
+ cairo: save([])
74
+ cairo: translate([70, 750])
75
+ cairo: rotate([0])
76
+ cairo: translate([-70, -750])
77
+ cairo: set_source([ImageSurface, 70, 750])
78
+ cairo: operator=([:color_burn])
79
+ cairo: paint([0.75])
80
+ cairo: restore([])
81
+ cairo: save([])
82
+ cairo: translate([300, 700])
83
+ cairo: rotate([0.0])
84
+ cairo: translate([-300, -700])
85
+ cairo: set_source([ImageSurface, 300, 700])
86
+ cairo: paint([1.0])
87
+ cairo: restore([])
88
+ cairo: save([])
89
+ cairo: translate([300, 800])
90
+ cairo: rotate([0.7853981633974483])
91
+ cairo: translate([-300, -800])
92
+ cairo: set_source([ImageSurface, 300, 800])
93
+ cairo: paint([1.0])
94
+ cairo: restore([])
95
+ cairo: scale([1.0, 1.0])
96
+ cairo: render_rsvg_handle([RSVG::Handle, nil])
97
+ cairo: save([])
98
+ cairo: translate([300, 900])
99
+ cairo: rotate([1.4707963267948965])
100
+ cairo: translate([-300, -900])
101
+ cairo: set_source([MockDouble, 300, 900])
102
+ cairo: paint([1.0])
103
+ cairo: restore([])
104
+ surface: write_to_png(["_output/load_images_0.png"])
@@ -0,0 +1,49 @@
1
+ cairo: save([])
2
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.6666666666666666, @green=0.6666666666666666, @blue=0.6666666666666666>])
3
+ cairo: paint([])
4
+ cairo: restore([])
5
+ cairo: save([])
6
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
7
+ cairo: translate([0, 0])
8
+ cairo: rotate([0])
9
+ cairo: translate([0, 0])
10
+ cairo: move_to([0, 0])
11
+ pango: font_description=([])
12
+ pango: text=(["This is portrait"])
13
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
14
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
15
+ pango: alignment=([#<Pango::Layout::Alignment left>])
16
+ pango: justify=([false])
17
+ pango: spacing=([0])
18
+ cairo: update_pango_layout([MockDouble])
19
+ cairo: update_pango_layout([MockDouble])
20
+ cairo: show_pango_layout([MockDouble])
21
+ cairo: restore([])
22
+ surface: write_to_png(["_output/portrait_0.png"])
23
+ cairo: save([])
24
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.6666666666666666, @green=0.6666666666666666, @blue=0.6666666666666666>])
25
+ cairo: paint([])
26
+ cairo: restore([])
27
+ cairo: save([])
28
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
29
+ cairo: translate([0, 0])
30
+ cairo: rotate([0])
31
+ cairo: translate([0, 0])
32
+ cairo: move_to([0, 0])
33
+ pango: font_description=([])
34
+ pango: text=(["This is landscape"])
35
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
36
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
37
+ pango: alignment=([#<Pango::Layout::Alignment left>])
38
+ pango: justify=([false])
39
+ pango: spacing=([0])
40
+ cairo: update_pango_layout([MockDouble])
41
+ cairo: update_pango_layout([MockDouble])
42
+ cairo: show_pango_layout([MockDouble])
43
+ cairo: restore([])
44
+ cairo: translate([412.5, 562.5])
45
+ cairo: rotate([1.5707963267948966])
46
+ cairo: translate([-562.5, -412.5])
47
+ cairo: set_source([MockDouble])
48
+ cairo: paint([])
49
+ surface: write_to_png(["_output/landscape_0.png"])
@@ -0,0 +1,426 @@
1
+ cairo: save([])
2
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=1.0, @green=1.0, @blue=1.0>])
3
+ cairo: paint([])
4
+ cairo: restore([])
5
+ cairo: save([])
6
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=1.0, @green=1.0, @blue=1.0>])
7
+ cairo: paint([])
8
+ cairo: restore([])
9
+ cairo: save([])
10
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=1.0, @green=1.0, @blue=1.0>])
11
+ cairo: paint([])
12
+ cairo: restore([])
13
+ cairo: save([])
14
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
15
+ cairo: translate([250, 55])
16
+ cairo: rotate([0])
17
+ cairo: translate([-250, -55])
18
+ cairo: move_to([250, 55])
19
+ pango: font_description=([])
20
+ pango: text=(["Thief"])
21
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
22
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
23
+ pango: alignment=([#<Pango::Layout::Alignment left>])
24
+ pango: justify=([false])
25
+ pango: spacing=([0])
26
+ cairo: update_pango_layout([MockDouble])
27
+ cairo: update_pango_layout([MockDouble])
28
+ cairo: show_pango_layout([MockDouble])
29
+ cairo: restore([])
30
+ cairo: save([])
31
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
32
+ cairo: translate([250, 55])
33
+ cairo: rotate([0])
34
+ cairo: translate([-250, -55])
35
+ cairo: move_to([250, 55])
36
+ pango: font_description=([])
37
+ pango: text=(["Grifter"])
38
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
39
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
40
+ pango: alignment=([#<Pango::Layout::Alignment left>])
41
+ pango: justify=([false])
42
+ pango: spacing=([0])
43
+ cairo: update_pango_layout([MockDouble])
44
+ cairo: update_pango_layout([MockDouble])
45
+ cairo: show_pango_layout([MockDouble])
46
+ cairo: restore([])
47
+ cairo: save([])
48
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
49
+ cairo: translate([250, 55])
50
+ cairo: rotate([0])
51
+ cairo: translate([-250, -55])
52
+ cairo: move_to([250, 55])
53
+ pango: font_description=([])
54
+ pango: text=(["Mastermind"])
55
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
56
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
57
+ pango: alignment=([#<Pango::Layout::Alignment left>])
58
+ pango: justify=([false])
59
+ pango: spacing=([0])
60
+ cairo: update_pango_layout([MockDouble])
61
+ cairo: update_pango_layout([MockDouble])
62
+ cairo: show_pango_layout([MockDouble])
63
+ cairo: restore([])
64
+ cairo: save([])
65
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
66
+ cairo: translate([65, 40])
67
+ cairo: rotate([0])
68
+ cairo: translate([-65, -40])
69
+ cairo: move_to([65, 40])
70
+ pango: font_description=([])
71
+ pango: text=(["1"])
72
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
73
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
74
+ pango: alignment=([#<Pango::Layout::Alignment left>])
75
+ pango: justify=([false])
76
+ pango: spacing=([0])
77
+ cairo: update_pango_layout([MockDouble])
78
+ cairo: update_pango_layout([MockDouble])
79
+ cairo: show_pango_layout([MockDouble])
80
+ cairo: restore([])
81
+ cairo: save([])
82
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
83
+ cairo: translate([65, 40])
84
+ cairo: rotate([0])
85
+ cairo: translate([-65, -40])
86
+ cairo: move_to([65, 40])
87
+ pango: font_description=([])
88
+ pango: text=(["2"])
89
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
90
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
91
+ pango: alignment=([#<Pango::Layout::Alignment left>])
92
+ pango: justify=([false])
93
+ pango: spacing=([0])
94
+ cairo: update_pango_layout([MockDouble])
95
+ cairo: update_pango_layout([MockDouble])
96
+ cairo: show_pango_layout([MockDouble])
97
+ cairo: restore([])
98
+ cairo: save([])
99
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
100
+ cairo: translate([65, 40])
101
+ cairo: rotate([0])
102
+ cairo: translate([-65, -40])
103
+ cairo: move_to([65, 40])
104
+ pango: font_description=([])
105
+ pango: text=(["3"])
106
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
107
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
108
+ pango: alignment=([#<Pango::Layout::Alignment left>])
109
+ pango: justify=([false])
110
+ pango: spacing=([0])
111
+ cairo: update_pango_layout([MockDouble])
112
+ cairo: update_pango_layout([MockDouble])
113
+ cairo: show_pango_layout([MockDouble])
114
+ cairo: restore([])
115
+ cairo: save([])
116
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
117
+ cairo: translate([40, 128])
118
+ cairo: rotate([0])
119
+ cairo: translate([-40, -128])
120
+ cairo: move_to([40, 128])
121
+ pango: font_description=([])
122
+ pango: text=(["Thug"])
123
+ pango: width=([102400])
124
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
125
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
126
+ pango: alignment=([#<Pango::Layout::Alignment center>])
127
+ pango: justify=([false])
128
+ pango: spacing=([0])
129
+ cairo: update_pango_layout([MockDouble])
130
+ cairo: update_pango_layout([MockDouble])
131
+ cairo: show_pango_layout([MockDouble])
132
+ cairo: restore([])
133
+ cairo: save([])
134
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
135
+ cairo: translate([40, 128])
136
+ cairo: rotate([0])
137
+ cairo: translate([-40, -128])
138
+ cairo: move_to([40, 128])
139
+ pango: font_description=([])
140
+ pango: text=(["Thinker"])
141
+ pango: width=([102400])
142
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
143
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
144
+ pango: alignment=([#<Pango::Layout::Alignment center>])
145
+ pango: justify=([false])
146
+ pango: spacing=([0])
147
+ cairo: update_pango_layout([MockDouble])
148
+ cairo: update_pango_layout([MockDouble])
149
+ cairo: show_pango_layout([MockDouble])
150
+ cairo: restore([])
151
+ cairo: save([])
152
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
153
+ cairo: translate([40, 128])
154
+ cairo: rotate([0])
155
+ cairo: translate([-40, -128])
156
+ cairo: move_to([40, 128])
157
+ pango: font_description=([])
158
+ pango: text=(["Thinker"])
159
+ pango: width=([102400])
160
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
161
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
162
+ pango: alignment=([#<Pango::Layout::Alignment center>])
163
+ pango: justify=([false])
164
+ pango: spacing=([0])
165
+ cairo: update_pango_layout([MockDouble])
166
+ cairo: update_pango_layout([MockDouble])
167
+ cairo: show_pango_layout([MockDouble])
168
+ cairo: restore([])
169
+ cairo: save([])
170
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
171
+ cairo: translate([25, 200])
172
+ cairo: rotate([0])
173
+ cairo: translate([-25, -200])
174
+ cairo: move_to([25, 200])
175
+ pango: font_description=([])
176
+ pango: text=(["Thief and Grifter only!!"])
177
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
178
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
179
+ pango: alignment=([#<Pango::Layout::Alignment left>])
180
+ pango: justify=([false])
181
+ pango: spacing=([0])
182
+ cairo: update_pango_layout([MockDouble])
183
+ cairo: update_pango_layout([MockDouble])
184
+ cairo: show_pango_layout([MockDouble])
185
+ cairo: restore([])
186
+ cairo: save([])
187
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
188
+ cairo: translate([25, 200])
189
+ cairo: rotate([0])
190
+ cairo: translate([-25, -200])
191
+ cairo: move_to([25, 200])
192
+ pango: font_description=([])
193
+ pango: text=(["Thief and Grifter only!!"])
194
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
195
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
196
+ pango: alignment=([#<Pango::Layout::Alignment left>])
197
+ pango: justify=([false])
198
+ pango: spacing=([0])
199
+ cairo: update_pango_layout([MockDouble])
200
+ cairo: update_pango_layout([MockDouble])
201
+ cairo: show_pango_layout([MockDouble])
202
+ cairo: restore([])
203
+ cairo: save([])
204
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
205
+ cairo: translate([25, 250])
206
+ cairo: rotate([0])
207
+ cairo: translate([-25, -250])
208
+ cairo: move_to([25, 250])
209
+ pango: font_description=([])
210
+ pango: text=(["Thief only!"])
211
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
212
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
213
+ pango: alignment=([#<Pango::Layout::Alignment left>])
214
+ pango: justify=([false])
215
+ pango: spacing=([0])
216
+ cairo: update_pango_layout([MockDouble])
217
+ cairo: update_pango_layout([MockDouble])
218
+ cairo: show_pango_layout([MockDouble])
219
+ cairo: restore([])
220
+ cairo: save([])
221
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
222
+ cairo: translate([25, 250])
223
+ cairo: rotate([0])
224
+ cairo: translate([-25, -250])
225
+ cairo: move_to([25, 250])
226
+ pango: font_description=([])
227
+ pango: text=(["Mastermind only!"])
228
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
229
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
230
+ pango: alignment=([#<Pango::Layout::Alignment left>])
231
+ pango: justify=([false])
232
+ pango: spacing=([0])
233
+ cairo: update_pango_layout([MockDouble])
234
+ cairo: update_pango_layout([MockDouble])
235
+ cairo: show_pango_layout([MockDouble])
236
+ cairo: restore([])
237
+ cairo: save([])
238
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
239
+ cairo: translate([25, 650])
240
+ cairo: rotate([0])
241
+ cairo: translate([-25, -650])
242
+ cairo: move_to([25, 650])
243
+ pango: font_description=([])
244
+ pango: text=(["Grifter and Mastermind only!"])
245
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
246
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
247
+ pango: alignment=([#<Pango::Layout::Alignment left>])
248
+ pango: justify=([false])
249
+ pango: spacing=([0])
250
+ cairo: update_pango_layout([MockDouble])
251
+ cairo: update_pango_layout([MockDouble])
252
+ cairo: show_pango_layout([MockDouble])
253
+ cairo: restore([])
254
+ cairo: save([])
255
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
256
+ cairo: translate([25, 650])
257
+ cairo: rotate([0])
258
+ cairo: translate([-25, -650])
259
+ cairo: move_to([25, 650])
260
+ pango: font_description=([])
261
+ pango: text=(["Grifter and Mastermind only!"])
262
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
263
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
264
+ pango: alignment=([#<Pango::Layout::Alignment left>])
265
+ pango: justify=([false])
266
+ pango: spacing=([0])
267
+ cairo: update_pango_layout([MockDouble])
268
+ cairo: update_pango_layout([MockDouble])
269
+ cairo: show_pango_layout([MockDouble])
270
+ cairo: restore([])
271
+ cairo: save([])
272
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
273
+ cairo: translate([25, 300])
274
+ cairo: rotate([0])
275
+ cairo: translate([-25, -300])
276
+ cairo: move_to([25, 300])
277
+ pango: font_description=([])
278
+ pango: text=(["Thief and Mastermind only!!"])
279
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
280
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
281
+ pango: alignment=([#<Pango::Layout::Alignment left>])
282
+ pango: justify=([false])
283
+ pango: spacing=([0])
284
+ cairo: update_pango_layout([MockDouble])
285
+ cairo: update_pango_layout([MockDouble])
286
+ cairo: show_pango_layout([MockDouble])
287
+ cairo: restore([])
288
+ cairo: save([])
289
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
290
+ cairo: translate([25, 300])
291
+ cairo: rotate([0])
292
+ cairo: translate([-25, -300])
293
+ cairo: move_to([25, 300])
294
+ pango: font_description=([])
295
+ pango: text=(["Thief and Mastermind only!!"])
296
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
297
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
298
+ pango: alignment=([#<Pango::Layout::Alignment left>])
299
+ pango: justify=([false])
300
+ pango: spacing=([0])
301
+ cairo: update_pango_layout([MockDouble])
302
+ cairo: update_pango_layout([MockDouble])
303
+ cairo: show_pango_layout([MockDouble])
304
+ cairo: restore([])
305
+ cairo: save([])
306
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=1.0, @green=0.0, @blue=0.0>])
307
+ cairo: translate([40, 700])
308
+ cairo: rotate([0])
309
+ cairo: translate([-40, -700])
310
+ cairo: move_to([40, 700])
311
+ pango: font_description=([])
312
+ pango: text=(["red"])
313
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
314
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
315
+ pango: alignment=([#<Pango::Layout::Alignment left>])
316
+ pango: justify=([false])
317
+ pango: spacing=([0])
318
+ cairo: update_pango_layout([MockDouble])
319
+ cairo: update_pango_layout([MockDouble])
320
+ cairo: show_pango_layout([MockDouble])
321
+ cairo: restore([])
322
+ cairo: save([])
323
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=1.0, @blue=0.0>])
324
+ cairo: translate([80, 750])
325
+ cairo: rotate([0])
326
+ cairo: translate([-80, -750])
327
+ cairo: move_to([80, 750])
328
+ pango: font_description=([])
329
+ pango: text=(["green"])
330
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
331
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
332
+ pango: alignment=([#<Pango::Layout::Alignment left>])
333
+ pango: justify=([false])
334
+ pango: spacing=([0])
335
+ cairo: update_pango_layout([MockDouble])
336
+ cairo: update_pango_layout([MockDouble])
337
+ cairo: show_pango_layout([MockDouble])
338
+ cairo: restore([])
339
+ cairo: save([])
340
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=1.0>])
341
+ cairo: translate([120, 800])
342
+ cairo: rotate([0])
343
+ cairo: translate([-120, -800])
344
+ cairo: move_to([120, 800])
345
+ pango: font_description=([])
346
+ pango: text=(["blue"])
347
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
348
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
349
+ pango: alignment=([#<Pango::Layout::Alignment left>])
350
+ pango: justify=([false])
351
+ pango: spacing=([0])
352
+ cairo: update_pango_layout([MockDouble])
353
+ cairo: update_pango_layout([MockDouble])
354
+ cairo: show_pango_layout([MockDouble])
355
+ cairo: restore([])
356
+ cairo: save([])
357
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
358
+ cairo: translate([25, 400])
359
+ cairo: rotate([0])
360
+ cairo: translate([-25, -400])
361
+ cairo: move_to([25, 400])
362
+ pango: font_description=([])
363
+ pango: text=(["Thief through Grifter with id lookup!!"])
364
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
365
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
366
+ pango: alignment=([#<Pango::Layout::Alignment left>])
367
+ pango: justify=([false])
368
+ pango: spacing=([0])
369
+ cairo: update_pango_layout([MockDouble])
370
+ cairo: update_pango_layout([MockDouble])
371
+ cairo: show_pango_layout([MockDouble])
372
+ cairo: restore([])
373
+ cairo: save([])
374
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
375
+ cairo: translate([25, 400])
376
+ cairo: rotate([0])
377
+ cairo: translate([-25, -400])
378
+ cairo: move_to([25, 400])
379
+ pango: font_description=([])
380
+ pango: text=(["Thief through Grifter with id lookup!!"])
381
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
382
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
383
+ pango: alignment=([#<Pango::Layout::Alignment left>])
384
+ pango: justify=([false])
385
+ pango: spacing=([0])
386
+ cairo: update_pango_layout([MockDouble])
387
+ cairo: update_pango_layout([MockDouble])
388
+ cairo: show_pango_layout([MockDouble])
389
+ cairo: restore([])
390
+ cairo: save([])
391
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
392
+ cairo: translate([25, 500])
393
+ cairo: rotate([0])
394
+ cairo: translate([-25, -500])
395
+ cairo: move_to([25, 500])
396
+ pango: font_description=([])
397
+ pango: text=(["Only for Thinkers!"])
398
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
399
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
400
+ pango: alignment=([#<Pango::Layout::Alignment left>])
401
+ pango: justify=([false])
402
+ pango: spacing=([0])
403
+ cairo: update_pango_layout([MockDouble])
404
+ cairo: update_pango_layout([MockDouble])
405
+ cairo: show_pango_layout([MockDouble])
406
+ cairo: restore([])
407
+ cairo: save([])
408
+ cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
409
+ cairo: translate([25, 500])
410
+ cairo: rotate([0])
411
+ cairo: translate([-25, -500])
412
+ cairo: move_to([25, 500])
413
+ pango: font_description=([])
414
+ pango: text=(["Only for Thinkers!"])
415
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
416
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
417
+ pango: alignment=([#<Pango::Layout::Alignment left>])
418
+ pango: justify=([false])
419
+ pango: spacing=([0])
420
+ cairo: update_pango_layout([MockDouble])
421
+ cairo: update_pango_layout([MockDouble])
422
+ cairo: show_pango_layout([MockDouble])
423
+ cairo: restore([])
424
+ surface: write_to_png(["_output/ranges_0.png"])
425
+ surface: write_to_png(["_output/ranges_1.png"])
426
+ surface: write_to_png(["_output/ranges_2.png"])