squib 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.rspec +1 -0
- data/CHANGELOG.md +62 -14
- data/Gemfile +1 -1
- data/README.md +16 -10
- data/RELEASE TODO.md +2 -1
- data/Rakefile +11 -0
- data/lib/squib/api/data.rb +3 -3
- data/lib/squib/api/image.rb +7 -5
- data/lib/squib/api/save.rb +31 -2
- data/lib/squib/api/settings.rb +1 -1
- data/lib/squib/api/shapes.rb +86 -0
- data/lib/squib/api/text.rb +6 -2
- data/lib/squib/api/text_embed.rb +7 -5
- data/lib/squib/args/typographer.rb +22 -16
- data/lib/squib/card.rb +5 -5
- data/lib/squib/conf.rb +111 -0
- data/lib/squib/constants.rb +11 -31
- data/lib/squib/deck.rb +15 -48
- data/lib/squib/graphics/cairo_context_wrapper.rb +3 -1
- data/lib/squib/graphics/gradient_regex.rb +1 -0
- data/lib/squib/graphics/hand.rb +43 -0
- data/lib/squib/graphics/image.rb +5 -3
- data/lib/squib/graphics/save_doc.rb +1 -1
- data/lib/squib/graphics/shapes.rb +74 -0
- data/lib/squib/graphics/showcase.rb +5 -2
- data/lib/squib/graphics/text.rb +18 -7
- data/lib/squib/input_helpers.rb +2 -2
- data/lib/squib/version.rb +1 -1
- data/samples/csv_import.rb +3 -5
- data/samples/custom-config.yml +0 -1
- data/samples/custom_config.rb +1 -1
- data/samples/draw_shapes.rb +11 -0
- data/samples/embed_text.rb +1 -1
- data/samples/hand.rb +24 -0
- data/samples/load_images.rb +14 -0
- data/samples/sample.csv +3 -3
- data/samples/text_options.rb +4 -0
- data/spec/api/api_data_spec.rb +19 -0
- data/spec/api/api_image_spec.rb +1 -1
- data/spec/api/api_settings_spec.rb +18 -0
- data/spec/api/api_text_spec.rb +3 -3
- data/spec/conf_spec.rb +29 -0
- data/spec/data/conf/basic.yml +0 -0
- data/spec/data/conf/empty.yml +1 -0
- data/spec/data/samples/csv_import.rb.txt +4 -38
- data/spec/data/samples/custom_config.rb.txt +4 -0
- data/spec/data/samples/draw_shapes.rb.txt +57 -0
- data/spec/data/samples/hand.rb.txt +514 -0
- data/spec/data/samples/load_images.rb.txt +6 -0
- data/spec/data/samples/text_options.rb.txt +81 -0
- data/spec/data/xlsx/basic.xlsx +0 -0
- data/spec/data/xlsx/formulas.xlsx +0 -0
- data/spec/graphics/graphics_images_spec.rb +49 -48
- data/spec/graphics/graphics_shapes_spec.rb +43 -41
- data/spec/graphics/graphics_text_spec.rb +25 -11
- data/spec/samples/_diffs/gitkeep.txt +0 -0
- data/spec/samples/expected/autoscale_00.png +0 -0
- data/spec/samples/expected/autoscale_01.png +0 -0
- data/spec/samples/expected/autoscale_02.png +0 -0
- data/spec/samples/expected/backend_00.png +0 -0
- data/spec/samples/expected/backend_00.svg +78 -0
- data/spec/samples/expected/backend_01.png +0 -0
- data/spec/samples/expected/backend_01.svg +78 -0
- data/spec/samples/expected/basic_00.png +0 -0
- data/spec/samples/expected/basic_01.png +0 -0
- data/spec/samples/expected/basic_02.png +0 -0
- data/spec/samples/expected/cairo_access_00.png +0 -0
- data/spec/samples/expected/cairo_access_01.png +0 -0
- data/spec/samples/expected/card_00.png +0 -0
- data/spec/samples/expected/card_01.png +0 -0
- data/spec/samples/expected/colors_00.png +0 -0
- data/spec/samples/expected/config_disable_text_00.png +0 -0
- data/spec/samples/expected/config_text_00.png +0 -0
- data/spec/samples/expected/custom-config_00.png +0 -0
- data/spec/samples/expected/embed_00.png +0 -0
- data/spec/samples/expected/embed_multi_00.png +0 -0
- data/spec/samples/expected/embed_multi_01.png +0 -0
- data/spec/samples/expected/embed_multi_02.png +0 -0
- data/spec/samples/expected/embed_multisheet_00.png +0 -0
- data/spec/samples/expected/gitkeep.txt +0 -0
- data/spec/samples/expected/gradient_00.png +0 -0
- data/spec/samples/expected/hand.png +0 -0
- data/spec/samples/expected/hand_pretty.png +0 -0
- data/spec/samples/expected/landscape_00.png +0 -0
- data/spec/samples/expected/layout2_00.png +0 -0
- data/spec/samples/expected/layout_00.png +0 -0
- data/spec/samples/expected/layout_builtin_hand_00.png +0 -0
- data/spec/samples/expected/layout_builtin_playing_card_00.png +0 -0
- data/spec/samples/expected/load_images_00.png +0 -0
- data/spec/samples/expected/portrait_00.png +0 -0
- data/spec/samples/expected/ranges_00.png +0 -0
- data/spec/samples/expected/ranges_01.png +0 -0
- data/spec/samples/expected/ranges_02.png +0 -0
- data/spec/samples/expected/sample_csv_00.png +0 -0
- data/spec/samples/expected/sample_csv_01.png +0 -0
- data/spec/samples/expected/sample_excel_00.png +0 -0
- data/spec/samples/expected/sample_excel_01.png +0 -0
- data/spec/samples/expected/sample_excel_02.png +0 -0
- data/spec/samples/expected/save_sheet_00.png +0 -0
- data/spec/samples/expected/save_sheet_01.png +0 -0
- data/spec/samples/expected/save_sheet_range_00.png +0 -0
- data/spec/samples/expected/save_sheet_range_01.png +0 -0
- data/spec/samples/expected/save_single_sheet_00.png +0 -0
- data/spec/samples/expected/saves_notrim_01.png +0 -0
- data/spec/samples/expected/shape_00.png +0 -0
- data/spec/samples/expected/showcase.png +0 -0
- data/spec/samples/expected/showcase2.png +0 -0
- data/spec/samples/expected/showcase_individual_00.png +0 -0
- data/spec/samples/expected/showcase_individual_01.png +0 -0
- data/spec/samples/expected/showcase_individual_02.png +0 -0
- data/spec/samples/expected/showcase_individual_03.png +0 -0
- data/spec/samples/expected/text_00.png +0 -0
- data/spec/samples/expected/text_01.png +0 -0
- data/spec/samples/expected/text_02.png +0 -0
- data/spec/samples/expected/tgc_sample_00.png +0 -0
- data/spec/samples/expected/units_00.png +0 -0
- data/spec/samples/samples_regression_spec.rb +7 -5
- data/spec/samples/sanity.html.erb +28 -0
- data/spec/samples/sanity.rb +70 -0
- data/spec/spec_helper.rb +15 -1
- data/squib.gemspec +3 -1
- data/squib.sublime-project +27 -40
- metadata +177 -4
data/spec/api/api_image_spec.rb
CHANGED
@@ -23,7 +23,7 @@ describe Squib::Deck, 'images' do
|
|
23
23
|
it 'calls Card#svg, Dir, and progress bar' do
|
24
24
|
card = instance_double(Squib::Card)
|
25
25
|
progress = double(Squib::Progress)
|
26
|
-
expect(card).to receive(:svg).with('foo', '#bar', 0, 1, 20, 30, 0.5, :overlay, 0.75, nil).once
|
26
|
+
expect(card).to receive(:svg).with('foo', nil, '#bar', 0, 1, 20, 30, 0.5, :overlay, 0.75, nil).once
|
27
27
|
expect(Dir).to receive(:chdir).with('.').and_yield.once
|
28
28
|
expect(progress).to receive(:start).and_yield(progress).once
|
29
29
|
expect(progress).to receive(:increment).once
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Squib::Deck do
|
4
|
+
|
5
|
+
context '#hint' do
|
6
|
+
|
7
|
+
it 'sets hinting to conf' do
|
8
|
+
mock_conf = double(Squib::Conf)
|
9
|
+
expect(mock_conf).to receive(:text_hint=).with(:cyan).once
|
10
|
+
Squib::Deck.new do
|
11
|
+
@conf = mock_conf
|
12
|
+
hint text: :cyan
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
data/spec/api/api_text_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe Squib::Deck, '#text' do
|
|
6
6
|
context 'fonts' do
|
7
7
|
it "should use the default font when #text and #set_font don't specify" do
|
8
8
|
card = instance_double(Squib::Card)
|
9
|
-
expect(card).to receive(:text).with(anything, 'a', 'Arial 36', *([anything] *
|
9
|
+
expect(card).to receive(:text).with(anything, 'a', 'Arial 36', *([anything] * 17)).once
|
10
10
|
Squib::Deck.new do
|
11
11
|
@cards = [card]
|
12
12
|
text str: 'a'
|
@@ -15,7 +15,7 @@ describe Squib::Deck, '#text' do
|
|
15
15
|
|
16
16
|
it "should use the #set_font when #text doesn't specify" do
|
17
17
|
card = instance_double(Squib::Card)
|
18
|
-
expect(card).to receive(:text).with(anything, 'a', 'Times New Roman 16', *([anything] *
|
18
|
+
expect(card).to receive(:text).with(anything, 'a', 'Times New Roman 16', *([anything] * 17)).once
|
19
19
|
Squib::Deck.new do
|
20
20
|
@cards = [card]
|
21
21
|
set font: 'Times New Roman 16'
|
@@ -25,7 +25,7 @@ describe Squib::Deck, '#text' do
|
|
25
25
|
|
26
26
|
it 'should use the specified font no matter what' do
|
27
27
|
card = instance_double(Squib::Card)
|
28
|
-
expect(card).to receive(:text).with(anything, 'a', 'Arial 18', *([anything] *
|
28
|
+
expect(card).to receive(:text).with(anything, 'a', 'Arial 18', *([anything] * 17)).once
|
29
29
|
Squib::Deck.new do
|
30
30
|
@cards = [card]
|
31
31
|
set font: 'Times New Roman 16'
|
data/spec/conf_spec.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'squib'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Squib::Conf do
|
5
|
+
|
6
|
+
it 'parses the project template file just fine' do
|
7
|
+
conf = Squib::Conf.load(project_template('config.yml'))
|
8
|
+
expect(conf.backend).to eq(Squib::Conf::DEFAULTS['backend'])
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'parses an empty file' do
|
12
|
+
conf = Squib::Conf.load(conf('empty.yml'))
|
13
|
+
expect(conf.backend).to eq(Squib::Conf::DEFAULTS['backend'])
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'parses the sample custom config' do
|
17
|
+
conf = Squib::Conf.load(sample_file('custom-config.yml'))
|
18
|
+
expect(conf.progress_bars).to be true
|
19
|
+
expect(conf.text_hint).to eq '#FF0000'
|
20
|
+
expect(conf.custom_colors).to eq({ 'foo' => '#ccc' })
|
21
|
+
expect(conf.img_dir).to eq 'customconfig-imgdir'
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'normalizes antialias automatically' do
|
25
|
+
expect(Squib::Conf::DEFAULTS['antialias']).to eq 'best'
|
26
|
+
expect(Squib::Conf.new.antialias).to eq 'subpixel'
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
# Intentionally empty
|
@@ -14,7 +14,7 @@ cairo: translate([250, 55])
|
|
14
14
|
cairo: rotate([0])
|
15
15
|
cairo: move_to([0, 0])
|
16
16
|
pango: font_description=([MockDouble])
|
17
|
-
pango: text=([""])
|
17
|
+
pango: text=(["Thief"])
|
18
18
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
19
19
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
20
20
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
@@ -31,7 +31,7 @@ cairo: translate([250, 55])
|
|
31
31
|
cairo: rotate([0])
|
32
32
|
cairo: move_to([0, 0])
|
33
33
|
pango: font_description=([MockDouble])
|
34
|
-
pango: text=([""])
|
34
|
+
pango: text=(["Mastermind"])
|
35
35
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
36
36
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
37
37
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
@@ -48,7 +48,7 @@ cairo: translate([65, 65])
|
|
48
48
|
cairo: rotate([0])
|
49
49
|
cairo: move_to([0, 0])
|
50
50
|
pango: font_description=([MockDouble])
|
51
|
-
pango: text=([""])
|
51
|
+
pango: text=(["1"])
|
52
52
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
53
53
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
54
54
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
@@ -65,41 +65,7 @@ cairo: translate([65, 65])
|
|
65
65
|
cairo: rotate([0])
|
66
66
|
cairo: move_to([0, 0])
|
67
67
|
pango: font_description=([MockDouble])
|
68
|
-
pango: text=([""])
|
69
|
-
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
70
|
-
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
71
|
-
pango: alignment=([#<Pango::Layout::Alignment left>])
|
72
|
-
pango: justify=([false])
|
73
|
-
pango: spacing=([0])
|
74
|
-
cairo: update_pango_layout([MockDouble])
|
75
|
-
cairo: move_to([0, 0])
|
76
|
-
cairo: update_pango_layout([MockDouble])
|
77
|
-
cairo: show_pango_layout([MockDouble])
|
78
|
-
cairo: restore([])
|
79
|
-
cairo: save([])
|
80
|
-
cairo: set_source_color([:black])
|
81
|
-
cairo: translate([65, 600])
|
82
|
-
cairo: rotate([0])
|
83
|
-
cairo: move_to([0, 0])
|
84
|
-
pango: font_description=([MockDouble])
|
85
|
-
pango: text=([""])
|
86
|
-
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
87
|
-
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
88
|
-
pango: alignment=([#<Pango::Layout::Alignment left>])
|
89
|
-
pango: justify=([false])
|
90
|
-
pango: spacing=([0])
|
91
|
-
cairo: update_pango_layout([MockDouble])
|
92
|
-
cairo: move_to([0, 0])
|
93
|
-
cairo: update_pango_layout([MockDouble])
|
94
|
-
cairo: show_pango_layout([MockDouble])
|
95
|
-
cairo: restore([])
|
96
|
-
cairo: save([])
|
97
|
-
cairo: set_source_color([:black])
|
98
|
-
cairo: translate([65, 600])
|
99
|
-
cairo: rotate([0])
|
100
|
-
cairo: move_to([0, 0])
|
101
|
-
pango: font_description=([MockDouble])
|
102
|
-
pango: text=([""])
|
68
|
+
pango: text=(["2"])
|
103
69
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
104
70
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
105
71
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
@@ -20,6 +20,10 @@ cairo: update_pango_layout([MockDouble])
|
|
20
20
|
cairo: move_to([0, 0])
|
21
21
|
cairo: update_pango_layout([MockDouble])
|
22
22
|
cairo: show_pango_layout([MockDouble])
|
23
|
+
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
|
24
|
+
cairo: set_source_color(["#FF0000"])
|
25
|
+
cairo: set_line_width([2.0])
|
26
|
+
cairo: stroke([])
|
23
27
|
cairo: restore([])
|
24
28
|
cairo: save([])
|
25
29
|
cairo: translate([620, 75])
|
@@ -1,5 +1,9 @@
|
|
1
1
|
cairo: antialias=(["subpixel"])
|
2
2
|
cairo: save([])
|
3
|
+
cairo: set_source_color([:white])
|
4
|
+
cairo: paint([])
|
5
|
+
cairo: restore([])
|
6
|
+
cairo: save([])
|
3
7
|
cairo: rounded_rectangle([300, 300, 400, 400, 0, 0])
|
4
8
|
cairo: set_source_color([:red])
|
5
9
|
cairo: set_line_width([50.0])
|
@@ -45,4 +49,57 @@ cairo: curve_to([150, 700, 150, 700, 625, 900])
|
|
45
49
|
cairo: set_source_color([:burgundy])
|
46
50
|
cairo: fill([])
|
47
51
|
cairo: restore([])
|
52
|
+
cairo: save([])
|
53
|
+
cairo: move_to([50, 975.0])
|
54
|
+
cairo: curve_to([50, 950.0, 100.0, 925, 150.0, 925])
|
55
|
+
cairo: curve_to([200.0, 925, 250, 950.0, 250, 975.0])
|
56
|
+
cairo: curve_to([250, 1000.0, 200.0, 1025, 150.0, 1025])
|
57
|
+
cairo: curve_to([100.0, 1025, 50, 1000.0, 50, 975.0])
|
58
|
+
cairo: set_source_color([:cyan])
|
59
|
+
cairo: set_line_width([5.0])
|
60
|
+
cairo: stroke_preserve([])
|
61
|
+
cairo: set_source_color([:burgundy])
|
62
|
+
cairo: fill([])
|
63
|
+
cairo: restore([])
|
64
|
+
cairo: save([])
|
65
|
+
cairo: translate([300, 1000])
|
66
|
+
cairo: rotate([0])
|
67
|
+
cairo: translate([-300, -1000])
|
68
|
+
cairo: move_to([325, 1000])
|
69
|
+
cairo: line_to([325.0, 1000.0])
|
70
|
+
cairo: line_to([308.09016994374946, 1005.8778525229247])
|
71
|
+
cairo: line_to([307.7254248593737, 1023.7764129073788])
|
72
|
+
cairo: line_to([296.90983005625054, 1009.5105651629515])
|
73
|
+
cairo: line_to([279.7745751406263, 1014.6946313073119])
|
74
|
+
cairo: line_to([290.0, 1000.0])
|
75
|
+
cairo: line_to([279.7745751406263, 985.3053686926881])
|
76
|
+
cairo: line_to([296.90983005625054, 990.4894348370485])
|
77
|
+
cairo: line_to([307.7254248593737, 976.2235870926212])
|
78
|
+
cairo: line_to([308.09016994374946, 994.1221474770753])
|
79
|
+
cairo: line_to([325.0, 1000.0])
|
80
|
+
cairo: close_path([])
|
81
|
+
cairo: set_source_color([:cyan])
|
82
|
+
cairo: set_line_width([3])
|
83
|
+
cairo: fill_preserve([])
|
84
|
+
cairo: set_source_color([:burgundy])
|
85
|
+
cairo: stroke([])
|
86
|
+
cairo: restore([])
|
87
|
+
cairo: save([])
|
88
|
+
cairo: translate([500, 1000])
|
89
|
+
cairo: rotate([1.5707963267948966])
|
90
|
+
cairo: translate([-500, -1000])
|
91
|
+
cairo: move_to([525, 1000])
|
92
|
+
cairo: line_to([525.0, 1000.0])
|
93
|
+
cairo: line_to([507.7254248593737, 1023.7764129073788])
|
94
|
+
cairo: line_to([479.7745751406263, 1014.6946313073119])
|
95
|
+
cairo: line_to([479.7745751406263, 985.3053686926881])
|
96
|
+
cairo: line_to([507.7254248593737, 976.2235870926212])
|
97
|
+
cairo: line_to([525.0, 1000.0])
|
98
|
+
cairo: close_path([])
|
99
|
+
cairo: set_source_color([:cyan])
|
100
|
+
cairo: set_line_width([2])
|
101
|
+
cairo: fill_preserve([])
|
102
|
+
cairo: set_source_color([:burgundy])
|
103
|
+
cairo: stroke([])
|
104
|
+
cairo: restore([])
|
48
105
|
surface: write_to_png(["_output/shape_00.png"])
|
@@ -0,0 +1,514 @@
|
|
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"])
|