squib 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -0
  3. data/CHANGELOG.md +24 -3
  4. data/README.md +4 -3
  5. data/RELEASE TODO.md +3 -1
  6. data/docs/_static/css/squibdocs.css +5 -0
  7. data/docs/conf.py +2 -2
  8. data/docs/config.rst +5 -0
  9. data/docs/dsl/ellipse.rst +6 -0
  10. data/docs/dsl/mm.rst +19 -0
  11. data/docs/dsl/rect.rst +4 -0
  12. data/docs/dsl/text.rst +2 -2
  13. data/docs/dsl/triangle.rst +20 -8
  14. data/docs/guides/game_icons.rst +4 -0
  15. data/docs/layouts.rst +55 -0
  16. data/docs/units.rst +1 -1
  17. data/lib/squib/api/background.rb +1 -1
  18. data/lib/squib/api/data.rb +4 -4
  19. data/lib/squib/api/groups.rb +4 -4
  20. data/lib/squib/api/image.rb +2 -2
  21. data/lib/squib/api/save.rb +6 -6
  22. data/lib/squib/api/settings.rb +4 -4
  23. data/lib/squib/api/shapes.rb +13 -11
  24. data/lib/squib/api/text.rb +1 -1
  25. data/lib/squib/api/text_embed.rb +4 -29
  26. data/lib/squib/api/units.rb +7 -2
  27. data/lib/squib/args/arg_loader.rb +2 -14
  28. data/lib/squib/args/draw.rb +1 -1
  29. data/lib/squib/args/hand_special.rb +37 -37
  30. data/lib/squib/args/unit_conversion.rb +2 -0
  31. data/lib/squib/deck.rb +1 -1
  32. data/lib/squib/graphics/embedding_utils.rb +28 -0
  33. data/lib/squib/graphics/shapes.rb +6 -3
  34. data/lib/squib/graphics/text.rb +49 -52
  35. data/lib/squib/layout_parser.rb +28 -9
  36. data/lib/squib/layouts/economy.yml +85 -85
  37. data/lib/squib/layouts/fantasy.yml +101 -101
  38. data/lib/squib/layouts/hand.yml +62 -62
  39. data/lib/squib/layouts/playing-card.yml +35 -35
  40. data/lib/squib/layouts/tuck_box.yml +45 -45
  41. data/lib/squib/version.rb +1 -1
  42. data/samples/custom-config.yml +5 -5
  43. data/samples/custom_config.rb +18 -18
  44. data/samples/embed_text.rb +27 -9
  45. data/samples/layouts/_output/.gitignore +2 -0
  46. data/samples/{layouts_builtin.rb → layouts/builtin_layouts.rb} +74 -51
  47. data/samples/{custom-layout.yml → layouts/custom-layout.yml} +0 -0
  48. data/samples/{custom-layout2.yml → layouts/custom-layout2.yml} +0 -0
  49. data/samples/layouts/expected_layouts_builtin_economy_00.png +0 -0
  50. data/samples/layouts/expected_layouts_builtin_fantasy_00.png +0 -0
  51. data/samples/layouts/expected_layouts_builtin_hand_00.png +0 -0
  52. data/samples/layouts/expected_layouts_builtin_playing_card_00.png +0 -0
  53. data/samples/layouts/expected_layouts_builtin_tuck_box_00.png +0 -0
  54. data/samples/{layouts.rb → layouts/layouts.rb} +0 -1
  55. data/samples/layouts/shiny-purse.png +0 -0
  56. data/samples/layouts/spanner.svg +91 -0
  57. data/samples/offset.svg +71 -71
  58. data/samples/shapes/_draw_shapes.rb +8 -2
  59. data/spec/api/api_units_spec.rb +37 -0
  60. data/spec/args/embed_key_spec.rb +13 -13
  61. data/spec/args/showcase_special_spec.rb +15 -15
  62. data/spec/args/unit_conversion_spec.rb +8 -1
  63. data/spec/data/csv/qty.csv +2 -2
  64. data/spec/data/csv/qty_named.csv +2 -2
  65. data/spec/data/csv/with_spaces.csv +2 -2
  66. data/spec/data/layouts/extends-units-mixed.yml +8 -0
  67. data/spec/data/layouts/extends-units.yml +8 -0
  68. data/spec/data/samples/autoscale_font/_autoscale_font.rb.txt +9 -0
  69. data/spec/data/samples/basic.rb.txt +18 -0
  70. data/spec/data/samples/cairo_access.rb.txt +6 -0
  71. data/spec/data/samples/colors/_gradients.rb.txt +6 -0
  72. data/spec/data/samples/config_text_markup.rb.txt +72 -72
  73. data/spec/data/samples/data/_csv.rb.txt +12 -0
  74. data/spec/data/samples/data/_excel.rb.txt +30 -0
  75. data/spec/data/samples/embed_text.rb.txt +70 -5
  76. data/spec/data/samples/hello_world.rb.txt +36 -36
  77. data/spec/data/samples/images/_more_load_images.rb.txt +3 -0
  78. data/spec/data/samples/ranges.rb.txt +9 -0
  79. data/spec/data/samples/saves/_hand.rb.txt +48 -0
  80. data/spec/data/samples/saves/_saves.rb.txt +48 -0
  81. data/spec/data/samples/saves/_showcase.rb.txt +12 -0
  82. data/spec/data/samples/shapes/_draw_shapes.rb.txt +41 -0
  83. data/spec/data/samples/text_options.rb.txt +1155 -1125
  84. data/spec/data/samples/tgc_proofs.rb.txt +6 -0
  85. data/spec/data/samples/units.rb.txt +9 -0
  86. data/spec/graphics/embedding_utils_spec.rb +73 -0
  87. data/spec/layout_parser_spec.rb +42 -17
  88. data/spec/spec_helper.rb +5 -1
  89. data/squib.gemspec +5 -3
  90. metadata +61 -15
@@ -14,6 +14,9 @@ cairo: set_source_color(["white"])
14
14
  cairo: paint([])
15
15
  cairo: restore([])
16
16
  cairo: save([])
17
+ cairo: translate([38, 38])
18
+ cairo: rotate([0])
19
+ cairo: translate([-38, -38])
17
20
  cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
18
21
  cairo: set_source_color(["#0000"])
19
22
  cairo: fill_preserve([])
@@ -25,6 +28,9 @@ cairo: set_dash([[]])
25
28
  cairo: stroke([])
26
29
  cairo: restore([])
27
30
  cairo: save([])
31
+ cairo: translate([38, 38])
32
+ cairo: rotate([0])
33
+ cairo: translate([-38, -38])
28
34
  cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
29
35
  cairo: set_source_color(["#0000"])
30
36
  cairo: fill_preserve([])
@@ -36,6 +42,9 @@ cairo: set_dash([[]])
36
42
  cairo: stroke([])
37
43
  cairo: restore([])
38
44
  cairo: save([])
45
+ cairo: translate([38, 38])
46
+ cairo: rotate([0])
47
+ cairo: translate([-38, -38])
39
48
  cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
40
49
  cairo: set_source_color(["#0000"])
41
50
  cairo: fill_preserve([])
@@ -47,6 +56,9 @@ cairo: set_dash([[]])
47
56
  cairo: stroke([])
48
57
  cairo: restore([])
49
58
  cairo: save([])
59
+ cairo: translate([75, 75])
60
+ cairo: rotate([0])
61
+ cairo: translate([-75, -75])
50
62
  cairo: rounded_rectangle([75, 75, 128, 128, 25, 25])
51
63
  cairo: set_source_color(["#0000"])
52
64
  cairo: fill_preserve([])
@@ -58,6 +70,9 @@ cairo: set_dash([[]])
58
70
  cairo: stroke([])
59
71
  cairo: restore([])
60
72
  cairo: save([])
73
+ cairo: translate([75, 75])
74
+ cairo: rotate([0])
75
+ cairo: translate([-75, -75])
61
76
  cairo: rounded_rectangle([75, 75, 128, 128, 25, 25])
62
77
  cairo: set_source_color(["#0000"])
63
78
  cairo: fill_preserve([])
@@ -69,6 +84,9 @@ cairo: set_dash([[]])
69
84
  cairo: stroke([])
70
85
  cairo: restore([])
71
86
  cairo: save([])
87
+ cairo: translate([75, 75])
88
+ cairo: rotate([0])
89
+ cairo: translate([-75, -75])
72
90
  cairo: rounded_rectangle([75, 75, 128, 128, 25, 25])
73
91
  cairo: set_source_color(["#0000"])
74
92
  cairo: fill_preserve([])
@@ -26,6 +26,9 @@ cairo: restore([])
26
26
  cairo: translate([500, 500])
27
27
  cairo: translate([500, 500])
28
28
  cairo: save([])
29
+ cairo: translate([0, 0])
30
+ cairo: rotate([0])
31
+ cairo: translate([0, 0])
29
32
  cairo: rounded_rectangle([0, 0, 50, 50, 0, 0])
30
33
  cairo: set_source_color(["red"])
31
34
  cairo: fill_preserve([])
@@ -37,6 +40,9 @@ cairo: set_dash([[]])
37
40
  cairo: stroke([])
38
41
  cairo: restore([])
39
42
  cairo: save([])
43
+ cairo: translate([0, 0])
44
+ cairo: rotate([0])
45
+ cairo: translate([0, 0])
40
46
  cairo: rounded_rectangle([0, 0, 50, 50, 0, 0])
41
47
  cairo: set_source_color(["red"])
42
48
  cairo: fill_preserve([])
@@ -37,6 +37,9 @@ cairo: set_dash([[]])
37
37
  cairo: stroke([])
38
38
  cairo: restore([])
39
39
  cairo: save([])
40
+ cairo: translate([30, 350])
41
+ cairo: rotate([0])
42
+ cairo: translate([-30, -350])
40
43
  cairo: rounded_rectangle([30, 350, 150, 150, 15, 15])
41
44
  cairo: set_source([LinearPattern])
42
45
  cairo: fill_preserve([])
@@ -48,6 +51,9 @@ cairo: set_dash([[]])
48
51
  cairo: stroke([])
49
52
  cairo: restore([])
50
53
  cairo: save([])
54
+ cairo: translate([40, 360])
55
+ cairo: rotate([0])
56
+ cairo: translate([-40, -360])
51
57
  cairo: rounded_rectangle([40, 360, 130, 130, 15, 15])
52
58
  cairo: set_source([LinearPattern])
53
59
  cairo: fill_preserve([])
@@ -1,72 +1,72 @@
1
- cairo: antialias=(["gray"])
2
- cairo: save([])
3
- cairo: set_source_color(["white"])
4
- cairo: paint([])
5
- cairo: restore([])
6
- cairo: save([])
7
- cairo: set_source_color(["black"])
8
- cairo: translate([10, 10])
9
- cairo: rotate([0])
10
- cairo: move_to([0, 0])
11
- pango: font_description=([MockDouble])
12
- pango: text=(["\"'Yaml ain't markup', he says\""])
13
- pango: markup=(["foo"])
14
- pango: width=([307200])
15
- pango: height=([204800])
16
- pango: wrap=([#<Pango::Layout::WrapMode word-char>])
17
- pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
18
- pango: alignment=([#<Pango::Layout::Alignment left>])
19
- pango: justify=([false])
20
- cairo: move_to([0, 0])
21
- cairo: move_to([0, 0])
22
- cairo: show_pango_layout([MockDouble])
23
- cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
24
- cairo: set_source_color([:cyan])
25
- cairo: set_line_width([2.0])
26
- cairo: stroke([])
27
- pango: ellipsized?([])
28
- cairo: restore([])
29
- cairo: save([])
30
- cairo: set_source_color(["black"])
31
- cairo: translate([320, 10])
32
- cairo: rotate([0])
33
- cairo: move_to([0, 0])
34
- pango: font_description=([MockDouble])
35
- pango: text=(["Notice also the antialiasing method."])
36
- pango: width=([307200])
37
- pango: height=([204800])
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
- cairo: move_to([0, 0])
43
- cairo: move_to([0, 0])
44
- cairo: show_pango_layout([MockDouble])
45
- pango: ellipsized?([])
46
- cairo: restore([])
47
- surface: write_to_png(["_output/config_text_00.png"])
48
- cairo: antialias=(["subpixel"])
49
- cairo: save([])
50
- cairo: set_source_color(["black"])
51
- cairo: translate([10, 10])
52
- cairo: rotate([0])
53
- cairo: move_to([0, 0])
54
- pango: font_description=([MockDouble])
55
- pango: text=(["This has typographic sugar --- and ``explicit'' quotes --- but the quotes are \"dumb\""])
56
- pango: markup=(["foo"])
57
- pango: width=([307200])
58
- pango: height=([204800])
59
- pango: wrap=([#<Pango::Layout::WrapMode word-char>])
60
- pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
61
- pango: alignment=([#<Pango::Layout::Alignment left>])
62
- pango: justify=([false])
63
- cairo: move_to([0, 0])
64
- cairo: move_to([0, 0])
65
- cairo: show_pango_layout([MockDouble])
66
- cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
67
- cairo: set_source_color([:cyan])
68
- cairo: set_line_width([2.0])
69
- cairo: stroke([])
70
- pango: ellipsized?([])
71
- cairo: restore([])
72
- surface: write_to_png(["_output/config_disable_text_00.png"])
1
+ cairo: antialias=(["gray"])
2
+ cairo: save([])
3
+ cairo: set_source_color(["white"])
4
+ cairo: paint([])
5
+ cairo: restore([])
6
+ cairo: save([])
7
+ cairo: set_source_color(["black"])
8
+ cairo: translate([10, 10])
9
+ cairo: rotate([0])
10
+ cairo: move_to([0, 0])
11
+ pango: font_description=([MockDouble])
12
+ pango: text=(["\"'Yaml ain't markup', he says\""])
13
+ pango: markup=(["foo"])
14
+ pango: width=([307200])
15
+ pango: height=([204800])
16
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
17
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
18
+ pango: alignment=([#<Pango::Layout::Alignment left>])
19
+ pango: justify=([false])
20
+ cairo: move_to([0, 0])
21
+ cairo: move_to([0, 0])
22
+ cairo: show_pango_layout([MockDouble])
23
+ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
24
+ cairo: set_source_color([:cyan])
25
+ cairo: set_line_width([2.0])
26
+ cairo: stroke([])
27
+ pango: ellipsized?([])
28
+ cairo: restore([])
29
+ cairo: save([])
30
+ cairo: set_source_color(["black"])
31
+ cairo: translate([320, 10])
32
+ cairo: rotate([0])
33
+ cairo: move_to([0, 0])
34
+ pango: font_description=([MockDouble])
35
+ pango: text=(["Notice also the antialiasing method."])
36
+ pango: width=([307200])
37
+ pango: height=([204800])
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
+ cairo: move_to([0, 0])
43
+ cairo: move_to([0, 0])
44
+ cairo: show_pango_layout([MockDouble])
45
+ pango: ellipsized?([])
46
+ cairo: restore([])
47
+ surface: write_to_png(["_output/config_text_00.png"])
48
+ cairo: antialias=(["subpixel"])
49
+ cairo: save([])
50
+ cairo: set_source_color(["black"])
51
+ cairo: translate([10, 10])
52
+ cairo: rotate([0])
53
+ cairo: move_to([0, 0])
54
+ pango: font_description=([MockDouble])
55
+ pango: text=(["This has typographic sugar --- and ``explicit'' quotes --- but the quotes are \"dumb\""])
56
+ pango: markup=(["foo"])
57
+ pango: width=([307200])
58
+ pango: height=([204800])
59
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
60
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
61
+ pango: alignment=([#<Pango::Layout::Alignment left>])
62
+ pango: justify=([false])
63
+ cairo: move_to([0, 0])
64
+ cairo: move_to([0, 0])
65
+ cairo: show_pango_layout([MockDouble])
66
+ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
67
+ cairo: set_source_color([:cyan])
68
+ cairo: set_line_width([2.0])
69
+ cairo: stroke([])
70
+ pango: ellipsized?([])
71
+ cairo: restore([])
72
+ surface: write_to_png(["_output/config_disable_text_00.png"])
@@ -95,6 +95,9 @@ cairo: set_source_color(["white"])
95
95
  cairo: paint([])
96
96
  cairo: restore([])
97
97
  cairo: save([])
98
+ cairo: translate([0, 0])
99
+ cairo: rotate([0])
100
+ cairo: translate([0, 0])
98
101
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
99
102
  cairo: set_source_color(["#0000"])
100
103
  cairo: fill_preserve([])
@@ -106,6 +109,9 @@ cairo: set_dash([[]])
106
109
  cairo: stroke([])
107
110
  cairo: restore([])
108
111
  cairo: save([])
112
+ cairo: translate([0, 0])
113
+ cairo: rotate([0])
114
+ cairo: translate([0, 0])
109
115
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
110
116
  cairo: set_source_color(["#0000"])
111
117
  cairo: fill_preserve([])
@@ -117,6 +123,9 @@ cairo: set_dash([[]])
117
123
  cairo: stroke([])
118
124
  cairo: restore([])
119
125
  cairo: save([])
126
+ cairo: translate([0, 0])
127
+ cairo: rotate([0])
128
+ cairo: translate([0, 0])
120
129
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
121
130
  cairo: set_source_color(["#0000"])
122
131
  cairo: fill_preserve([])
@@ -128,6 +137,9 @@ cairo: set_dash([[]])
128
137
  cairo: stroke([])
129
138
  cairo: restore([])
130
139
  cairo: save([])
140
+ cairo: translate([0, 0])
141
+ cairo: rotate([0])
142
+ cairo: translate([0, 0])
131
143
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
132
144
  cairo: set_source_color(["#0000"])
133
145
  cairo: fill_preserve([])
@@ -181,6 +181,9 @@ cairo: set_source_color(["white"])
181
181
  cairo: paint([])
182
182
  cairo: restore([])
183
183
  cairo: save([])
184
+ cairo: translate([0, 0])
185
+ cairo: rotate([0])
186
+ cairo: translate([0, 0])
184
187
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
185
188
  cairo: set_source_color(["#0000"])
186
189
  cairo: fill_preserve([])
@@ -192,6 +195,9 @@ cairo: set_dash([[]])
192
195
  cairo: stroke([])
193
196
  cairo: restore([])
194
197
  cairo: save([])
198
+ cairo: translate([0, 0])
199
+ cairo: rotate([0])
200
+ cairo: translate([0, 0])
195
201
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
196
202
  cairo: set_source_color(["#0000"])
197
203
  cairo: fill_preserve([])
@@ -203,6 +209,9 @@ cairo: set_dash([[]])
203
209
  cairo: stroke([])
204
210
  cairo: restore([])
205
211
  cairo: save([])
212
+ cairo: translate([0, 0])
213
+ cairo: rotate([0])
214
+ cairo: translate([0, 0])
206
215
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
207
216
  cairo: set_source_color(["#0000"])
208
217
  cairo: fill_preserve([])
@@ -214,6 +223,9 @@ cairo: set_dash([[]])
214
223
  cairo: stroke([])
215
224
  cairo: restore([])
216
225
  cairo: save([])
226
+ cairo: translate([0, 0])
227
+ cairo: rotate([0])
228
+ cairo: translate([0, 0])
217
229
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
218
230
  cairo: set_source_color(["#0000"])
219
231
  cairo: fill_preserve([])
@@ -328,6 +340,9 @@ cairo: set_source_color(["white"])
328
340
  cairo: paint([])
329
341
  cairo: restore([])
330
342
  cairo: save([])
343
+ cairo: translate([0, 0])
344
+ cairo: rotate([0])
345
+ cairo: translate([0, 0])
331
346
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
332
347
  cairo: set_source_color(["#0000"])
333
348
  cairo: fill_preserve([])
@@ -339,6 +354,9 @@ cairo: set_dash([[]])
339
354
  cairo: stroke([])
340
355
  cairo: restore([])
341
356
  cairo: save([])
357
+ cairo: translate([0, 0])
358
+ cairo: rotate([0])
359
+ cairo: translate([0, 0])
342
360
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
343
361
  cairo: set_source_color(["#0000"])
344
362
  cairo: fill_preserve([])
@@ -350,6 +368,9 @@ cairo: set_dash([[]])
350
368
  cairo: stroke([])
351
369
  cairo: restore([])
352
370
  cairo: save([])
371
+ cairo: translate([0, 0])
372
+ cairo: rotate([0])
373
+ cairo: translate([0, 0])
353
374
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
354
375
  cairo: set_source_color(["#0000"])
355
376
  cairo: fill_preserve([])
@@ -361,6 +382,9 @@ cairo: set_dash([[]])
361
382
  cairo: stroke([])
362
383
  cairo: restore([])
363
384
  cairo: save([])
385
+ cairo: translate([0, 0])
386
+ cairo: rotate([0])
387
+ cairo: translate([0, 0])
364
388
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
365
389
  cairo: set_source_color(["#0000"])
366
390
  cairo: fill_preserve([])
@@ -372,6 +396,9 @@ cairo: set_dash([[]])
372
396
  cairo: stroke([])
373
397
  cairo: restore([])
374
398
  cairo: save([])
399
+ cairo: translate([0, 0])
400
+ cairo: rotate([0])
401
+ cairo: translate([0, 0])
375
402
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
376
403
  cairo: set_source_color(["#0000"])
377
404
  cairo: fill_preserve([])
@@ -383,6 +410,9 @@ cairo: set_dash([[]])
383
410
  cairo: stroke([])
384
411
  cairo: restore([])
385
412
  cairo: save([])
413
+ cairo: translate([0, 0])
414
+ cairo: rotate([0])
415
+ cairo: translate([0, 0])
386
416
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
387
417
  cairo: set_source_color(["#0000"])
388
418
  cairo: fill_preserve([])
@@ -4,6 +4,9 @@ cairo: set_source_color(["white"])
4
4
  cairo: paint([])
5
5
  cairo: restore([])
6
6
  cairo: save([])
7
+ cairo: translate([0, 0])
8
+ cairo: rotate([0])
9
+ cairo: translate([0, 0])
7
10
  cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
8
11
  cairo: set_source_color(["#0000"])
9
12
  cairo: fill_preserve([])
@@ -27,6 +30,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
27
30
  pango: alignment=([#<Pango::Layout::Alignment left>])
28
31
  pango: justify=([false])
29
32
  pango: markup=(["Take 11 :tool: and gain 2 :health:. Take <b>2</b> :tool: <i>and gain 3 :purse: if level 2.</i>"])
33
+ pango: attributes=([Pango::AttrList])
30
34
  cairo: move_to([0, 0])
31
35
  cairo: move_to([0, 0])
32
36
  cairo: show_pango_layout([MockDouble])
@@ -50,6 +54,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
50
54
  pango: alignment=([#<Pango::Layout::Alignment left>])
51
55
  pango: justify=([false])
52
56
  pango: markup=(["Middle align: Take 1 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse:"])
57
+ pango: attributes=([Pango::AttrList])
53
58
  cairo: move_to([0, 0.0])
54
59
  cairo: move_to([0, 0.0])
55
60
  cairo: show_pango_layout([MockDouble])
@@ -73,6 +78,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
73
78
  pango: alignment=([#<Pango::Layout::Alignment left>])
74
79
  pango: justify=([false])
75
80
  pango: markup=(["This :tool: aligns on the bottom properly. :purse:"])
81
+ pango: attributes=([Pango::AttrList])
76
82
  cairo: move_to([0, 0.0])
77
83
  cairo: move_to([0, 0.0])
78
84
  cairo: show_pango_layout([MockDouble])
@@ -88,16 +94,17 @@ cairo: translate([600, 0])
88
94
  cairo: rotate([0])
89
95
  cairo: move_to([0, 0])
90
96
  pango: font_description=([MockDouble])
91
- pango: text=(["Wrapping multiples: These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:"])
97
+ pango: text=(["Yes, this wraps strangely. We are trying to determine the cause. These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:"])
92
98
  pango: width=([184320])
93
99
  pango: height=([307200])
94
100
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
95
101
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
96
102
  pango: alignment=([#<Pango::Layout::Alignment left>])
97
103
  pango: justify=([false])
98
- pango: markup=(["Wrapping multiples: These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:"])
99
- cairo: move_to([0, 0.0])
100
- cairo: move_to([0, 0.0])
104
+ pango: markup=(["Yes, this wraps strangely. We are trying to determine the cause. These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:"])
105
+ pango: attributes=([Pango::AttrList])
106
+ cairo: move_to([0, 0])
107
+ cairo: move_to([0, 0])
101
108
  cairo: show_pango_layout([MockDouble])
102
109
  cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
103
110
  cairo: set_source_color([:cyan])
@@ -119,6 +126,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
119
126
  pango: alignment=([#<Pango::Layout::Alignment left>])
120
127
  pango: justify=([true])
121
128
  pango: markup=([":tool:Justify will :tool: work too, and :purse: with more words just for fun"])
129
+ pango: attributes=([Pango::AttrList])
122
130
  cairo: move_to([0, 0.0])
123
131
  cairo: move_to([0, 0.0])
124
132
  cairo: show_pango_layout([MockDouble])
@@ -142,6 +150,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
142
150
  pango: alignment=([#<Pango::Layout::Alignment right>])
143
151
  pango: justify=([false])
144
152
  pango: markup=(["Right-aligned works :tool: with :health: and :purse:"])
153
+ pango: attributes=([Pango::AttrList])
145
154
  cairo: move_to([0, 0.0])
146
155
  cairo: move_to([0, 0.0])
147
156
  cairo: show_pango_layout([MockDouble])
@@ -165,6 +174,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
165
174
  pango: alignment=([#<Pango::Layout::Alignment center>])
166
175
  pango: justify=([false])
167
176
  pango: markup=([":tool:Center-aligned works :tool: with :health: and :purse:"])
177
+ pango: attributes=([Pango::AttrList])
168
178
  cairo: move_to([0, 0])
169
179
  cairo: move_to([0, 0])
170
180
  cairo: show_pango_layout([MockDouble])
@@ -189,6 +199,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
189
199
  pango: alignment=([#<Pango::Layout::Alignment center>])
190
200
  pango: justify=([false])
191
201
  pango: markup=(["foo"])
202
+ pango: attributes=([Pango::AttrList])
192
203
  cairo: move_to([0, 0])
193
204
  cairo: move_to([0, 0])
194
205
  cairo: show_pango_layout([MockDouble])
@@ -213,6 +224,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
213
224
  pango: alignment=([#<Pango::Layout::Alignment center>])
214
225
  pango: justify=([false])
215
226
  pango: markup=(["foo"])
227
+ pango: attributes=([Pango::AttrList])
216
228
  cairo: move_to([0, 0.0])
217
229
  cairo: move_to([0, 0.0])
218
230
  cairo: show_pango_layout([MockDouble])
@@ -237,6 +249,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
237
249
  pango: alignment=([#<Pango::Layout::Alignment center>])
238
250
  pango: justify=([false])
239
251
  pango: markup=(["foo"])
252
+ pango: attributes=([Pango::AttrList])
240
253
  cairo: move_to([0, 0.0])
241
254
  cairo: move_to([0, 0.0])
242
255
  cairo: show_pango_layout([MockDouble])
@@ -257,9 +270,10 @@ pango: width=([389120])
257
270
  pango: height=([153600])
258
271
  pango: wrap=([#<Pango::Layout::WrapMode word-char>])
259
272
  pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
260
- pango: alignment=([#<Pango::Layout::Alignment center>])
273
+ pango: alignment=([#<Pango::Layout::Alignment left>])
261
274
  pango: justify=([false])
262
275
  pango: markup=([":tool: Death to Nemesis bug 103!! :purse:"])
276
+ pango: attributes=([Pango::AttrList])
263
277
  cairo: move_to([0, 0.0])
264
278
  cairo: move_to([0, 0.0])
265
279
  cairo: show_pango_layout([MockDouble])
@@ -277,6 +291,54 @@ cairo: set_line_width([2.0])
277
291
  cairo: stroke([])
278
292
  pango: ellipsized?([])
279
293
  cairo: restore([])
294
+ cairo: save([])
295
+ cairo: set_source_color(["black"])
296
+ cairo: translate([400, 640])
297
+ cairo: rotate([0])
298
+ cairo: move_to([0, 0])
299
+ pango: font_description=([MockDouble])
300
+ pango: text=(["You can adjust the icon with dx and dy. Normal: :tool: Adjusted: :heart:"])
301
+ pango: width=([184320])
302
+ pango: height=([307200])
303
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
304
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
305
+ pango: alignment=([#<Pango::Layout::Alignment left>])
306
+ pango: justify=([false])
307
+ pango: markup=(["You can adjust the icon with dx and dy. Normal: :tool: Adjusted: :heart:"])
308
+ pango: attributes=([Pango::AttrList])
309
+ cairo: move_to([0, 0])
310
+ cairo: move_to([0, 0])
311
+ cairo: show_pango_layout([MockDouble])
312
+ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
313
+ cairo: set_source_color([:magenta])
314
+ cairo: set_line_width([2.0])
315
+ cairo: stroke([])
316
+ pango: ellipsized?([])
317
+ cairo: restore([])
318
+ cairo: save([])
319
+ cairo: set_source_color(["black"])
320
+ cairo: translate([600, 640])
321
+ cairo: rotate([0])
322
+ cairo: move_to([0, 0])
323
+ pango: font_description=([MockDouble])
324
+ pango: text=(["Native sizes work too\n:tool:\n\n\n\n\n\n:shiny-purse:\n\n\n\n\n\n:tool2:"])
325
+ pango: width=([184320])
326
+ pango: height=([486400])
327
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
328
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
329
+ pango: alignment=([#<Pango::Layout::Alignment left>])
330
+ pango: justify=([false])
331
+ pango: markup=(["Native sizes work too\n:tool:\n\n\n\n\n\n:shiny-purse:\n\n\n\n\n\n:tool2:"])
332
+ pango: attributes=([Pango::AttrList])
333
+ cairo: move_to([0, 0])
334
+ cairo: move_to([0, 0])
335
+ cairo: show_pango_layout([MockDouble])
336
+ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
337
+ cairo: set_source_color([:magenta])
338
+ cairo: set_line_width([2.0])
339
+ cairo: stroke([])
340
+ pango: ellipsized?([])
341
+ cairo: restore([])
280
342
  surface: write_to_png(["_output/embed_00.png"])
281
343
  cairo: antialias=(["subpixel"])
282
344
  cairo: antialias=(["subpixel"])
@@ -296,6 +358,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
296
358
  pango: alignment=([#<Pango::Layout::Alignment left>])
297
359
  pango: justify=([false])
298
360
  pango: markup=(["Take 1 :tool: and gain 2 :health:."])
361
+ pango: attributes=([Pango::AttrList])
299
362
  cairo: move_to([0, 0.0])
300
363
  cairo: move_to([0, 0.0])
301
364
  cairo: show_pango_layout([MockDouble])
@@ -320,6 +383,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
320
383
  pango: alignment=([#<Pango::Layout::Alignment left>])
321
384
  pango: justify=([false])
322
385
  pango: markup=(["Take 1 :tool: and gain 2 :health:."])
386
+ pango: attributes=([Pango::AttrList])
323
387
  cairo: move_to([0, 0.0])
324
388
  cairo: move_to([0, 0.0])
325
389
  cairo: show_pango_layout([MockDouble])
@@ -344,6 +408,7 @@ pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
344
408
  pango: alignment=([#<Pango::Layout::Alignment left>])
345
409
  pango: justify=([false])
346
410
  pango: markup=(["Take 1 :tool: and gain 2 :health:."])
411
+ pango: attributes=([Pango::AttrList])
347
412
  cairo: move_to([0, 0.0])
348
413
  cairo: move_to([0, 0.0])
349
414
  cairo: show_pango_layout([MockDouble])