squib 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/CHANGELOG.md +11 -1
  4. data/README.md +24 -4
  5. data/Rakefile +2 -0
  6. data/benchmarks/antialias_best.rb +13 -0
  7. data/benchmarks/antialias_best.yml +1 -0
  8. data/benchmarks/antialias_fast.rb +13 -0
  9. data/benchmarks/antialias_fast.yml +1 -0
  10. data/benchmarks/backend-memory.rb +14 -0
  11. data/benchmarks/backend-svg.rb +14 -0
  12. data/benchmarks/backend-svg.yml +4 -0
  13. data/lib/squib/api/image.rb +2 -2
  14. data/lib/squib/api/save.rb +3 -3
  15. data/lib/squib/card.rb +23 -4
  16. data/lib/squib/constants.rb +14 -4
  17. data/lib/squib/deck.rb +24 -11
  18. data/lib/squib/graphics/cairo_context_wrapper.rb +2 -1
  19. data/lib/squib/graphics/image.rb +13 -12
  20. data/lib/squib/graphics/save_doc.rb +37 -18
  21. data/lib/squib/graphics/shapes.rb +1 -0
  22. data/lib/squib/project_template/config.yml +8 -1
  23. data/lib/squib/version.rb +1 -1
  24. data/samples/backend-config.yml +5 -0
  25. data/samples/backend.rb +33 -0
  26. data/samples/glass-heart.svg +52 -52
  27. data/samples/load_images.rb +3 -3
  28. data/spec/data/samples/autoscale_font.rb.txt +9 -3
  29. data/spec/data/samples/basic.rb.txt +12 -15
  30. data/spec/data/samples/cairo_access.rb.txt +2 -0
  31. data/spec/data/samples/csv_import.rb.txt +8 -6
  32. data/spec/data/samples/custom_config.rb.txt +10 -7
  33. data/spec/data/samples/draw_shapes.rb.txt +2 -0
  34. data/spec/data/samples/excel.rb.txt +12 -9
  35. data/spec/data/samples/gradients.rb.txt +3 -1
  36. data/spec/data/samples/hello_world.rb.txt +4 -2
  37. data/spec/data/samples/load_images.rb.txt +19 -38
  38. data/spec/data/samples/portrait-landscape.rb.txt +4 -2
  39. data/spec/data/samples/ranges.rb.txt +27 -24
  40. data/spec/data/samples/saves.rb.txt +161 -84
  41. data/spec/data/samples/showcase.rb.txt +13 -21
  42. data/spec/data/samples/text_options.rb.txt +48 -39
  43. data/spec/data/samples/tgc_proofs.rb.txt +5 -7
  44. data/spec/data/samples/units.rb.txt +1 -0
  45. data/spec/deck_spec.rb +1 -1
  46. data/spec/graphics/graphics_images_spec.rb +7 -3
  47. data/spec/graphics/graphics_save_doc_spec.rb +36 -39
  48. data/spec/graphics/graphics_shapes_spec.rb +9 -0
  49. data/spec/graphics/graphics_text_spec.rb +73 -62
  50. data/spec/input_helpers_spec.rb +27 -10
  51. data/spec/spec_helper.rb +12 -9
  52. data/squib.gemspec +2 -2
  53. metadata +27 -17
@@ -1,3 +1,4 @@
1
+ cairo: antialias=(["subpixel"])
1
2
  cairo: save([])
2
3
  cairo: set_source([LinearPattern])
3
4
  cairo: paint([])
@@ -10,6 +11,7 @@ cairo: set_line_width([15])
10
11
  cairo: stroke([])
11
12
  cairo: restore([])
12
13
  cairo: save([])
14
+ cairo: move_to([515, 415])
13
15
  cairo: circle([415, 415, 100])
14
16
  cairo: set_source_color(["#0000"])
15
17
  cairo: set_line_width([2.0])
@@ -51,7 +53,7 @@ cairo: translate([75, 700])
51
53
  cairo: rotate([0])
52
54
  cairo: translate([-75, -700])
53
55
  cairo: move_to([75, 700])
54
- pango: font_description=([])
56
+ pango: font_description=([MockDouble])
55
57
  pango: text=(["Hello, world!"])
56
58
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
57
59
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -1,10 +1,12 @@
1
+ cairo: antialias=(["subpixel"])
2
+ cairo: antialias=(["subpixel"])
1
3
  cairo: save([])
2
4
  cairo: set_source_color([:black])
3
5
  cairo: translate([0, 0])
4
6
  cairo: rotate([0])
5
7
  cairo: translate([0, 0])
6
8
  cairo: move_to([0, 0])
7
- pango: font_description=([])
9
+ pango: font_description=([MockDouble])
8
10
  pango: text=(["Hello"])
9
11
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
10
12
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -21,7 +23,7 @@ cairo: translate([0, 0])
21
23
  cairo: rotate([0])
22
24
  cairo: translate([0, 0])
23
25
  cairo: move_to([0, 0])
24
- pango: font_description=([])
26
+ pango: font_description=([MockDouble])
25
27
  pango: text=(["World!"])
26
28
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
27
29
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -1,3 +1,4 @@
1
+ cairo: antialias=(["subpixel"])
1
2
  cairo: save([])
2
3
  cairo: set_source_color(["#0b7c8e"])
3
4
  cairo: paint([])
@@ -18,23 +19,17 @@ cairo: translate([-620, -75])
18
19
  cairo: set_source([ImageSurface, 620, 75])
19
20
  cairo: paint([1.0])
20
21
  cairo: restore([])
21
- cairo: scale([1.0, 1.0])
22
- cairo: render_rsvg_handle([RSVG::Handle, nil])
23
22
  cairo: save([])
24
23
  cairo: translate([620, 218])
25
24
  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])
25
+ cairo: scale([1.0, 1.0])
31
26
  cairo: render_rsvg_handle([RSVG::Handle, nil])
27
+ cairo: restore([])
32
28
  cairo: save([])
33
29
  cairo: translate([50, 50])
34
30
  cairo: rotate([0])
35
- cairo: translate([-50, -50])
36
- cairo: set_source([MockDouble, 50, 50])
37
- cairo: paint([1.0])
31
+ cairo: scale([1.953125, 1.953125])
32
+ cairo: render_rsvg_handle([RSVG::Handle, nil])
38
33
  cairo: restore([])
39
34
  cairo: save([])
40
35
  cairo: translate([305, 50])
@@ -44,32 +39,23 @@ cairo: translate([-305, -50])
44
39
  cairo: set_source([ImageSurface, 305, 50])
45
40
  cairo: paint([1.0])
46
41
  cairo: restore([])
47
- cairo: scale([0.5859375, 0.5859375])
48
- cairo: render_rsvg_handle([RSVG::Handle, "#backdrop"])
49
42
  cairo: save([])
50
43
  cairo: translate([50, 350])
51
44
  cairo: rotate([0])
52
- cairo: translate([-50, -350])
53
- cairo: set_source([MockDouble, 50, 350])
54
- cairo: paint([1.0])
55
- cairo: restore([])
56
- cairo: scale([0.9765625, 0.9765625])
45
+ cairo: scale([0.5859375, 0.5859375])
57
46
  cairo: render_rsvg_handle([RSVG::Handle, "#backdrop"])
47
+ cairo: restore([])
58
48
  cairo: save([])
59
49
  cairo: translate([50, 450])
60
50
  cairo: rotate([0])
61
- cairo: translate([-50, -450])
62
- cairo: set_source([MockDouble, 50, 450])
63
- cairo: paint([1.0])
51
+ cairo: scale([0.9765625, 0.9765625])
52
+ cairo: render_rsvg_handle([RSVG::Handle, "#backdrop"])
64
53
  cairo: restore([])
65
- cairo: scale([0.8021390374331551, 0.8032128514056225])
66
- cairo: render_rsvg_handle([RSVG::Handle, "#thing"])
67
54
  cairo: save([])
68
55
  cairo: translate([0, 0])
69
56
  cairo: rotate([0])
70
- cairo: translate([0, 0])
71
- cairo: set_source([MockDouble, 0, 0])
72
- cairo: paint([1.0])
57
+ cairo: scale([0.8021390374331551, 0.8032128514056225])
58
+ cairo: render_rsvg_handle([RSVG::Handle, "#thing"])
73
59
  cairo: restore([])
74
60
  cairo: save([])
75
61
  cairo: translate([50, 700])
@@ -100,32 +86,27 @@ cairo: translate([-300, -800])
100
86
  cairo: set_source([ImageSurface, 300, 800])
101
87
  cairo: paint([1.0])
102
88
  cairo: restore([])
103
- cairo: scale([1.0, 1.0])
104
- cairo: render_rsvg_handle([RSVG::Handle, nil])
105
89
  cairo: save([])
106
90
  cairo: translate([300, 900])
107
91
  cairo: rotate([1.4707963267948965])
108
- cairo: translate([-300, -900])
109
- cairo: set_source([MockDouble, 300, 900])
110
- cairo: paint([1.0])
111
- cairo: restore([])
112
- cairo: scale([0.390625, 0.390625])
92
+ cairo: scale([1.0, 1.0])
113
93
  cairo: render_rsvg_handle([RSVG::Handle, nil])
94
+ cairo: restore([])
114
95
  cairo: save([])
115
96
  cairo: translate([500, 600])
116
97
  cairo: rotate([0])
117
- cairo: translate([-500, -600])
118
- cairo: set_source_color(["#00ff00"])
119
- cairo: mask([MockDouble, 500, 600])
120
- cairo: restore([])
121
98
  cairo: scale([0.390625, 0.390625])
122
99
  cairo: render_rsvg_handle([RSVG::Handle, nil])
100
+ cairo: set_source_color(["#00ff00"])
101
+ cairo: mask([MockDouble, 0, 0])
102
+ cairo: restore([])
123
103
  cairo: save([])
124
104
  cairo: translate([500, 800])
125
105
  cairo: rotate([0])
126
- cairo: translate([-500, -800])
106
+ cairo: scale([0.390625, 0.390625])
107
+ cairo: render_rsvg_handle([RSVG::Handle, nil])
127
108
  cairo: set_source([LinearPattern])
128
- cairo: mask([MockDouble, 500, 800])
109
+ cairo: mask([MockDouble, 0, 0])
129
110
  cairo: restore([])
130
111
  cairo: save([])
131
112
  cairo: translate([650, 950])
@@ -1,3 +1,4 @@
1
+ cairo: antialias=(["subpixel"])
1
2
  cairo: save([])
2
3
  cairo: set_source_color(["#aaa"])
3
4
  cairo: paint([])
@@ -8,7 +9,7 @@ cairo: translate([0, 0])
8
9
  cairo: rotate([0])
9
10
  cairo: translate([0, 0])
10
11
  cairo: move_to([0, 0])
11
- pango: font_description=([])
12
+ pango: font_description=([MockDouble])
12
13
  pango: text=(["This is portrait"])
13
14
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
14
15
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -20,6 +21,7 @@ cairo: update_pango_layout([MockDouble])
20
21
  cairo: show_pango_layout([MockDouble])
21
22
  cairo: restore([])
22
23
  surface: write_to_png(["_output/portrait_00.png"])
24
+ cairo: antialias=(["subpixel"])
23
25
  cairo: save([])
24
26
  cairo: set_source_color(["#aaa"])
25
27
  cairo: paint([])
@@ -30,7 +32,7 @@ cairo: translate([0, 0])
30
32
  cairo: rotate([0])
31
33
  cairo: translate([0, 0])
32
34
  cairo: move_to([0, 0])
33
- pango: font_description=([])
35
+ pango: font_description=([MockDouble])
34
36
  pango: text=(["This is landscape"])
35
37
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
36
38
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -1,3 +1,6 @@
1
+ cairo: antialias=(["subpixel"])
2
+ cairo: antialias=(["subpixel"])
3
+ cairo: antialias=(["subpixel"])
1
4
  cairo: save([])
2
5
  cairo: set_source_color([:white])
3
6
  cairo: paint([])
@@ -16,7 +19,7 @@ cairo: translate([250, 55])
16
19
  cairo: rotate([0])
17
20
  cairo: translate([-250, -55])
18
21
  cairo: move_to([250, 55])
19
- pango: font_description=([])
22
+ pango: font_description=([MockDouble])
20
23
  pango: text=(["Thief"])
21
24
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
22
25
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -33,7 +36,7 @@ cairo: translate([250, 55])
33
36
  cairo: rotate([0])
34
37
  cairo: translate([-250, -55])
35
38
  cairo: move_to([250, 55])
36
- pango: font_description=([])
39
+ pango: font_description=([MockDouble])
37
40
  pango: text=(["Grifter"])
38
41
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
39
42
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -50,7 +53,7 @@ cairo: translate([250, 55])
50
53
  cairo: rotate([0])
51
54
  cairo: translate([-250, -55])
52
55
  cairo: move_to([250, 55])
53
- pango: font_description=([])
56
+ pango: font_description=([MockDouble])
54
57
  pango: text=(["Mastermind"])
55
58
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
56
59
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -67,7 +70,7 @@ cairo: translate([65, 40])
67
70
  cairo: rotate([0])
68
71
  cairo: translate([-65, -40])
69
72
  cairo: move_to([65, 40])
70
- pango: font_description=([])
73
+ pango: font_description=([MockDouble])
71
74
  pango: text=(["1"])
72
75
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
73
76
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -84,7 +87,7 @@ cairo: translate([65, 40])
84
87
  cairo: rotate([0])
85
88
  cairo: translate([-65, -40])
86
89
  cairo: move_to([65, 40])
87
- pango: font_description=([])
90
+ pango: font_description=([MockDouble])
88
91
  pango: text=(["2"])
89
92
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
90
93
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -101,7 +104,7 @@ cairo: translate([65, 40])
101
104
  cairo: rotate([0])
102
105
  cairo: translate([-65, -40])
103
106
  cairo: move_to([65, 40])
104
- pango: font_description=([])
107
+ pango: font_description=([MockDouble])
105
108
  pango: text=(["3"])
106
109
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
107
110
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -118,7 +121,7 @@ cairo: translate([40, 128])
118
121
  cairo: rotate([0])
119
122
  cairo: translate([-40, -128])
120
123
  cairo: move_to([40, 128])
121
- pango: font_description=([])
124
+ pango: font_description=([MockDouble])
122
125
  pango: text=(["Thug"])
123
126
  pango: width=([102400])
124
127
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
@@ -136,7 +139,7 @@ cairo: translate([40, 128])
136
139
  cairo: rotate([0])
137
140
  cairo: translate([-40, -128])
138
141
  cairo: move_to([40, 128])
139
- pango: font_description=([])
142
+ pango: font_description=([MockDouble])
140
143
  pango: text=(["Thinker"])
141
144
  pango: width=([102400])
142
145
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
@@ -154,7 +157,7 @@ cairo: translate([40, 128])
154
157
  cairo: rotate([0])
155
158
  cairo: translate([-40, -128])
156
159
  cairo: move_to([40, 128])
157
- pango: font_description=([])
160
+ pango: font_description=([MockDouble])
158
161
  pango: text=(["Thinker"])
159
162
  pango: width=([102400])
160
163
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
@@ -172,7 +175,7 @@ cairo: translate([25, 200])
172
175
  cairo: rotate([0])
173
176
  cairo: translate([-25, -200])
174
177
  cairo: move_to([25, 200])
175
- pango: font_description=([])
178
+ pango: font_description=([MockDouble])
176
179
  pango: text=(["Thief and Grifter only!!"])
177
180
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
178
181
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -189,7 +192,7 @@ cairo: translate([25, 200])
189
192
  cairo: rotate([0])
190
193
  cairo: translate([-25, -200])
191
194
  cairo: move_to([25, 200])
192
- pango: font_description=([])
195
+ pango: font_description=([MockDouble])
193
196
  pango: text=(["Thief and Grifter only!!"])
194
197
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
195
198
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -206,7 +209,7 @@ cairo: translate([25, 250])
206
209
  cairo: rotate([0])
207
210
  cairo: translate([-25, -250])
208
211
  cairo: move_to([25, 250])
209
- pango: font_description=([])
212
+ pango: font_description=([MockDouble])
210
213
  pango: text=(["Thief only!"])
211
214
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
212
215
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -223,7 +226,7 @@ cairo: translate([25, 250])
223
226
  cairo: rotate([0])
224
227
  cairo: translate([-25, -250])
225
228
  cairo: move_to([25, 250])
226
- pango: font_description=([])
229
+ pango: font_description=([MockDouble])
227
230
  pango: text=(["Mastermind only!"])
228
231
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
229
232
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -240,7 +243,7 @@ cairo: translate([25, 650])
240
243
  cairo: rotate([0])
241
244
  cairo: translate([-25, -650])
242
245
  cairo: move_to([25, 650])
243
- pango: font_description=([])
246
+ pango: font_description=([MockDouble])
244
247
  pango: text=(["Grifter and Mastermind only!"])
245
248
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
246
249
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -257,7 +260,7 @@ cairo: translate([25, 650])
257
260
  cairo: rotate([0])
258
261
  cairo: translate([-25, -650])
259
262
  cairo: move_to([25, 650])
260
- pango: font_description=([])
263
+ pango: font_description=([MockDouble])
261
264
  pango: text=(["Grifter and Mastermind only!"])
262
265
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
263
266
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -274,7 +277,7 @@ cairo: translate([25, 300])
274
277
  cairo: rotate([0])
275
278
  cairo: translate([-25, -300])
276
279
  cairo: move_to([25, 300])
277
- pango: font_description=([])
280
+ pango: font_description=([MockDouble])
278
281
  pango: text=(["Thief and Mastermind only!!"])
279
282
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
280
283
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -291,7 +294,7 @@ cairo: translate([25, 300])
291
294
  cairo: rotate([0])
292
295
  cairo: translate([-25, -300])
293
296
  cairo: move_to([25, 300])
294
- pango: font_description=([])
297
+ pango: font_description=([MockDouble])
295
298
  pango: text=(["Thief and Mastermind only!!"])
296
299
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
297
300
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -308,7 +311,7 @@ cairo: translate([40, 700])
308
311
  cairo: rotate([0])
309
312
  cairo: translate([-40, -700])
310
313
  cairo: move_to([40, 700])
311
- pango: font_description=([])
314
+ pango: font_description=([MockDouble])
312
315
  pango: text=(["red"])
313
316
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
314
317
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -325,7 +328,7 @@ cairo: translate([80, 750])
325
328
  cairo: rotate([0])
326
329
  cairo: translate([-80, -750])
327
330
  cairo: move_to([80, 750])
328
- pango: font_description=([])
331
+ pango: font_description=([MockDouble])
329
332
  pango: text=(["green"])
330
333
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
331
334
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -342,7 +345,7 @@ cairo: translate([120, 800])
342
345
  cairo: rotate([0])
343
346
  cairo: translate([-120, -800])
344
347
  cairo: move_to([120, 800])
345
- pango: font_description=([])
348
+ pango: font_description=([MockDouble])
346
349
  pango: text=(["blue"])
347
350
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
348
351
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -359,7 +362,7 @@ cairo: translate([25, 400])
359
362
  cairo: rotate([0])
360
363
  cairo: translate([-25, -400])
361
364
  cairo: move_to([25, 400])
362
- pango: font_description=([])
365
+ pango: font_description=([MockDouble])
363
366
  pango: text=(["Thief through Grifter with id lookup!!"])
364
367
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
365
368
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -376,7 +379,7 @@ cairo: translate([25, 400])
376
379
  cairo: rotate([0])
377
380
  cairo: translate([-25, -400])
378
381
  cairo: move_to([25, 400])
379
- pango: font_description=([])
382
+ pango: font_description=([MockDouble])
380
383
  pango: text=(["Thief through Grifter with id lookup!!"])
381
384
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
382
385
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -393,7 +396,7 @@ cairo: translate([25, 500])
393
396
  cairo: rotate([0])
394
397
  cairo: translate([-25, -500])
395
398
  cairo: move_to([25, 500])
396
- pango: font_description=([])
399
+ pango: font_description=([MockDouble])
397
400
  pango: text=(["Only for Thinkers!"])
398
401
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
399
402
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -410,7 +413,7 @@ cairo: translate([25, 500])
410
413
  cairo: rotate([0])
411
414
  cairo: translate([-25, -500])
412
415
  cairo: move_to([25, 500])
413
- pango: font_description=([])
416
+ pango: font_description=([MockDouble])
414
417
  pango: text=(["Only for Thinkers!"])
415
418
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
416
419
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -1,3 +1,19 @@
1
+ cairo: antialias=(["subpixel"])
2
+ cairo: antialias=(["subpixel"])
3
+ cairo: antialias=(["subpixel"])
4
+ cairo: antialias=(["subpixel"])
5
+ cairo: antialias=(["subpixel"])
6
+ cairo: antialias=(["subpixel"])
7
+ cairo: antialias=(["subpixel"])
8
+ cairo: antialias=(["subpixel"])
9
+ cairo: antialias=(["subpixel"])
10
+ cairo: antialias=(["subpixel"])
11
+ cairo: antialias=(["subpixel"])
12
+ cairo: antialias=(["subpixel"])
13
+ cairo: antialias=(["subpixel"])
14
+ cairo: antialias=(["subpixel"])
15
+ cairo: antialias=(["subpixel"])
16
+ cairo: antialias=(["subpixel"])
1
17
  cairo: save([])
2
18
  cairo: set_source_color([:gray])
3
19
  cairo: paint([])
@@ -212,7 +228,7 @@ cairo: translate([220, 78])
212
228
  cairo: rotate([0])
213
229
  cairo: translate([-220, -78])
214
230
  cairo: move_to([220, 78])
215
- pango: font_description=([])
231
+ pango: font_description=([MockDouble])
216
232
  pango: text=(["1"])
217
233
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
218
234
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -229,7 +245,7 @@ cairo: translate([220, 78])
229
245
  cairo: rotate([0])
230
246
  cairo: translate([-220, -78])
231
247
  cairo: move_to([220, 78])
232
- pango: font_description=([])
248
+ pango: font_description=([MockDouble])
233
249
  pango: text=(["2"])
234
250
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
235
251
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -246,7 +262,7 @@ cairo: translate([220, 78])
246
262
  cairo: rotate([0])
247
263
  cairo: translate([-220, -78])
248
264
  cairo: move_to([220, 78])
249
- pango: font_description=([])
265
+ pango: font_description=([MockDouble])
250
266
  pango: text=(["3"])
251
267
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
252
268
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -263,7 +279,7 @@ cairo: translate([220, 78])
263
279
  cairo: rotate([0])
264
280
  cairo: translate([-220, -78])
265
281
  cairo: move_to([220, 78])
266
- pango: font_description=([])
282
+ pango: font_description=([MockDouble])
267
283
  pango: text=(["4"])
268
284
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
269
285
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -280,7 +296,7 @@ cairo: translate([220, 78])
280
296
  cairo: rotate([0])
281
297
  cairo: translate([-220, -78])
282
298
  cairo: move_to([220, 78])
283
- pango: font_description=([])
299
+ pango: font_description=([MockDouble])
284
300
  pango: text=(["5"])
285
301
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
286
302
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -297,7 +313,7 @@ cairo: translate([220, 78])
297
313
  cairo: rotate([0])
298
314
  cairo: translate([-220, -78])
299
315
  cairo: move_to([220, 78])
300
- pango: font_description=([])
316
+ pango: font_description=([MockDouble])
301
317
  pango: text=(["6"])
302
318
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
303
319
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -314,7 +330,7 @@ cairo: translate([220, 78])
314
330
  cairo: rotate([0])
315
331
  cairo: translate([-220, -78])
316
332
  cairo: move_to([220, 78])
317
- pango: font_description=([])
333
+ pango: font_description=([MockDouble])
318
334
  pango: text=(["7"])
319
335
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
320
336
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -331,7 +347,7 @@ cairo: translate([220, 78])
331
347
  cairo: rotate([0])
332
348
  cairo: translate([-220, -78])
333
349
  cairo: move_to([220, 78])
334
- pango: font_description=([])
350
+ pango: font_description=([MockDouble])
335
351
  pango: text=(["8"])
336
352
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
337
353
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -348,7 +364,7 @@ cairo: translate([220, 78])
348
364
  cairo: rotate([0])
349
365
  cairo: translate([-220, -78])
350
366
  cairo: move_to([220, 78])
351
- pango: font_description=([])
367
+ pango: font_description=([MockDouble])
352
368
  pango: text=(["9"])
353
369
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
354
370
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -365,7 +381,7 @@ cairo: translate([220, 78])
365
381
  cairo: rotate([0])
366
382
  cairo: translate([-220, -78])
367
383
  cairo: move_to([220, 78])
368
- pango: font_description=([])
384
+ pango: font_description=([MockDouble])
369
385
  pango: text=(["10"])
370
386
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
371
387
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -382,7 +398,7 @@ cairo: translate([220, 78])
382
398
  cairo: rotate([0])
383
399
  cairo: translate([-220, -78])
384
400
  cairo: move_to([220, 78])
385
- pango: font_description=([])
401
+ pango: font_description=([MockDouble])
386
402
  pango: text=(["11"])
387
403
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
388
404
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -399,7 +415,7 @@ cairo: translate([220, 78])
399
415
  cairo: rotate([0])
400
416
  cairo: translate([-220, -78])
401
417
  cairo: move_to([220, 78])
402
- pango: font_description=([])
418
+ pango: font_description=([MockDouble])
403
419
  pango: text=(["12"])
404
420
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
405
421
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -416,7 +432,7 @@ cairo: translate([220, 78])
416
432
  cairo: rotate([0])
417
433
  cairo: translate([-220, -78])
418
434
  cairo: move_to([220, 78])
419
- pango: font_description=([])
435
+ pango: font_description=([MockDouble])
420
436
  pango: text=(["13"])
421
437
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
422
438
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -433,7 +449,7 @@ cairo: translate([220, 78])
433
449
  cairo: rotate([0])
434
450
  cairo: translate([-220, -78])
435
451
  cairo: move_to([220, 78])
436
- pango: font_description=([])
452
+ pango: font_description=([MockDouble])
437
453
  pango: text=(["14"])
438
454
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
439
455
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -450,7 +466,7 @@ cairo: translate([220, 78])
450
466
  cairo: rotate([0])
451
467
  cairo: translate([-220, -78])
452
468
  cairo: move_to([220, 78])
453
- pango: font_description=([])
469
+ pango: font_description=([MockDouble])
454
470
  pango: text=(["15"])
455
471
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
456
472
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -467,7 +483,7 @@ cairo: translate([220, 78])
467
483
  cairo: rotate([0])
468
484
  cairo: translate([-220, -78])
469
485
  cairo: move_to([220, 78])
470
- pango: font_description=([])
486
+ pango: font_description=([MockDouble])
471
487
  pango: text=(["16"])
472
488
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
473
489
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -478,74 +494,135 @@ cairo: update_pango_layout([MockDouble])
478
494
  cairo: update_pango_layout([MockDouble])
479
495
  cairo: show_pango_layout([MockDouble])
480
496
  cairo: restore([])
481
- cairo: set_source([MockDouble, -37, -37])
482
- cairo: paint([])
483
- cairo: set_source([MockDouble, 75, 75])
484
- cairo: paint([])
485
- cairo: set_source([MockDouble, -37, -37])
486
- cairo: paint([])
487
- cairo: set_source([MockDouble, 180, 75])
488
- cairo: paint([])
489
- cairo: set_source([MockDouble, -37, -37])
490
- cairo: paint([])
491
- cairo: set_source([MockDouble, 285, 75])
492
- cairo: paint([])
493
- cairo: set_source([MockDouble, -37, -37])
494
- cairo: paint([])
495
- cairo: set_source([MockDouble, 390, 75])
496
- cairo: paint([])
497
- cairo: set_source([MockDouble, -37, -37])
498
- cairo: paint([])
499
- cairo: set_source([MockDouble, 495, 75])
500
- cairo: paint([])
501
- cairo: set_source([MockDouble, -37, -37])
502
- cairo: paint([])
503
- cairo: set_source([MockDouble, 600, 75])
504
- cairo: paint([])
505
- cairo: set_source([MockDouble, -37, -37])
506
- cairo: paint([])
507
- cairo: set_source([MockDouble, 705, 75])
508
- cairo: paint([])
509
- cairo: set_source([MockDouble, -37, -37])
510
- cairo: paint([])
511
- cairo: set_source([MockDouble, 810, 75])
512
- cairo: paint([])
513
- cairo: set_source([MockDouble, -37, -37])
514
- cairo: paint([])
515
- cairo: set_source([MockDouble, 915, 75])
516
- cairo: paint([])
517
- cairo: set_source([MockDouble, -37, -37])
518
- cairo: paint([])
519
- cairo: set_source([MockDouble, 1020, 75])
520
- cairo: paint([])
521
- cairo: set_source([MockDouble, -37, -37])
522
- cairo: paint([])
523
- cairo: set_source([MockDouble, 1125, 75])
524
- cairo: paint([])
525
- cairo: set_source([MockDouble, -37, -37])
526
- cairo: paint([])
527
- cairo: set_source([MockDouble, 1230, 75])
528
- cairo: paint([])
529
- cairo: set_source([MockDouble, -37, -37])
530
- cairo: paint([])
531
- cairo: set_source([MockDouble, 1335, 75])
532
- cairo: paint([])
533
- cairo: set_source([MockDouble, -37, -37])
534
- cairo: paint([])
535
- cairo: set_source([MockDouble, 1440, 75])
536
- cairo: paint([])
537
- cairo: set_source([MockDouble, -37, -37])
538
- cairo: paint([])
539
- cairo: set_source([MockDouble, 1545, 75])
540
- cairo: paint([])
541
- cairo: set_source([MockDouble, -37, -37])
542
- cairo: paint([])
543
- cairo: set_source([MockDouble, 1650, 75])
544
- cairo: paint([])
545
- cairo: set_source([MockDouble, 75, 75])
546
- cairo: paint([])
547
- cairo: set_source([MockDouble, 175, 75])
548
- cairo: paint([])
497
+ cairo: translate([75, 75])
498
+ cairo: rectangle([37, 37, 751, 1051])
499
+ cairo: clip([])
500
+ cairo: set_source([MockDouble, 0, 0])
501
+ cairo: paint([])
502
+ cairo: reset_clip([])
503
+ cairo: translate([-75, -75])
504
+ cairo: translate([831, 75])
505
+ cairo: rectangle([37, 37, 751, 1051])
506
+ cairo: clip([])
507
+ cairo: set_source([MockDouble, 0, 0])
508
+ cairo: paint([])
509
+ cairo: reset_clip([])
510
+ cairo: translate([-831, -75])
511
+ cairo: translate([1587, 75])
512
+ cairo: rectangle([37, 37, 751, 1051])
513
+ cairo: clip([])
514
+ cairo: set_source([MockDouble, 0, 0])
515
+ cairo: paint([])
516
+ cairo: reset_clip([])
517
+ cairo: translate([-1587, -75])
518
+ cairo: translate([2343, 75])
519
+ cairo: rectangle([37, 37, 751, 1051])
520
+ cairo: clip([])
521
+ cairo: set_source([MockDouble, 0, 0])
522
+ cairo: paint([])
523
+ cairo: reset_clip([])
524
+ cairo: translate([-2343, -75])
525
+ cairo: translate([75, 1131])
526
+ cairo: rectangle([37, 37, 751, 1051])
527
+ cairo: clip([])
528
+ cairo: set_source([MockDouble, 0, 0])
529
+ cairo: paint([])
530
+ cairo: reset_clip([])
531
+ cairo: translate([-75, -1131])
532
+ cairo: translate([831, 1131])
533
+ cairo: rectangle([37, 37, 751, 1051])
534
+ cairo: clip([])
535
+ cairo: set_source([MockDouble, 0, 0])
536
+ cairo: paint([])
537
+ cairo: reset_clip([])
538
+ cairo: translate([-831, -1131])
539
+ cairo: translate([1587, 1131])
540
+ cairo: rectangle([37, 37, 751, 1051])
541
+ cairo: clip([])
542
+ cairo: set_source([MockDouble, 0, 0])
543
+ cairo: paint([])
544
+ cairo: reset_clip([])
545
+ cairo: translate([-1587, -1131])
546
+ cairo: translate([2343, 1131])
547
+ cairo: rectangle([37, 37, 751, 1051])
548
+ cairo: clip([])
549
+ cairo: set_source([MockDouble, 0, 0])
550
+ cairo: paint([])
551
+ cairo: reset_clip([])
552
+ cairo: translate([-2343, -1131])
553
+ cairo: show_page([])
554
+ cairo: translate([75, 75])
555
+ cairo: rectangle([37, 37, 751, 1051])
556
+ cairo: clip([])
557
+ cairo: set_source([MockDouble, 0, 0])
558
+ cairo: paint([])
559
+ cairo: reset_clip([])
560
+ cairo: translate([-75, -75])
561
+ cairo: translate([831, 75])
562
+ cairo: rectangle([37, 37, 751, 1051])
563
+ cairo: clip([])
564
+ cairo: set_source([MockDouble, 0, 0])
565
+ cairo: paint([])
566
+ cairo: reset_clip([])
567
+ cairo: translate([-831, -75])
568
+ cairo: translate([1587, 75])
569
+ cairo: rectangle([37, 37, 751, 1051])
570
+ cairo: clip([])
571
+ cairo: set_source([MockDouble, 0, 0])
572
+ cairo: paint([])
573
+ cairo: reset_clip([])
574
+ cairo: translate([-1587, -75])
575
+ cairo: translate([2343, 75])
576
+ cairo: rectangle([37, 37, 751, 1051])
577
+ cairo: clip([])
578
+ cairo: set_source([MockDouble, 0, 0])
579
+ cairo: paint([])
580
+ cairo: reset_clip([])
581
+ cairo: translate([-2343, -75])
582
+ cairo: translate([75, 1131])
583
+ cairo: rectangle([37, 37, 751, 1051])
584
+ cairo: clip([])
585
+ cairo: set_source([MockDouble, 0, 0])
586
+ cairo: paint([])
587
+ cairo: reset_clip([])
588
+ cairo: translate([-75, -1131])
589
+ cairo: translate([831, 1131])
590
+ cairo: rectangle([37, 37, 751, 1051])
591
+ cairo: clip([])
592
+ cairo: set_source([MockDouble, 0, 0])
593
+ cairo: paint([])
594
+ cairo: reset_clip([])
595
+ cairo: translate([-831, -1131])
596
+ cairo: translate([1587, 1131])
597
+ cairo: rectangle([37, 37, 751, 1051])
598
+ cairo: clip([])
599
+ cairo: set_source([MockDouble, 0, 0])
600
+ cairo: paint([])
601
+ cairo: reset_clip([])
602
+ cairo: translate([-1587, -1131])
603
+ cairo: translate([2343, 1131])
604
+ cairo: rectangle([37, 37, 751, 1051])
605
+ cairo: clip([])
606
+ cairo: set_source([MockDouble, 0, 0])
607
+ cairo: paint([])
608
+ cairo: reset_clip([])
609
+ cairo: translate([-2343, -1131])
610
+ cairo: show_page([])
611
+ cairo: translate([75, 75])
612
+ cairo: rectangle([0, 0, 825, 1125])
613
+ cairo: clip([])
614
+ cairo: set_source([MockDouble, 0, 0])
615
+ cairo: paint([])
616
+ cairo: reset_clip([])
617
+ cairo: translate([-75, -75])
618
+ cairo: translate([900, 75])
619
+ cairo: rectangle([0, 0, 825, 1125])
620
+ cairo: clip([])
621
+ cairo: set_source([MockDouble, 0, 0])
622
+ cairo: paint([])
623
+ cairo: reset_clip([])
624
+ cairo: translate([-900, -75])
625
+ cairo: show_page([])
549
626
  surface: write_to_png(["_output/saves_notrim_01.png"])
550
627
  cairo: set_source([MockDouble, -37, -37])
551
628
  cairo: paint([])