squib 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
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])