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,7 @@
1
+ cairo: antialias=(["subpixel"])
2
+ cairo: antialias=(["subpixel"])
3
+ cairo: antialias=(["subpixel"])
4
+ cairo: antialias=(["subpixel"])
1
5
  cairo: save([])
2
6
  cairo: set_source_color(["#CE534D"])
3
7
  cairo: paint([])
@@ -56,7 +60,7 @@ cairo: translate([78, 78])
56
60
  cairo: rotate([0])
57
61
  cairo: translate([-78, -78])
58
62
  cairo: move_to([78, 78])
59
- pango: font_description=([])
63
+ pango: font_description=([MockDouble])
60
64
  pango: text=(["Grifter"])
61
65
  pango: width=([691200.0])
62
66
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
@@ -74,7 +78,7 @@ cairo: translate([78, 78])
74
78
  cairo: rotate([0])
75
79
  cairo: translate([-78, -78])
76
80
  cairo: move_to([78, 78])
77
- pango: font_description=([])
81
+ pango: font_description=([MockDouble])
78
82
  pango: text=(["Thief"])
79
83
  pango: width=([691200.0])
80
84
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
@@ -92,7 +96,7 @@ cairo: translate([78, 78])
92
96
  cairo: rotate([0])
93
97
  cairo: translate([-78, -78])
94
98
  cairo: move_to([78, 78])
95
- pango: font_description=([])
99
+ pango: font_description=([MockDouble])
96
100
  pango: text=(["Thug"])
97
101
  pango: width=([691200.0])
98
102
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
@@ -110,7 +114,7 @@ cairo: translate([78, 78])
110
114
  cairo: rotate([0])
111
115
  cairo: translate([-78, -78])
112
116
  cairo: move_to([78, 78])
113
- pango: font_description=([])
117
+ pango: font_description=([MockDouble])
114
118
  pango: text=(["Kingpin"])
115
119
  pango: width=([691200.0])
116
120
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
@@ -122,41 +126,29 @@ cairo: update_pango_layout([MockDouble])
122
126
  cairo: update_pango_layout([MockDouble])
123
127
  cairo: show_pango_layout([MockDouble])
124
128
  cairo: restore([])
125
- cairo: scale([3.90625, 3.90625])
126
- cairo: render_rsvg_handle([RSVG::Handle, nil])
127
129
  cairo: save([])
128
130
  cairo: translate([162, 500])
129
131
  cairo: rotate([0])
130
- cairo: translate([-162, -500])
131
- cairo: set_source([MockDouble, 162, 500])
132
- cairo: paint([1.0])
133
- cairo: restore([])
134
132
  cairo: scale([3.90625, 3.90625])
135
133
  cairo: render_rsvg_handle([RSVG::Handle, nil])
134
+ cairo: restore([])
136
135
  cairo: save([])
137
136
  cairo: translate([162, 500])
138
137
  cairo: rotate([0])
139
- cairo: translate([-162, -500])
140
- cairo: set_source([MockDouble, 162, 500])
141
- cairo: paint([1.0])
142
- cairo: restore([])
143
138
  cairo: scale([3.90625, 3.90625])
144
139
  cairo: render_rsvg_handle([RSVG::Handle, nil])
140
+ cairo: restore([])
145
141
  cairo: save([])
146
142
  cairo: translate([162, 500])
147
143
  cairo: rotate([0])
148
- cairo: translate([-162, -500])
149
- cairo: set_source([MockDouble, 162, 500])
150
- cairo: paint([1.0])
151
- cairo: restore([])
152
144
  cairo: scale([3.90625, 3.90625])
153
145
  cairo: render_rsvg_handle([RSVG::Handle, nil])
146
+ cairo: restore([])
154
147
  cairo: save([])
155
148
  cairo: translate([162, 500])
156
149
  cairo: rotate([0])
157
- cairo: translate([-162, -500])
158
- cairo: set_source([MockDouble, 162, 500])
159
- cairo: paint([1.0])
150
+ cairo: scale([3.90625, 3.90625])
151
+ cairo: render_rsvg_handle([RSVG::Handle, nil])
160
152
  cairo: restore([])
161
153
  cairo: set_source_color([:white])
162
154
  cairo: paint([])
@@ -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([])
@@ -70,7 +73,7 @@ cairo: translate([250, 55])
70
73
  cairo: rotate([0])
71
74
  cairo: translate([-250, -55])
72
75
  cairo: move_to([250, 55])
73
- pango: font_description=([])
76
+ pango: font_description=([MockDouble])
74
77
  pango: text=(["Thief"])
75
78
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
76
79
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -87,7 +90,7 @@ cairo: translate([250, 55])
87
90
  cairo: rotate([0])
88
91
  cairo: translate([-250, -55])
89
92
  cairo: move_to([250, 55])
90
- pango: font_description=([])
93
+ pango: font_description=([MockDouble])
91
94
  pango: text=(["Grifter"])
92
95
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
93
96
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -104,7 +107,7 @@ cairo: translate([250, 55])
104
107
  cairo: rotate([0])
105
108
  cairo: translate([-250, -55])
106
109
  cairo: move_to([250, 55])
107
- pango: font_description=([])
110
+ pango: font_description=([MockDouble])
108
111
  pango: text=(["Mastermind"])
109
112
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
110
113
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -121,7 +124,7 @@ cairo: translate([65, 40])
121
124
  cairo: rotate([0])
122
125
  cairo: translate([-65, -40])
123
126
  cairo: move_to([65, 40])
124
- pango: font_description=([])
127
+ pango: font_description=([MockDouble])
125
128
  pango: text=(["1"])
126
129
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
127
130
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -138,7 +141,7 @@ cairo: translate([65, 40])
138
141
  cairo: rotate([0])
139
142
  cairo: translate([-65, -40])
140
143
  cairo: move_to([65, 40])
141
- pango: font_description=([])
144
+ pango: font_description=([MockDouble])
142
145
  pango: text=(["2"])
143
146
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
144
147
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -155,7 +158,7 @@ cairo: translate([65, 40])
155
158
  cairo: rotate([0])
156
159
  cairo: translate([-65, -40])
157
160
  cairo: move_to([65, 40])
158
- pango: font_description=([])
161
+ pango: font_description=([MockDouble])
159
162
  pango: text=(["3"])
160
163
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
161
164
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -172,7 +175,7 @@ cairo: translate([65, 200])
172
175
  cairo: rotate([0])
173
176
  cairo: translate([-65, -200])
174
177
  cairo: move_to([65, 200])
175
- pango: font_description=([])
178
+ pango: font_description=([MockDouble])
176
179
  pango: text=(["Font strings are expressive!"])
177
180
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
178
181
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -189,7 +192,7 @@ cairo: translate([65, 200])
189
192
  cairo: rotate([0])
190
193
  cairo: translate([-65, -200])
191
194
  cairo: move_to([65, 200])
192
- pango: font_description=([])
195
+ pango: font_description=([MockDouble])
193
196
  pango: text=(["Font strings are expressive!"])
194
197
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
195
198
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -206,7 +209,7 @@ cairo: translate([65, 200])
206
209
  cairo: rotate([0])
207
210
  cairo: translate([-65, -200])
208
211
  cairo: move_to([65, 200])
209
- pango: font_description=([])
212
+ pango: font_description=([MockDouble])
210
213
  pango: text=(["Font strings are expressive!"])
211
214
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
212
215
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -223,7 +226,7 @@ cairo: translate([65, 300])
223
226
  cairo: rotate([0])
224
227
  cairo: translate([-65, -300])
225
228
  cairo: move_to([65, 300])
226
- pango: font_description=([])
229
+ pango: font_description=([MockDouble])
227
230
  pango: text=(["Font strings are expressive!"])
228
231
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
229
232
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -240,7 +243,7 @@ cairo: translate([65, 300])
240
243
  cairo: rotate([0])
241
244
  cairo: translate([-65, -300])
242
245
  cairo: move_to([65, 300])
243
- pango: font_description=([])
246
+ pango: font_description=([MockDouble])
244
247
  pango: text=(["Font strings are expressive!"])
245
248
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
246
249
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -257,7 +260,7 @@ cairo: translate([65, 300])
257
260
  cairo: rotate([0])
258
261
  cairo: translate([-65, -300])
259
262
  cairo: move_to([65, 300])
260
- pango: font_description=([])
263
+ pango: font_description=([MockDouble])
261
264
  pango: text=(["Font strings are expressive!"])
262
265
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
263
266
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -274,7 +277,8 @@ cairo: translate([65, 350])
274
277
  cairo: rotate([0])
275
278
  cairo: translate([-65, -350])
276
279
  cairo: move_to([65, 350])
277
- pango: font_description=([])
280
+ pango font: size=([16384])
281
+ pango: font_description=([MockDouble])
278
282
  pango: text=(["Font string sizes can be overridden per card."])
279
283
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
280
284
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -291,7 +295,8 @@ cairo: translate([65, 350])
291
295
  cairo: rotate([0])
292
296
  cairo: translate([-65, -350])
293
297
  cairo: move_to([65, 350])
294
- pango: font_description=([])
298
+ pango font: size=([20480])
299
+ pango: font_description=([MockDouble])
295
300
  pango: text=(["Font string sizes can be overridden per card."])
296
301
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
297
302
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -308,7 +313,8 @@ cairo: translate([65, 350])
308
313
  cairo: rotate([0])
309
314
  cairo: translate([-65, -350])
310
315
  cairo: move_to([65, 350])
311
- pango: font_description=([])
316
+ pango font: size=([24576])
317
+ pango: font_description=([MockDouble])
312
318
  pango: text=(["Font string sizes can be overridden per card."])
313
319
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
314
320
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -325,7 +331,7 @@ cairo: translate([65, 400])
325
331
  cairo: rotate([0])
326
332
  cairo: translate([-65, -400])
327
333
  cairo: move_to([65, 400])
328
- pango: font_description=([])
334
+ pango: font_description=([MockDouble])
329
335
  pango: text=(["This text has fixed width, fixed height, center-aligned, middle-valigned, and has a red hint"])
330
336
  pango: width=([307200])
331
337
  pango: height=([128000])
@@ -348,7 +354,7 @@ cairo: translate([65, 400])
348
354
  cairo: rotate([0])
349
355
  cairo: translate([-65, -400])
350
356
  cairo: move_to([65, 400])
351
- pango: font_description=([])
357
+ pango: font_description=([MockDouble])
352
358
  pango: text=(["This text has fixed width, fixed height, center-aligned, middle-valigned, and has a red hint"])
353
359
  pango: width=([307200])
354
360
  pango: height=([128000])
@@ -371,7 +377,7 @@ cairo: translate([65, 400])
371
377
  cairo: rotate([0])
372
378
  cairo: translate([-65, -400])
373
379
  cairo: move_to([65, 400])
374
- pango: font_description=([])
380
+ pango: font_description=([MockDouble])
375
381
  pango: text=(["This text has fixed width, fixed height, center-aligned, middle-valigned, and has a red hint"])
376
382
  pango: width=([307200])
377
383
  pango: height=([128000])
@@ -394,7 +400,8 @@ cairo: translate([65, 550])
394
400
  cairo: rotate([0])
395
401
  cairo: translate([-65, -550])
396
402
  cairo: move_to([65, 550])
397
- pango: font_description=([])
403
+ pango font: size=([16384])
404
+ pango: font_description=([MockDouble])
398
405
  pango: text=(["Ink extent return value"])
399
406
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
400
407
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -411,7 +418,8 @@ cairo: translate([65, 550])
411
418
  cairo: rotate([0])
412
419
  cairo: translate([-65, -550])
413
420
  cairo: move_to([65, 550])
414
- pango: font_description=([])
421
+ pango font: size=([20480])
422
+ pango: font_description=([MockDouble])
415
423
  pango: text=(["Ink extent return value"])
416
424
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
417
425
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -428,7 +436,8 @@ cairo: translate([65, 550])
428
436
  cairo: rotate([0])
429
437
  cairo: translate([-65, -550])
430
438
  cairo: move_to([65, 550])
431
- pango: font_description=([])
439
+ pango font: size=([24576])
440
+ pango: font_description=([MockDouble])
432
441
  pango: text=(["Ink extent return value"])
433
442
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
434
443
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -472,7 +481,7 @@ cairo: translate([450, 400])
472
481
  cairo: rotate([0])
473
482
  cairo: translate([-450, -400])
474
483
  cairo: move_to([450, 400])
475
- pango: font_description=([])
484
+ pango: font_description=([MockDouble])
476
485
  pango: text=(["Ellipsization!\nThe ultimate question of life, the universe, and everything to life and everything is 42"])
477
486
  pango: width=([286720])
478
487
  pango: height=([184320])
@@ -495,7 +504,7 @@ cairo: translate([450, 400])
495
504
  cairo: rotate([0])
496
505
  cairo: translate([-450, -400])
497
506
  cairo: move_to([450, 400])
498
- pango: font_description=([])
507
+ pango: font_description=([MockDouble])
499
508
  pango: text=(["Ellipsization!\nThe ultimate question of life, the universe, and everything to life and everything is 42"])
500
509
  pango: width=([286720])
501
510
  pango: height=([184320])
@@ -518,7 +527,7 @@ cairo: translate([450, 400])
518
527
  cairo: rotate([0])
519
528
  cairo: translate([-450, -400])
520
529
  cairo: move_to([450, 400])
521
- pango: font_description=([])
530
+ pango: font_description=([MockDouble])
522
531
  pango: text=(["Ellipsization!\nThe ultimate question of life, the universe, and everything to life and everything is 42"])
523
532
  pango: width=([286720])
524
533
  pango: height=([184320])
@@ -541,7 +550,7 @@ cairo: translate([65, 625])
541
550
  cairo: rotate([0])
542
551
  cairo: translate([-65, -625])
543
552
  cairo: move_to([65, 625])
544
- pango: font_description=([])
553
+ pango: font_description=([MockDouble])
545
554
  pango: text=(["Text hints are also globally togglable!"])
546
555
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
547
556
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -562,7 +571,7 @@ cairo: translate([65, 625])
562
571
  cairo: rotate([0])
563
572
  cairo: translate([-65, -625])
564
573
  cairo: move_to([65, 625])
565
- pango: font_description=([])
574
+ pango: font_description=([MockDouble])
566
575
  pango: text=(["Text hints are also globally togglable!"])
567
576
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
568
577
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -583,7 +592,7 @@ cairo: translate([65, 625])
583
592
  cairo: rotate([0])
584
593
  cairo: translate([-65, -625])
585
594
  cairo: move_to([65, 625])
586
- pango: font_description=([])
595
+ pango: font_description=([MockDouble])
587
596
  pango: text=(["Text hints are also globally togglable!"])
588
597
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
589
598
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -604,7 +613,7 @@ cairo: translate([565, 625])
604
613
  cairo: rotate([0])
605
614
  cairo: translate([-565, -625])
606
615
  cairo: move_to([565, 625])
607
- pango: font_description=([])
616
+ pango: font_description=([MockDouble])
608
617
  pango: text=(["See? No hint here."])
609
618
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
610
619
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -621,7 +630,7 @@ cairo: translate([565, 625])
621
630
  cairo: rotate([0])
622
631
  cairo: translate([-565, -625])
623
632
  cairo: move_to([565, 625])
624
- pango: font_description=([])
633
+ pango: font_description=([MockDouble])
625
634
  pango: text=(["See? No hint here."])
626
635
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
627
636
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -638,7 +647,7 @@ cairo: translate([565, 625])
638
647
  cairo: rotate([0])
639
648
  cairo: translate([-565, -625])
640
649
  cairo: move_to([565, 625])
641
- pango: font_description=([])
650
+ pango: font_description=([MockDouble])
642
651
  pango: text=(["See? No hint here."])
643
652
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
644
653
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -655,7 +664,7 @@ cairo: translate([565, 675])
655
664
  cairo: rotate([0.2])
656
665
  cairo: translate([-565, -675])
657
666
  cairo: move_to([565, 675])
658
- pango: font_description=([])
667
+ pango: font_description=([MockDouble])
659
668
  pango: text=(["Rotated"])
660
669
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
661
670
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -676,7 +685,7 @@ cairo: translate([565, 675])
676
685
  cairo: rotate([0.2])
677
686
  cairo: translate([-565, -675])
678
687
  cairo: move_to([565, 675])
679
- pango: font_description=([])
688
+ pango: font_description=([MockDouble])
680
689
  pango: text=(["Rotated"])
681
690
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
682
691
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -697,7 +706,7 @@ cairo: translate([565, 675])
697
706
  cairo: rotate([0.2])
698
707
  cairo: translate([-565, -675])
699
708
  cairo: move_to([565, 675])
700
- pango: font_description=([])
709
+ pango: font_description=([MockDouble])
701
710
  pango: text=(["Rotated"])
702
711
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
703
712
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -718,7 +727,7 @@ cairo: translate([65, 700])
718
727
  cairo: rotate([0])
719
728
  cairo: translate([-65, -700])
720
729
  cairo: move_to([65, 700])
721
- pango: font_description=([])
730
+ pango: font_description=([MockDouble])
722
731
  pango: text=(["This is left-justified text.\nWhat do you know about tweetle beetles? well... \nWhen tweetle beetles fight, it's called a tweetle beetle battle. And when they battle in a puddle, it's a tweetle beetle puddle battle. AND when tweetle beetles battle with paddles in a puddle, they call it a tweetle beetle puddle paddle battle. AND... When beetles battle beetles in a puddle paddle battle and the beetle battle puddle is a puddle in a bottle... ..they call this a tweetle beetle bottle puddle paddle battle muddle. AND... When beetles fight these battles in a bottle with their paddles and the bottle's on a poodle and the poodle's eating noodles... ...they call this a muddle puddle tweetle poodle beetle noodle bottle paddle battle."])
723
732
  pango: width=([691200.0])
724
733
  pango: height=([307200.0])
@@ -737,7 +746,7 @@ cairo: translate([65, 700])
737
746
  cairo: rotate([0])
738
747
  cairo: translate([-65, -700])
739
748
  cairo: move_to([65, 700])
740
- pango: font_description=([])
749
+ pango: font_description=([MockDouble])
741
750
  pango: text=(["This is left-justified text.\nWhat do you know about tweetle beetles? well... \nWhen tweetle beetles fight, it's called a tweetle beetle battle. And when they battle in a puddle, it's a tweetle beetle puddle battle. AND when tweetle beetles battle with paddles in a puddle, they call it a tweetle beetle puddle paddle battle. AND... When beetles battle beetles in a puddle paddle battle and the beetle battle puddle is a puddle in a bottle... ..they call this a tweetle beetle bottle puddle paddle battle muddle. AND... When beetles fight these battles in a bottle with their paddles and the bottle's on a poodle and the poodle's eating noodles... ...they call this a muddle puddle tweetle poodle beetle noodle bottle paddle battle."])
742
751
  pango: width=([691200.0])
743
752
  pango: height=([307200.0])
@@ -756,7 +765,7 @@ cairo: translate([65, 700])
756
765
  cairo: rotate([0])
757
766
  cairo: translate([-65, -700])
758
767
  cairo: move_to([65, 700])
759
- pango: font_description=([])
768
+ pango: font_description=([MockDouble])
760
769
  pango: text=(["This is left-justified text.\nWhat do you know about tweetle beetles? well... \nWhen tweetle beetles fight, it's called a tweetle beetle battle. And when they battle in a puddle, it's a tweetle beetle puddle battle. AND when tweetle beetles battle with paddles in a puddle, they call it a tweetle beetle puddle paddle battle. AND... When beetles battle beetles in a puddle paddle battle and the beetle battle puddle is a puddle in a bottle... ..they call this a tweetle beetle bottle puddle paddle battle muddle. AND... When beetles fight these battles in a bottle with their paddles and the bottle's on a poodle and the poodle's eating noodles... ...they call this a muddle puddle tweetle poodle beetle noodle bottle paddle battle."])
761
770
  pango: width=([691200.0])
762
771
  pango: height=([307200.0])
@@ -775,7 +784,7 @@ cairo: translate([50, 1000])
775
784
  cairo: rotate([0])
776
785
  cairo: translate([-50, -1000])
777
786
  cairo: move_to([50, 1000])
778
- pango: font_description=([])
787
+ pango: font_description=([MockDouble])
779
788
  pango: text=(["<b>Markup</b> is also <i>quite</i> <s>easy</s> awesome"])
780
789
  pango: markup=(["<b>Markup</b> is also <i>quite</i> <s>easy</s> awesome"])
781
790
  pango: width=([768000])
@@ -800,7 +809,7 @@ cairo: translate([50, 1000])
800
809
  cairo: rotate([0])
801
810
  cairo: translate([-50, -1000])
802
811
  cairo: move_to([50, 1000])
803
- pango: font_description=([])
812
+ pango: font_description=([MockDouble])
804
813
  pango: text=(["<b>Markup</b> is also <i>quite</i> <s>easy</s> awesome"])
805
814
  pango: markup=(["<b>Markup</b> is also <i>quite</i> <s>easy</s> awesome"])
806
815
  pango: width=([768000])
@@ -825,7 +834,7 @@ cairo: translate([50, 1000])
825
834
  cairo: rotate([0])
826
835
  cairo: translate([-50, -1000])
827
836
  cairo: move_to([50, 1000])
828
- pango: font_description=([])
837
+ pango: font_description=([MockDouble])
829
838
  pango: text=(["<b>Markup</b> is also <i>quite</i> <s>easy</s> awesome"])
830
839
  pango: markup=(["<b>Markup</b> is also <i>quite</i> <s>easy</s> awesome"])
831
840
  pango: width=([768000])
@@ -1,3 +1,4 @@
1
+ cairo: antialias=(["subpixel"])
1
2
  cairo: save([])
2
3
  cairo: set_source_color([:white])
3
4
  cairo: paint([])
@@ -26,7 +27,7 @@ cairo: translate([220, 78])
26
27
  cairo: rotate([0])
27
28
  cairo: translate([-220, -78])
28
29
  cairo: move_to([220, 78])
29
- pango: font_description=([])
30
+ pango: font_description=([MockDouble])
30
31
  pango: text=(["Mastermind"])
31
32
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
32
33
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
@@ -43,7 +44,7 @@ cairo: translate([75, 85])
43
44
  cairo: rotate([0])
44
45
  cairo: translate([-75, -85])
45
46
  cairo: move_to([75, 85])
46
- pango: font_description=([])
47
+ pango: font_description=([MockDouble])
47
48
  pango: text=(["3"])
48
49
  pango: width=([131072])
49
50
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
@@ -62,14 +63,11 @@ cairo: translate([-620, -75])
62
63
  cairo: set_source([ImageSurface, 620, 75])
63
64
  cairo: paint([1.0])
64
65
  cairo: restore([])
65
- cairo: scale([1.0, 1.0])
66
- cairo: render_rsvg_handle([RSVG::Handle, nil])
67
66
  cairo: save([])
68
67
  cairo: translate([620, 218])
69
68
  cairo: rotate([0])
70
- cairo: translate([-620, -218])
71
- cairo: set_source([MockDouble, 620, 218])
72
- cairo: paint([1.0])
69
+ cairo: scale([1.0, 1.0])
70
+ cairo: render_rsvg_handle([RSVG::Handle, nil])
73
71
  cairo: restore([])
74
72
  cairo: save([])
75
73
  cairo: translate([0, 0])