squib 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +162 -133
  3. data/Gemfile +4 -4
  4. data/README.md +630 -550
  5. data/RELEASE TODO.md +18 -18
  6. data/Rakefile +99 -99
  7. data/lib/squib.rb +32 -32
  8. data/lib/squib/api/background.rb +20 -19
  9. data/lib/squib/api/data.rb +100 -99
  10. data/lib/squib/api/image.rb +90 -76
  11. data/lib/squib/api/save.rb +149 -103
  12. data/lib/squib/api/settings.rb +35 -37
  13. data/lib/squib/api/shapes.rb +230 -228
  14. data/lib/squib/api/text.rb +65 -66
  15. data/lib/squib/api/text_embed.rb +96 -66
  16. data/lib/squib/args/arg_loader.rb +138 -0
  17. data/lib/squib/args/box.rb +55 -0
  18. data/lib/squib/args/card_range.rb +32 -0
  19. data/lib/squib/args/color_validator.rb +12 -0
  20. data/lib/squib/args/coords.rb +33 -0
  21. data/lib/squib/args/dir_validator.rb +16 -0
  22. data/lib/squib/args/draw.rb +92 -0
  23. data/lib/squib/args/embed_adjust.rb +25 -0
  24. data/lib/squib/args/embed_key.rb +17 -0
  25. data/lib/squib/args/hand_special.rb +37 -0
  26. data/lib/squib/args/input_file.rb +37 -0
  27. data/lib/squib/args/paint.rb +44 -0
  28. data/lib/squib/args/paragraph.rb +115 -0
  29. data/lib/squib/args/save_batch.rb +60 -0
  30. data/lib/squib/args/scale_box.rb +53 -0
  31. data/lib/squib/args/sheet.rb +72 -0
  32. data/lib/squib/args/showcase_special.rb +38 -0
  33. data/lib/squib/args/svg_special.rb +37 -0
  34. data/lib/squib/args/transform.rb +25 -0
  35. data/lib/squib/args/typographer.rb +117 -117
  36. data/lib/squib/card.rb +67 -67
  37. data/lib/squib/conf.rb +117 -111
  38. data/lib/squib/constants.rb +178 -178
  39. data/lib/squib/deck.rb +113 -111
  40. data/lib/squib/graphics/cairo_context_wrapper.rb +99 -53
  41. data/lib/squib/graphics/gradient_regex.rb +46 -46
  42. data/lib/squib/graphics/hand.rb +42 -43
  43. data/lib/squib/graphics/image.rb +76 -73
  44. data/lib/squib/graphics/save_doc.rb +103 -137
  45. data/lib/squib/graphics/save_images.rb +33 -33
  46. data/lib/squib/graphics/shapes.rb +119 -152
  47. data/lib/squib/graphics/showcase.rb +85 -88
  48. data/lib/squib/graphics/text.rb +176 -216
  49. data/lib/squib/layout_parser.rb +91 -89
  50. data/lib/squib/layouts/economy.yml +85 -0
  51. data/lib/squib/layouts/fantasy.yml +101 -0
  52. data/lib/squib/layouts/hand.yml +62 -46
  53. data/lib/squib/layouts/playing-card.yml +35 -18
  54. data/lib/squib/project_template/config.yml +45 -40
  55. data/lib/squib/version.rb +10 -10
  56. data/samples/color_shortcuts.rb +6 -0
  57. data/samples/csv_import.rb +18 -18
  58. data/samples/custom-config.yml +5 -5
  59. data/samples/custom_config.rb +18 -18
  60. data/samples/draw_shapes.rb +45 -35
  61. data/samples/embed_text.rb +88 -90
  62. data/samples/hand.rb +24 -24
  63. data/samples/layouts.rb +62 -61
  64. data/samples/layouts_builtin.rb +51 -0
  65. data/samples/load_images.rb +78 -64
  66. data/samples/ranges.rb +64 -53
  67. data/samples/sample.csv +2 -2
  68. data/samples/text_options.rb +102 -94
  69. data/spec/api/api_data_spec.rb +57 -50
  70. data/spec/api/api_settings_spec.rb +37 -17
  71. data/spec/args/box_spec.rb +127 -0
  72. data/spec/args/draw_spec.rb +95 -0
  73. data/spec/args/embed_key_spec.rb +13 -0
  74. data/spec/args/input_file_spec.rb +21 -0
  75. data/spec/args/paint_spec.rb +22 -0
  76. data/spec/args/paragraph_spec.rb +153 -0
  77. data/spec/args/range_spec.rb +36 -0
  78. data/spec/args/save_batch_spec.rb +51 -0
  79. data/spec/args/scale_box_spec.rb +71 -0
  80. data/spec/args/sheet_spec.rb +58 -0
  81. data/spec/args/showcase_special_spec.rb +15 -0
  82. data/spec/data/samples/autoscale_font.rb.txt +84 -87
  83. data/spec/data/samples/basic.rb.txt +209 -203
  84. data/spec/data/samples/cairo_access.rb.txt +2 -2
  85. data/spec/data/samples/config_text_markup.rb.txt +72 -75
  86. data/spec/data/samples/csv_import.rb.txt +76 -80
  87. data/spec/data/samples/custom_config.rb.txt +48 -49
  88. data/spec/data/samples/draw_shapes.rb.txt +100 -42
  89. data/spec/data/samples/embed_text.rb.txt +283 -295
  90. data/spec/data/samples/excel.rb.txt +162 -171
  91. data/spec/data/samples/gradients.rb.txt +79 -67
  92. data/spec/data/samples/hand.rb.txt +538 -514
  93. data/spec/data/samples/hello_world.rb.txt +36 -38
  94. data/spec/data/samples/load_images.rb.txt +41 -5
  95. data/spec/data/samples/portrait-landscape.rb.txt +49 -51
  96. data/spec/data/samples/ranges.rb.txt +460 -429
  97. data/spec/data/samples/saves.rb.txt +801 -785
  98. data/spec/data/samples/showcase.rb.txt +5910 -5906
  99. data/spec/data/samples/text_options.rb.txt +1125 -981
  100. data/spec/data/samples/tgc_proofs.rb.txt +81 -79
  101. data/spec/data/samples/units.rb.txt +18 -12
  102. data/spec/data/xlsx/with_macros.xlsm +0 -0
  103. data/spec/graphics/cairo_context_wrapper_spec.rb +84 -75
  104. data/spec/graphics/graphics_images_spec.rb +94 -85
  105. data/spec/graphics/graphics_save_doc_spec.rb +67 -65
  106. data/spec/samples/expected/hand.png +0 -0
  107. data/spec/samples/expected/hand_pretty.png +0 -0
  108. data/spec/samples/expected/layout_00.png +0 -0
  109. data/spec/samples/expected/load_images_00.png +0 -0
  110. data/spec/samples/expected/ranges_00.png +0 -0
  111. data/spec/samples/expected/shape_00.png +0 -0
  112. data/spec/samples/expected/showcase.png +0 -0
  113. data/spec/samples/expected/showcase2.png +0 -0
  114. data/spec/samples/expected/showcase_individual_00.png +0 -0
  115. data/spec/samples/expected/showcase_individual_01.png +0 -0
  116. data/spec/samples/expected/showcase_individual_02.png +0 -0
  117. data/spec/samples/expected/showcase_individual_03.png +0 -0
  118. data/spec/samples/expected/text_00.png +0 -0
  119. data/spec/samples/expected/text_01.png +0 -0
  120. data/spec/samples/expected/text_02.png +0 -0
  121. data/spec/samples/samples_regression_spec.rb +82 -82
  122. data/spec/spec_helper.rb +3 -2
  123. data/squib.gemspec +48 -48
  124. data/squib.sublime-project +42 -36
  125. metadata +61 -33
  126. data/lib/squib/input_helpers.rb +0 -238
  127. data/spec/api/api_image_spec.rb +0 -38
  128. data/spec/api/api_text_spec.rb +0 -37
  129. data/spec/graphics/graphics_shapes_spec.rb +0 -85
  130. data/spec/graphics/graphics_text_spec.rb +0 -164
  131. data/spec/input_helpers_spec.rb +0 -238
  132. data/spec/samples/expected/embed_multi_00.png +0 -0
  133. data/spec/samples/expected/embed_multi_01.png +0 -0
  134. data/spec/samples/expected/embed_multi_02.png +0 -0
  135. data/spec/samples/expected/ranges_01.png +0 -0
  136. data/spec/samples/expected/ranges_02.png +0 -0
@@ -1,514 +1,538 @@
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: save([])
10
- cairo: set_source_color([:cyan])
11
- cairo: paint([])
12
- cairo: restore([])
13
- cairo: save([])
14
- cairo: set_source_color([:cyan])
15
- cairo: paint([])
16
- cairo: restore([])
17
- cairo: save([])
18
- cairo: set_source_color([:cyan])
19
- cairo: paint([])
20
- cairo: restore([])
21
- cairo: save([])
22
- cairo: set_source_color([:cyan])
23
- cairo: paint([])
24
- cairo: restore([])
25
- cairo: save([])
26
- cairo: set_source_color([:cyan])
27
- cairo: paint([])
28
- cairo: restore([])
29
- cairo: save([])
30
- cairo: set_source_color([:cyan])
31
- cairo: paint([])
32
- cairo: restore([])
33
- cairo: save([])
34
- cairo: set_source_color([:cyan])
35
- cairo: paint([])
36
- cairo: restore([])
37
- cairo: save([])
38
- cairo: set_source_color([:cyan])
39
- cairo: paint([])
40
- cairo: restore([])
41
- cairo: save([])
42
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
43
- cairo: set_source_color([:black])
44
- cairo: set_line_width([2.0])
45
- cairo: stroke([])
46
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
47
- cairo: set_source_color([:black])
48
- cairo: fill([])
49
- cairo: restore([])
50
- cairo: save([])
51
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
52
- cairo: set_source_color([:black])
53
- cairo: set_line_width([2.0])
54
- cairo: stroke([])
55
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
56
- cairo: set_source_color([:black])
57
- cairo: fill([])
58
- cairo: restore([])
59
- cairo: save([])
60
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
61
- cairo: set_source_color([:black])
62
- cairo: set_line_width([2.0])
63
- cairo: stroke([])
64
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
65
- cairo: set_source_color([:black])
66
- cairo: fill([])
67
- cairo: restore([])
68
- cairo: save([])
69
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
70
- cairo: set_source_color([:black])
71
- cairo: set_line_width([2.0])
72
- cairo: stroke([])
73
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
74
- cairo: set_source_color([:black])
75
- cairo: fill([])
76
- cairo: restore([])
77
- cairo: save([])
78
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
79
- cairo: set_source_color([:black])
80
- cairo: set_line_width([2.0])
81
- cairo: stroke([])
82
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
83
- cairo: set_source_color([:black])
84
- cairo: fill([])
85
- cairo: restore([])
86
- cairo: save([])
87
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
88
- cairo: set_source_color([:black])
89
- cairo: set_line_width([2.0])
90
- cairo: stroke([])
91
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
92
- cairo: set_source_color([:black])
93
- cairo: fill([])
94
- cairo: restore([])
95
- cairo: save([])
96
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
97
- cairo: set_source_color([:black])
98
- cairo: set_line_width([2.0])
99
- cairo: stroke([])
100
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
101
- cairo: set_source_color([:black])
102
- cairo: fill([])
103
- cairo: restore([])
104
- cairo: save([])
105
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
106
- cairo: set_source_color([:black])
107
- cairo: set_line_width([2.0])
108
- cairo: stroke([])
109
- cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
110
- cairo: set_source_color([:black])
111
- cairo: fill([])
112
- cairo: restore([])
113
- cairo: save([])
114
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
115
- cairo: set_source_color([:black])
116
- cairo: set_line_width([2.0])
117
- cairo: stroke([])
118
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
119
- cairo: set_source_color([:white])
120
- cairo: fill([])
121
- cairo: restore([])
122
- cairo: save([])
123
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
124
- cairo: set_source_color([:black])
125
- cairo: set_line_width([2.0])
126
- cairo: stroke([])
127
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
128
- cairo: set_source_color([:white])
129
- cairo: fill([])
130
- cairo: restore([])
131
- cairo: save([])
132
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
133
- cairo: set_source_color([:black])
134
- cairo: set_line_width([2.0])
135
- cairo: stroke([])
136
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
137
- cairo: set_source_color([:white])
138
- cairo: fill([])
139
- cairo: restore([])
140
- cairo: save([])
141
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
142
- cairo: set_source_color([:black])
143
- cairo: set_line_width([2.0])
144
- cairo: stroke([])
145
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
146
- cairo: set_source_color([:white])
147
- cairo: fill([])
148
- cairo: restore([])
149
- cairo: save([])
150
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
151
- cairo: set_source_color([:black])
152
- cairo: set_line_width([2.0])
153
- cairo: stroke([])
154
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
155
- cairo: set_source_color([:white])
156
- cairo: fill([])
157
- cairo: restore([])
158
- cairo: save([])
159
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
160
- cairo: set_source_color([:black])
161
- cairo: set_line_width([2.0])
162
- cairo: stroke([])
163
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
164
- cairo: set_source_color([:white])
165
- cairo: fill([])
166
- cairo: restore([])
167
- cairo: save([])
168
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
169
- cairo: set_source_color([:black])
170
- cairo: set_line_width([2.0])
171
- cairo: stroke([])
172
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
173
- cairo: set_source_color([:white])
174
- cairo: fill([])
175
- cairo: restore([])
176
- cairo: save([])
177
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
178
- cairo: set_source_color([:black])
179
- cairo: set_line_width([2.0])
180
- cairo: stroke([])
181
- cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
182
- cairo: set_source_color([:white])
183
- cairo: fill([])
184
- cairo: restore([])
185
- cairo: save([])
186
- cairo: set_source_color([:black])
187
- cairo: translate([75, 75])
188
- cairo: rotate([0])
189
- cairo: move_to([0, 0])
190
- pango: font_description=([MockDouble])
191
- pango: text=(["A"])
192
- pango: width=([204800])
193
- pango: height=([204800])
194
- pango: wrap=([#<Pango::Layout::WrapMode word-char>])
195
- pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
196
- pango: alignment=([#<Pango::Layout::Alignment left>])
197
- pango: justify=([false])
198
- pango: spacing=([0])
199
- cairo: update_pango_layout([MockDouble])
200
- cairo: move_to([0, 0])
201
- cairo: update_pango_layout([MockDouble])
202
- cairo: show_pango_layout([MockDouble])
203
- cairo: restore([])
204
- cairo: save([])
205
- cairo: set_source_color([:black])
206
- cairo: translate([75, 75])
207
- cairo: rotate([0])
208
- cairo: move_to([0, 0])
209
- pango: font_description=([MockDouble])
210
- pango: text=(["B"])
211
- pango: width=([204800])
212
- pango: height=([204800])
213
- pango: wrap=([#<Pango::Layout::WrapMode word-char>])
214
- pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
215
- pango: alignment=([#<Pango::Layout::Alignment left>])
216
- pango: justify=([false])
217
- pango: spacing=([0])
218
- cairo: update_pango_layout([MockDouble])
219
- cairo: move_to([0, 0])
220
- cairo: update_pango_layout([MockDouble])
221
- cairo: show_pango_layout([MockDouble])
222
- cairo: restore([])
223
- cairo: save([])
224
- cairo: set_source_color([:black])
225
- cairo: translate([75, 75])
226
- cairo: rotate([0])
227
- cairo: move_to([0, 0])
228
- pango: font_description=([MockDouble])
229
- pango: text=(["C"])
230
- pango: width=([204800])
231
- pango: height=([204800])
232
- pango: wrap=([#<Pango::Layout::WrapMode word-char>])
233
- pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
234
- pango: alignment=([#<Pango::Layout::Alignment left>])
235
- pango: justify=([false])
236
- pango: spacing=([0])
237
- cairo: update_pango_layout([MockDouble])
238
- cairo: move_to([0, 0])
239
- cairo: update_pango_layout([MockDouble])
240
- cairo: show_pango_layout([MockDouble])
241
- cairo: restore([])
242
- cairo: save([])
243
- cairo: set_source_color([:black])
244
- cairo: translate([75, 75])
245
- cairo: rotate([0])
246
- cairo: move_to([0, 0])
247
- pango: font_description=([MockDouble])
248
- pango: text=(["D"])
249
- pango: width=([204800])
250
- pango: height=([204800])
251
- pango: wrap=([#<Pango::Layout::WrapMode word-char>])
252
- pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
253
- pango: alignment=([#<Pango::Layout::Alignment left>])
254
- pango: justify=([false])
255
- pango: spacing=([0])
256
- cairo: update_pango_layout([MockDouble])
257
- cairo: move_to([0, 0])
258
- cairo: update_pango_layout([MockDouble])
259
- cairo: show_pango_layout([MockDouble])
260
- cairo: restore([])
261
- cairo: save([])
262
- cairo: set_source_color([:black])
263
- cairo: translate([75, 75])
264
- cairo: rotate([0])
265
- cairo: move_to([0, 0])
266
- pango: font_description=([MockDouble])
267
- pango: text=(["E"])
268
- pango: width=([204800])
269
- pango: height=([204800])
270
- pango: wrap=([#<Pango::Layout::WrapMode word-char>])
271
- pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
272
- pango: alignment=([#<Pango::Layout::Alignment left>])
273
- pango: justify=([false])
274
- pango: spacing=([0])
275
- cairo: update_pango_layout([MockDouble])
276
- cairo: move_to([0, 0])
277
- cairo: update_pango_layout([MockDouble])
278
- cairo: show_pango_layout([MockDouble])
279
- cairo: restore([])
280
- cairo: save([])
281
- cairo: set_source_color([:black])
282
- cairo: translate([75, 75])
283
- cairo: rotate([0])
284
- cairo: move_to([0, 0])
285
- pango: font_description=([MockDouble])
286
- pango: text=(["F"])
287
- pango: width=([204800])
288
- pango: height=([204800])
289
- pango: wrap=([#<Pango::Layout::WrapMode word-char>])
290
- pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
291
- pango: alignment=([#<Pango::Layout::Alignment left>])
292
- pango: justify=([false])
293
- pango: spacing=([0])
294
- cairo: update_pango_layout([MockDouble])
295
- cairo: move_to([0, 0])
296
- cairo: update_pango_layout([MockDouble])
297
- cairo: show_pango_layout([MockDouble])
298
- cairo: restore([])
299
- cairo: save([])
300
- cairo: set_source_color([:black])
301
- cairo: translate([75, 75])
302
- cairo: rotate([0])
303
- cairo: move_to([0, 0])
304
- pango: font_description=([MockDouble])
305
- pango: text=(["G"])
306
- pango: width=([204800])
307
- pango: height=([204800])
308
- pango: wrap=([#<Pango::Layout::WrapMode word-char>])
309
- pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
310
- pango: alignment=([#<Pango::Layout::Alignment left>])
311
- pango: justify=([false])
312
- pango: spacing=([0])
313
- cairo: update_pango_layout([MockDouble])
314
- cairo: move_to([0, 0])
315
- cairo: update_pango_layout([MockDouble])
316
- cairo: show_pango_layout([MockDouble])
317
- cairo: restore([])
318
- cairo: save([])
319
- cairo: set_source_color([:black])
320
- cairo: translate([75, 75])
321
- cairo: rotate([0])
322
- cairo: move_to([0, 0])
323
- pango: font_description=([MockDouble])
324
- pango: text=(["H"])
325
- pango: width=([204800])
326
- pango: height=([204800])
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: spacing=([0])
332
- cairo: update_pango_layout([MockDouble])
333
- cairo: move_to([0, 0])
334
- cairo: update_pango_layout([MockDouble])
335
- cairo: show_pango_layout([MockDouble])
336
- cairo: restore([])
337
- cairo: translate([2193.75, 2193.75])
338
- cairo: rotate([-0.7853981633974483])
339
- cairo: translate([-825, -825])
340
- cairo: translate([412.5, 1462.5])
341
- cairo: rotate([0.19634954084936207])
342
- cairo: translate([-412.5, -1462.5])
343
- cairo: save([])
344
- cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
345
- cairo: clip([])
346
- cairo: set_source([MockDouble])
347
- cairo: paint([])
348
- cairo: reset_clip([])
349
- cairo: restore([])
350
- cairo: translate([412.5, 1462.5])
351
- cairo: rotate([0.19634954084936207])
352
- cairo: translate([-412.5, -1462.5])
353
- cairo: save([])
354
- cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
355
- cairo: clip([])
356
- cairo: set_source([MockDouble])
357
- cairo: paint([])
358
- cairo: reset_clip([])
359
- cairo: restore([])
360
- cairo: translate([412.5, 1462.5])
361
- cairo: rotate([0.19634954084936207])
362
- cairo: translate([-412.5, -1462.5])
363
- cairo: save([])
364
- cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
365
- cairo: clip([])
366
- cairo: set_source([MockDouble])
367
- cairo: paint([])
368
- cairo: reset_clip([])
369
- cairo: restore([])
370
- cairo: translate([412.5, 1462.5])
371
- cairo: rotate([0.19634954084936207])
372
- cairo: translate([-412.5, -1462.5])
373
- cairo: save([])
374
- cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
375
- cairo: clip([])
376
- cairo: set_source([MockDouble])
377
- cairo: paint([])
378
- cairo: reset_clip([])
379
- cairo: restore([])
380
- cairo: translate([412.5, 1462.5])
381
- cairo: rotate([0.19634954084936207])
382
- cairo: translate([-412.5, -1462.5])
383
- cairo: save([])
384
- cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
385
- cairo: clip([])
386
- cairo: set_source([MockDouble])
387
- cairo: paint([])
388
- cairo: reset_clip([])
389
- cairo: restore([])
390
- cairo: translate([412.5, 1462.5])
391
- cairo: rotate([0.19634954084936207])
392
- cairo: translate([-412.5, -1462.5])
393
- cairo: save([])
394
- cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
395
- cairo: clip([])
396
- cairo: set_source([MockDouble])
397
- cairo: paint([])
398
- cairo: reset_clip([])
399
- cairo: restore([])
400
- cairo: translate([412.5, 1462.5])
401
- cairo: rotate([0.19634954084936207])
402
- cairo: translate([-412.5, -1462.5])
403
- cairo: save([])
404
- cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
405
- cairo: clip([])
406
- cairo: set_source([MockDouble])
407
- cairo: paint([])
408
- cairo: reset_clip([])
409
- cairo: restore([])
410
- cairo: translate([412.5, 1462.5])
411
- cairo: rotate([0.19634954084936207])
412
- cairo: translate([-412.5, -1462.5])
413
- cairo: save([])
414
- cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
415
- cairo: clip([])
416
- cairo: set_source([MockDouble])
417
- cairo: paint([])
418
- cairo: reset_clip([])
419
- cairo: restore([])
420
- cairo: set_source_color([:white])
421
- cairo: paint([])
422
- cairo: translate([75, 75])
423
- cairo: set_source([MockDouble])
424
- cairo: paint([])
425
- surface: write_to_png(["_output/hand.png"])
426
- cairo: translate([1687.5, 1687.5])
427
- cairo: rotate([-0.7853981633974483])
428
- cairo: translate([-825, -825])
429
- cairo: translate([412.5, 1125])
430
- cairo: rotate([0.19634954084936207])
431
- cairo: translate([-412.5, -1125])
432
- cairo: save([])
433
- cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
434
- cairo: clip([])
435
- cairo: set_source([MockDouble])
436
- cairo: paint([])
437
- cairo: reset_clip([])
438
- cairo: restore([])
439
- cairo: translate([412.5, 1125])
440
- cairo: rotate([0.19634954084936207])
441
- cairo: translate([-412.5, -1125])
442
- cairo: save([])
443
- cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
444
- cairo: clip([])
445
- cairo: set_source([MockDouble])
446
- cairo: paint([])
447
- cairo: reset_clip([])
448
- cairo: restore([])
449
- cairo: translate([412.5, 1125])
450
- cairo: rotate([0.19634954084936207])
451
- cairo: translate([-412.5, -1125])
452
- cairo: save([])
453
- cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
454
- cairo: clip([])
455
- cairo: set_source([MockDouble])
456
- cairo: paint([])
457
- cairo: reset_clip([])
458
- cairo: restore([])
459
- cairo: translate([412.5, 1125])
460
- cairo: rotate([0.19634954084936207])
461
- cairo: translate([-412.5, -1125])
462
- cairo: save([])
463
- cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
464
- cairo: clip([])
465
- cairo: set_source([MockDouble])
466
- cairo: paint([])
467
- cairo: reset_clip([])
468
- cairo: restore([])
469
- cairo: translate([412.5, 1125])
470
- cairo: rotate([0.19634954084936207])
471
- cairo: translate([-412.5, -1125])
472
- cairo: save([])
473
- cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
474
- cairo: clip([])
475
- cairo: set_source([MockDouble])
476
- cairo: paint([])
477
- cairo: reset_clip([])
478
- cairo: restore([])
479
- cairo: translate([412.5, 1125])
480
- cairo: rotate([0.19634954084936207])
481
- cairo: translate([-412.5, -1125])
482
- cairo: save([])
483
- cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
484
- cairo: clip([])
485
- cairo: set_source([MockDouble])
486
- cairo: paint([])
487
- cairo: reset_clip([])
488
- cairo: restore([])
489
- cairo: translate([412.5, 1125])
490
- cairo: rotate([0.19634954084936207])
491
- cairo: translate([-412.5, -1125])
492
- cairo: save([])
493
- cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
494
- cairo: clip([])
495
- cairo: set_source([MockDouble])
496
- cairo: paint([])
497
- cairo: reset_clip([])
498
- cairo: restore([])
499
- cairo: translate([412.5, 1125])
500
- cairo: rotate([0.19634954084936207])
501
- cairo: translate([-412.5, -1125])
502
- cairo: save([])
503
- cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
504
- cairo: clip([])
505
- cairo: set_source([MockDouble])
506
- cairo: paint([])
507
- cairo: reset_clip([])
508
- cairo: restore([])
509
- cairo: set_source_color([:white])
510
- cairo: paint([])
511
- cairo: translate([75, 75])
512
- cairo: set_source([MockDouble])
513
- cairo: paint([])
514
- surface: write_to_png(["_output/hand_pretty.png"])
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: save([])
10
+ cairo: set_source_color(["cyan"])
11
+ cairo: paint([])
12
+ cairo: restore([])
13
+ cairo: save([])
14
+ cairo: set_source_color(["cyan"])
15
+ cairo: paint([])
16
+ cairo: restore([])
17
+ cairo: save([])
18
+ cairo: set_source_color(["cyan"])
19
+ cairo: paint([])
20
+ cairo: restore([])
21
+ cairo: save([])
22
+ cairo: set_source_color(["cyan"])
23
+ cairo: paint([])
24
+ cairo: restore([])
25
+ cairo: save([])
26
+ cairo: set_source_color(["cyan"])
27
+ cairo: paint([])
28
+ cairo: restore([])
29
+ cairo: save([])
30
+ cairo: set_source_color(["cyan"])
31
+ cairo: paint([])
32
+ cairo: restore([])
33
+ cairo: save([])
34
+ cairo: set_source_color(["cyan"])
35
+ cairo: paint([])
36
+ cairo: restore([])
37
+ cairo: save([])
38
+ cairo: set_source_color(["cyan"])
39
+ cairo: paint([])
40
+ cairo: restore([])
41
+ cairo: save([])
42
+ cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
43
+ cairo: set_source_color(["black"])
44
+ cairo: fill_preserve([])
45
+ cairo: set_source_color(["black"])
46
+ cairo: set_line_width([2.0])
47
+ cairo: set_line_join([0])
48
+ cairo: set_line_cap([0])
49
+ cairo: set_dash([[]])
50
+ cairo: stroke([])
51
+ cairo: restore([])
52
+ cairo: save([])
53
+ cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
54
+ cairo: set_source_color(["black"])
55
+ cairo: fill_preserve([])
56
+ cairo: set_source_color(["black"])
57
+ cairo: set_line_width([2.0])
58
+ cairo: set_line_join([0])
59
+ cairo: set_line_cap([0])
60
+ cairo: set_dash([[]])
61
+ cairo: stroke([])
62
+ cairo: restore([])
63
+ cairo: save([])
64
+ cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
65
+ cairo: set_source_color(["black"])
66
+ cairo: fill_preserve([])
67
+ cairo: set_source_color(["black"])
68
+ cairo: set_line_width([2.0])
69
+ cairo: set_line_join([0])
70
+ cairo: set_line_cap([0])
71
+ cairo: set_dash([[]])
72
+ cairo: stroke([])
73
+ cairo: restore([])
74
+ cairo: save([])
75
+ cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
76
+ cairo: set_source_color(["black"])
77
+ cairo: fill_preserve([])
78
+ cairo: set_source_color(["black"])
79
+ cairo: set_line_width([2.0])
80
+ cairo: set_line_join([0])
81
+ cairo: set_line_cap([0])
82
+ cairo: set_dash([[]])
83
+ cairo: stroke([])
84
+ cairo: restore([])
85
+ cairo: save([])
86
+ cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
87
+ cairo: set_source_color(["black"])
88
+ cairo: fill_preserve([])
89
+ cairo: set_source_color(["black"])
90
+ cairo: set_line_width([2.0])
91
+ cairo: set_line_join([0])
92
+ cairo: set_line_cap([0])
93
+ cairo: set_dash([[]])
94
+ cairo: stroke([])
95
+ cairo: restore([])
96
+ cairo: save([])
97
+ cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
98
+ cairo: set_source_color(["black"])
99
+ cairo: fill_preserve([])
100
+ cairo: set_source_color(["black"])
101
+ cairo: set_line_width([2.0])
102
+ cairo: set_line_join([0])
103
+ cairo: set_line_cap([0])
104
+ cairo: set_dash([[]])
105
+ cairo: stroke([])
106
+ cairo: restore([])
107
+ cairo: save([])
108
+ cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
109
+ cairo: set_source_color(["black"])
110
+ cairo: fill_preserve([])
111
+ cairo: set_source_color(["black"])
112
+ cairo: set_line_width([2.0])
113
+ cairo: set_line_join([0])
114
+ cairo: set_line_cap([0])
115
+ cairo: set_dash([[]])
116
+ cairo: stroke([])
117
+ cairo: restore([])
118
+ cairo: save([])
119
+ cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
120
+ cairo: set_source_color(["black"])
121
+ cairo: fill_preserve([])
122
+ cairo: set_source_color(["black"])
123
+ cairo: set_line_width([2.0])
124
+ cairo: set_line_join([0])
125
+ cairo: set_line_cap([0])
126
+ cairo: set_dash([[]])
127
+ cairo: stroke([])
128
+ cairo: restore([])
129
+ cairo: save([])
130
+ cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
131
+ cairo: set_source_color(["white"])
132
+ cairo: fill_preserve([])
133
+ cairo: set_source_color(["black"])
134
+ cairo: set_line_width([2.0])
135
+ cairo: set_line_join([0])
136
+ cairo: set_line_cap([0])
137
+ cairo: set_dash([[]])
138
+ cairo: stroke([])
139
+ cairo: restore([])
140
+ cairo: save([])
141
+ cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
142
+ cairo: set_source_color(["white"])
143
+ cairo: fill_preserve([])
144
+ cairo: set_source_color(["black"])
145
+ cairo: set_line_width([2.0])
146
+ cairo: set_line_join([0])
147
+ cairo: set_line_cap([0])
148
+ cairo: set_dash([[]])
149
+ cairo: stroke([])
150
+ cairo: restore([])
151
+ cairo: save([])
152
+ cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
153
+ cairo: set_source_color(["white"])
154
+ cairo: fill_preserve([])
155
+ cairo: set_source_color(["black"])
156
+ cairo: set_line_width([2.0])
157
+ cairo: set_line_join([0])
158
+ cairo: set_line_cap([0])
159
+ cairo: set_dash([[]])
160
+ cairo: stroke([])
161
+ cairo: restore([])
162
+ cairo: save([])
163
+ cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
164
+ cairo: set_source_color(["white"])
165
+ cairo: fill_preserve([])
166
+ cairo: set_source_color(["black"])
167
+ cairo: set_line_width([2.0])
168
+ cairo: set_line_join([0])
169
+ cairo: set_line_cap([0])
170
+ cairo: set_dash([[]])
171
+ cairo: stroke([])
172
+ cairo: restore([])
173
+ cairo: save([])
174
+ cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
175
+ cairo: set_source_color(["white"])
176
+ cairo: fill_preserve([])
177
+ cairo: set_source_color(["black"])
178
+ cairo: set_line_width([2.0])
179
+ cairo: set_line_join([0])
180
+ cairo: set_line_cap([0])
181
+ cairo: set_dash([[]])
182
+ cairo: stroke([])
183
+ cairo: restore([])
184
+ cairo: save([])
185
+ cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
186
+ cairo: set_source_color(["white"])
187
+ cairo: fill_preserve([])
188
+ cairo: set_source_color(["black"])
189
+ cairo: set_line_width([2.0])
190
+ cairo: set_line_join([0])
191
+ cairo: set_line_cap([0])
192
+ cairo: set_dash([[]])
193
+ cairo: stroke([])
194
+ cairo: restore([])
195
+ cairo: save([])
196
+ cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
197
+ cairo: set_source_color(["white"])
198
+ cairo: fill_preserve([])
199
+ cairo: set_source_color(["black"])
200
+ cairo: set_line_width([2.0])
201
+ cairo: set_line_join([0])
202
+ cairo: set_line_cap([0])
203
+ cairo: set_dash([[]])
204
+ cairo: stroke([])
205
+ cairo: restore([])
206
+ cairo: save([])
207
+ cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
208
+ cairo: set_source_color(["white"])
209
+ cairo: fill_preserve([])
210
+ cairo: set_source_color(["black"])
211
+ cairo: set_line_width([2.0])
212
+ cairo: set_line_join([0])
213
+ cairo: set_line_cap([0])
214
+ cairo: set_dash([[]])
215
+ cairo: stroke([])
216
+ cairo: restore([])
217
+ cairo: save([])
218
+ cairo: set_source_color(["black"])
219
+ cairo: translate([75, 75])
220
+ cairo: rotate([0])
221
+ cairo: move_to([0, 0])
222
+ pango: font_description=([MockDouble])
223
+ pango: text=(["A"])
224
+ pango: width=([204800])
225
+ pango: height=([204800])
226
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
227
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
228
+ pango: alignment=([#<Pango::Layout::Alignment left>])
229
+ pango: justify=([false])
230
+ cairo: move_to([0, 0])
231
+ cairo: move_to([0, 0])
232
+ cairo: show_pango_layout([MockDouble])
233
+ pango: ellipsized?([])
234
+ cairo: restore([])
235
+ cairo: save([])
236
+ cairo: set_source_color(["black"])
237
+ cairo: translate([75, 75])
238
+ cairo: rotate([0])
239
+ cairo: move_to([0, 0])
240
+ pango: font_description=([MockDouble])
241
+ pango: text=(["B"])
242
+ pango: width=([204800])
243
+ pango: height=([204800])
244
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
245
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
246
+ pango: alignment=([#<Pango::Layout::Alignment left>])
247
+ pango: justify=([false])
248
+ cairo: move_to([0, 0])
249
+ cairo: move_to([0, 0])
250
+ cairo: show_pango_layout([MockDouble])
251
+ pango: ellipsized?([])
252
+ cairo: restore([])
253
+ cairo: save([])
254
+ cairo: set_source_color(["black"])
255
+ cairo: translate([75, 75])
256
+ cairo: rotate([0])
257
+ cairo: move_to([0, 0])
258
+ pango: font_description=([MockDouble])
259
+ pango: text=(["C"])
260
+ pango: width=([204800])
261
+ pango: height=([204800])
262
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
263
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
264
+ pango: alignment=([#<Pango::Layout::Alignment left>])
265
+ pango: justify=([false])
266
+ cairo: move_to([0, 0])
267
+ cairo: move_to([0, 0])
268
+ cairo: show_pango_layout([MockDouble])
269
+ pango: ellipsized?([])
270
+ cairo: restore([])
271
+ cairo: save([])
272
+ cairo: set_source_color(["black"])
273
+ cairo: translate([75, 75])
274
+ cairo: rotate([0])
275
+ cairo: move_to([0, 0])
276
+ pango: font_description=([MockDouble])
277
+ pango: text=(["D"])
278
+ pango: width=([204800])
279
+ pango: height=([204800])
280
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
281
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
282
+ pango: alignment=([#<Pango::Layout::Alignment left>])
283
+ pango: justify=([false])
284
+ cairo: move_to([0, 0])
285
+ cairo: move_to([0, 0])
286
+ cairo: show_pango_layout([MockDouble])
287
+ pango: ellipsized?([])
288
+ cairo: restore([])
289
+ cairo: save([])
290
+ cairo: set_source_color(["black"])
291
+ cairo: translate([75, 75])
292
+ cairo: rotate([0])
293
+ cairo: move_to([0, 0])
294
+ pango: font_description=([MockDouble])
295
+ pango: text=(["E"])
296
+ pango: width=([204800])
297
+ pango: height=([204800])
298
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
299
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
300
+ pango: alignment=([#<Pango::Layout::Alignment left>])
301
+ pango: justify=([false])
302
+ cairo: move_to([0, 0])
303
+ cairo: move_to([0, 0])
304
+ cairo: show_pango_layout([MockDouble])
305
+ pango: ellipsized?([])
306
+ cairo: restore([])
307
+ cairo: save([])
308
+ cairo: set_source_color(["black"])
309
+ cairo: translate([75, 75])
310
+ cairo: rotate([0])
311
+ cairo: move_to([0, 0])
312
+ pango: font_description=([MockDouble])
313
+ pango: text=(["F"])
314
+ pango: width=([204800])
315
+ pango: height=([204800])
316
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
317
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
318
+ pango: alignment=([#<Pango::Layout::Alignment left>])
319
+ pango: justify=([false])
320
+ cairo: move_to([0, 0])
321
+ cairo: move_to([0, 0])
322
+ cairo: show_pango_layout([MockDouble])
323
+ pango: ellipsized?([])
324
+ cairo: restore([])
325
+ cairo: save([])
326
+ cairo: set_source_color(["black"])
327
+ cairo: translate([75, 75])
328
+ cairo: rotate([0])
329
+ cairo: move_to([0, 0])
330
+ pango: font_description=([MockDouble])
331
+ pango: text=(["G"])
332
+ pango: width=([204800])
333
+ pango: height=([204800])
334
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
335
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
336
+ pango: alignment=([#<Pango::Layout::Alignment left>])
337
+ pango: justify=([false])
338
+ cairo: move_to([0, 0])
339
+ cairo: move_to([0, 0])
340
+ cairo: show_pango_layout([MockDouble])
341
+ pango: ellipsized?([])
342
+ cairo: restore([])
343
+ cairo: save([])
344
+ cairo: set_source_color(["black"])
345
+ cairo: translate([75, 75])
346
+ cairo: rotate([0])
347
+ cairo: move_to([0, 0])
348
+ pango: font_description=([MockDouble])
349
+ pango: text=(["H"])
350
+ pango: width=([204800])
351
+ pango: height=([204800])
352
+ pango: wrap=([#<Pango::Layout::WrapMode word-char>])
353
+ pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
354
+ pango: alignment=([#<Pango::Layout::Alignment left>])
355
+ pango: justify=([false])
356
+ cairo: move_to([0, 0])
357
+ cairo: move_to([0, 0])
358
+ cairo: show_pango_layout([MockDouble])
359
+ pango: ellipsized?([])
360
+ cairo: restore([])
361
+ cairo: translate([2193.75, 2193.75])
362
+ cairo: rotate([-0.7853981633974483])
363
+ cairo: translate([-825, -825])
364
+ cairo: translate([412.5, 1462.5])
365
+ cairo: rotate([0.19634954084936207])
366
+ cairo: translate([-412.5, -1462.5])
367
+ cairo: save([])
368
+ cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
369
+ cairo: clip([])
370
+ cairo: set_source([MockDouble])
371
+ cairo: paint([])
372
+ cairo: reset_clip([])
373
+ cairo: restore([])
374
+ cairo: translate([412.5, 1462.5])
375
+ cairo: rotate([0.19634954084936207])
376
+ cairo: translate([-412.5, -1462.5])
377
+ cairo: save([])
378
+ cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
379
+ cairo: clip([])
380
+ cairo: set_source([MockDouble])
381
+ cairo: paint([])
382
+ cairo: reset_clip([])
383
+ cairo: restore([])
384
+ cairo: translate([412.5, 1462.5])
385
+ cairo: rotate([0.19634954084936207])
386
+ cairo: translate([-412.5, -1462.5])
387
+ cairo: save([])
388
+ cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
389
+ cairo: clip([])
390
+ cairo: set_source([MockDouble])
391
+ cairo: paint([])
392
+ cairo: reset_clip([])
393
+ cairo: restore([])
394
+ cairo: translate([412.5, 1462.5])
395
+ cairo: rotate([0.19634954084936207])
396
+ cairo: translate([-412.5, -1462.5])
397
+ cairo: save([])
398
+ cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
399
+ cairo: clip([])
400
+ cairo: set_source([MockDouble])
401
+ cairo: paint([])
402
+ cairo: reset_clip([])
403
+ cairo: restore([])
404
+ cairo: translate([412.5, 1462.5])
405
+ cairo: rotate([0.19634954084936207])
406
+ cairo: translate([-412.5, -1462.5])
407
+ cairo: save([])
408
+ cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
409
+ cairo: clip([])
410
+ cairo: set_source([MockDouble])
411
+ cairo: paint([])
412
+ cairo: reset_clip([])
413
+ cairo: restore([])
414
+ cairo: translate([412.5, 1462.5])
415
+ cairo: rotate([0.19634954084936207])
416
+ cairo: translate([-412.5, -1462.5])
417
+ cairo: save([])
418
+ cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
419
+ cairo: clip([])
420
+ cairo: set_source([MockDouble])
421
+ cairo: paint([])
422
+ cairo: reset_clip([])
423
+ cairo: restore([])
424
+ cairo: translate([412.5, 1462.5])
425
+ cairo: rotate([0.19634954084936207])
426
+ cairo: translate([-412.5, -1462.5])
427
+ cairo: save([])
428
+ cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
429
+ cairo: clip([])
430
+ cairo: set_source([MockDouble])
431
+ cairo: paint([])
432
+ cairo: reset_clip([])
433
+ cairo: restore([])
434
+ cairo: translate([412.5, 1462.5])
435
+ cairo: rotate([0.19634954084936207])
436
+ cairo: translate([-412.5, -1462.5])
437
+ cairo: save([])
438
+ cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
439
+ cairo: clip([])
440
+ cairo: set_source([MockDouble])
441
+ cairo: paint([])
442
+ cairo: reset_clip([])
443
+ cairo: restore([])
444
+ cairo: set_source_color(["white"])
445
+ cairo: paint([])
446
+ cairo: translate([75, 75])
447
+ cairo: set_source([MockDouble])
448
+ cairo: paint([])
449
+ surface: write_to_png(["_output/hand.png"])
450
+ cairo: translate([1687.5, 1687.5])
451
+ cairo: rotate([-0.7853981633974483])
452
+ cairo: translate([-825, -825])
453
+ cairo: translate([412.5, 1125])
454
+ cairo: rotate([0.19634954084936207])
455
+ cairo: translate([-412.5, -1125])
456
+ cairo: save([])
457
+ cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
458
+ cairo: clip([])
459
+ cairo: set_source([MockDouble])
460
+ cairo: paint([])
461
+ cairo: reset_clip([])
462
+ cairo: restore([])
463
+ cairo: translate([412.5, 1125])
464
+ cairo: rotate([0.19634954084936207])
465
+ cairo: translate([-412.5, -1125])
466
+ cairo: save([])
467
+ cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
468
+ cairo: clip([])
469
+ cairo: set_source([MockDouble])
470
+ cairo: paint([])
471
+ cairo: reset_clip([])
472
+ cairo: restore([])
473
+ cairo: translate([412.5, 1125])
474
+ cairo: rotate([0.19634954084936207])
475
+ cairo: translate([-412.5, -1125])
476
+ cairo: save([])
477
+ cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
478
+ cairo: clip([])
479
+ cairo: set_source([MockDouble])
480
+ cairo: paint([])
481
+ cairo: reset_clip([])
482
+ cairo: restore([])
483
+ cairo: translate([412.5, 1125])
484
+ cairo: rotate([0.19634954084936207])
485
+ cairo: translate([-412.5, -1125])
486
+ cairo: save([])
487
+ cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
488
+ cairo: clip([])
489
+ cairo: set_source([MockDouble])
490
+ cairo: paint([])
491
+ cairo: reset_clip([])
492
+ cairo: restore([])
493
+ cairo: translate([412.5, 1125])
494
+ cairo: rotate([0.19634954084936207])
495
+ cairo: translate([-412.5, -1125])
496
+ cairo: save([])
497
+ cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
498
+ cairo: clip([])
499
+ cairo: set_source([MockDouble])
500
+ cairo: paint([])
501
+ cairo: reset_clip([])
502
+ cairo: restore([])
503
+ cairo: translate([412.5, 1125])
504
+ cairo: rotate([0.19634954084936207])
505
+ cairo: translate([-412.5, -1125])
506
+ cairo: save([])
507
+ cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
508
+ cairo: clip([])
509
+ cairo: set_source([MockDouble])
510
+ cairo: paint([])
511
+ cairo: reset_clip([])
512
+ cairo: restore([])
513
+ cairo: translate([412.5, 1125])
514
+ cairo: rotate([0.19634954084936207])
515
+ cairo: translate([-412.5, -1125])
516
+ cairo: save([])
517
+ cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
518
+ cairo: clip([])
519
+ cairo: set_source([MockDouble])
520
+ cairo: paint([])
521
+ cairo: reset_clip([])
522
+ cairo: restore([])
523
+ cairo: translate([412.5, 1125])
524
+ cairo: rotate([0.19634954084936207])
525
+ cairo: translate([-412.5, -1125])
526
+ cairo: save([])
527
+ cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
528
+ cairo: clip([])
529
+ cairo: set_source([MockDouble])
530
+ cairo: paint([])
531
+ cairo: reset_clip([])
532
+ cairo: restore([])
533
+ cairo: set_source_color(["white"])
534
+ cairo: paint([])
535
+ cairo: translate([75, 75])
536
+ cairo: set_source([MockDouble])
537
+ cairo: paint([])
538
+ surface: write_to_png(["_output/hand_pretty.png"])