squib 0.14.2 → 0.14.3.pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +41 -41
- data/.travis.yml +19 -19
- data/CHANGELOG.md +366 -357
- data/CONTRIBUTING.md +40 -40
- data/Gemfile +2 -2
- data/LICENSE.txt +22 -22
- data/README.md +121 -121
- data/RELEASE TODO.md +21 -21
- data/Rakefile +48 -48
- data/appveyor.yml +24 -24
- data/bin/squib +4 -4
- data/lib/squib.rb +32 -32
- data/lib/squib/api/background.rb +15 -15
- data/lib/squib/api/data.rb +137 -137
- data/lib/squib/api/groups.rb +54 -54
- data/lib/squib/api/image.rb +49 -49
- data/lib/squib/api/save.rb +83 -83
- data/lib/squib/api/settings.rb +21 -21
- data/lib/squib/api/shapes.rb +124 -124
- data/lib/squib/api/text.rb +25 -25
- data/lib/squib/api/text_embed.rb +71 -71
- data/lib/squib/api/units.rb +27 -27
- data/lib/squib/args/arg_loader.rb +126 -126
- data/lib/squib/args/box.rb +55 -55
- data/lib/squib/args/card_range.rb +32 -32
- data/lib/squib/args/color_validator.rb +12 -12
- data/lib/squib/args/coords.rb +35 -35
- data/lib/squib/args/csv_opts.rb +25 -25
- data/lib/squib/args/dir_validator.rb +16 -16
- data/lib/squib/args/draw.rb +92 -92
- data/lib/squib/args/embed_adjust.rb +25 -25
- data/lib/squib/args/embed_key.rb +17 -17
- data/lib/squib/args/hand_special.rb +37 -37
- data/lib/squib/args/import.rb +40 -40
- data/lib/squib/args/input_file.rb +37 -37
- data/lib/squib/args/paint.rb +44 -44
- data/lib/squib/args/paragraph.rb +116 -116
- data/lib/squib/args/save_batch.rb +63 -63
- data/lib/squib/args/scale_box.rb +53 -53
- data/lib/squib/args/sheet.rb +172 -172
- data/lib/squib/args/showcase_special.rb +38 -38
- data/lib/squib/args/sprue_file.rb +44 -44
- data/lib/squib/args/svg_special.rb +37 -37
- data/lib/squib/args/transform.rb +61 -61
- data/lib/squib/args/typographer.rb +119 -119
- data/lib/squib/args/unit_conversion.rb +29 -29
- data/lib/squib/builtin/layouts/economy.yml +85 -85
- data/lib/squib/builtin/layouts/fantasy.yml +101 -101
- data/lib/squib/builtin/layouts/hand.yml +62 -62
- data/lib/squib/builtin/layouts/party.yml +94 -94
- data/lib/squib/builtin/layouts/playing-card.yml +35 -35
- data/lib/squib/builtin/layouts/tuck_box.yml +46 -46
- data/lib/squib/builtin/projects/advanced/.gitignore +4 -4
- data/lib/squib/builtin/projects/advanced/ABOUT.md +19 -19
- data/lib/squib/builtin/projects/advanced/Gemfile +11 -11
- data/lib/squib/builtin/projects/advanced/Guardfile +21 -21
- data/lib/squib/builtin/projects/advanced/IDEAS.md +22 -22
- data/lib/squib/builtin/projects/advanced/PLAYTESTING.md +26 -26
- data/lib/squib/builtin/projects/advanced/Rakefile +27 -27
- data/lib/squib/builtin/projects/advanced/config.yml +53 -49
- data/lib/squib/builtin/projects/advanced/docs/PNP NOTES.md +3 -3
- data/lib/squib/builtin/projects/advanced/docs/RULES.md +21 -21
- data/lib/squib/builtin/projects/advanced/img/example.svg +60 -60
- data/lib/squib/builtin/projects/advanced/layouts/deck.yml +27 -27
- data/lib/squib/builtin/projects/advanced/src/deck.rb +34 -34
- data/lib/squib/builtin/projects/advanced/src/version.rb +3 -3
- data/lib/squib/builtin/projects/basic/.gitignore +4 -4
- data/lib/squib/builtin/projects/basic/ABOUT.md +19 -19
- data/lib/squib/builtin/projects/basic/Gemfile +3 -3
- data/lib/squib/builtin/projects/basic/IDEAS.md +22 -22
- data/lib/squib/builtin/projects/basic/PLAYTESTING.md +26 -26
- data/lib/squib/builtin/projects/basic/PNP NOTES.md +3 -3
- data/lib/squib/builtin/projects/basic/RULES.md +21 -21
- data/lib/squib/builtin/projects/basic/Rakefile +7 -7
- data/lib/squib/builtin/projects/basic/config.yml +53 -49
- data/lib/squib/builtin/projects/basic/deck.rb +6 -6
- data/lib/squib/builtin/sprues/a4_euro_card.yml +42 -42
- data/lib/squib/builtin/sprues/a4_poker_card_8up.yml +40 -40
- data/lib/squib/builtin/sprues/a4_poker_card_9up.yml +42 -42
- data/lib/squib/builtin/sprues/a4_usa_card.yml +42 -42
- data/lib/squib/builtin/sprues/drivethrucards_1up.yml +10 -10
- data/lib/squib/builtin/sprues/letter_poker_card_9up.yml +25 -25
- data/lib/squib/builtin/sprues/letter_poker_foldable_8up.yml +52 -52
- data/lib/squib/builtin/sprues/printplaygames_18up.yml +68 -68
- data/lib/squib/card.rb +75 -75
- data/lib/squib/commands/cli.rb +39 -39
- data/lib/squib/commands/data/template_option.rb +109 -109
- data/lib/squib/commands/make_sprue.rb +275 -275
- data/lib/squib/commands/new.rb +77 -77
- data/lib/squib/conf.rb +144 -139
- data/lib/squib/constants.rb +17 -17
- data/lib/squib/deck.rb +116 -116
- data/lib/squib/graphics/background.rb +14 -14
- data/lib/squib/graphics/cairo_context_wrapper.rb +113 -113
- data/lib/squib/graphics/embedding_utils.rb +28 -28
- data/lib/squib/graphics/gradient_regex.rb +47 -47
- data/lib/squib/graphics/hand.rb +42 -42
- data/lib/squib/graphics/image.rb +129 -108
- data/lib/squib/graphics/save_doc.rb +61 -61
- data/lib/squib/graphics/save_images.rb +52 -52
- data/lib/squib/graphics/save_pdf.rb +90 -90
- data/lib/squib/graphics/save_sprue.rb +204 -204
- data/lib/squib/graphics/shapes.rb +143 -143
- data/lib/squib/graphics/showcase.rb +85 -85
- data/lib/squib/graphics/text.rb +174 -174
- data/lib/squib/import/data_frame.rb +108 -108
- data/lib/squib/layout_parser.rb +138 -138
- data/lib/squib/progress.rb +38 -38
- data/lib/squib/sample_helpers.rb +34 -34
- data/lib/squib/sprues/crop_line.rb +28 -28
- data/lib/squib/sprues/crop_line_dash.rb +35 -35
- data/lib/squib/sprues/invalid_sprue_definition.rb +9 -9
- data/lib/squib/sprues/sprue.rb +203 -203
- data/lib/squib/sprues/sprue_schema.rb +48 -48
- data/lib/squib/version.rb +10 -10
- data/samples/autoscale_font/_autoscale_font.rb +29 -29
- data/samples/backend/_backend.rb +26 -26
- data/samples/basic.rb +19 -19
- data/samples/bug256/_bug256.rb +13 -0
- data/samples/build_groups/build_groups.rb +36 -36
- data/samples/colors/_colors.rb +38 -38
- data/samples/colors/_gradients.rb +34 -34
- data/samples/config/config_text_markup.rb +20 -20
- data/samples/config/custom_config.rb +18 -18
- data/samples/data/_csv.rb +33 -33
- data/samples/data/_excel.rb +55 -55
- data/samples/data/_yaml.rb +12 -12
- data/samples/hello_world.rb +6 -6
- data/samples/images/_cairo_access.rb +39 -39
- data/samples/images/_images.rb +104 -104
- data/samples/images/_more_load_images.rb +102 -102
- data/samples/intro/01_hello.rb +8 -8
- data/samples/intro/02_options.rb +14 -14
- data/samples/intro/03_layout.rb +11 -11
- data/samples/intro/04_arrays.rb +15 -15
- data/samples/intro/05_excel.rb +14 -14
- data/samples/layouts/builtin_layouts.rb +97 -97
- data/samples/layouts/layouts.rb +71 -71
- data/samples/project/src/characters.rb +8 -8
- data/samples/project/src/skills.rb +7 -7
- data/samples/proofs/_tgc_proofs.rb +16 -16
- data/samples/ranges/_ranges.rb +64 -64
- data/samples/saves/_hand.rb +23 -23
- data/samples/saves/_portrait_landscape.rb +23 -23
- data/samples/saves/_save_pdf.rb +29 -29
- data/samples/saves/_saves.rb +51 -51
- data/samples/saves/_showcase.rb +25 -25
- data/samples/shapes/_draw_shapes.rb +60 -60
- data/samples/shapes/_proofs.rb +22 -22
- data/samples/sprues/_advanced_sprues.rb +24 -24
- data/samples/sprues/_builtin_sprues.rb +21 -21
- data/samples/sprues/_fold_sheet.rb +27 -27
- data/samples/sprues/_hex_tiles.rb +15 -15
- data/samples/sprues/_mints.rb +11 -11
- data/samples/sprues/_sprue_example.rb +11 -11
- data/samples/text/_embed_text.rb +128 -128
- data/samples/text/_text.rb +47 -47
- data/samples/text/_text_options.rb +102 -102
- data/samples/text/bug134.rb +14 -14
- data/samples/units/_units.rb +32 -32
- data/squib.gemspec +52 -52
- metadata +51 -48
data/samples/saves/_saves.rb
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
# This sample demonstrates how to use the various save methods
|
|
4
|
-
|
|
5
|
-
Squib::Deck.new(width: 825, height: 1125, cards: 16) do
|
|
6
|
-
background color: :gray
|
|
7
|
-
rect x: 38, y: 38, width: 750, height: 1050,
|
|
8
|
-
x_radius: 38, y_radius: 38, stroke: 3.0, dash: '4 4'
|
|
9
|
-
|
|
10
|
-
text str: (1..16).to_a, x: 220, y: 78, font: 'Arial 18'
|
|
11
|
-
|
|
12
|
-
# Here's what a regular save_png looks like for just the first card
|
|
13
|
-
save_png range: 0, prefix: 'save_png_'
|
|
14
|
-
|
|
15
|
-
# save_png supports trim and trim_radius
|
|
16
|
-
save_png trim: 30, trim_radius: 38,
|
|
17
|
-
range: 0, prefix: 'save_png_trimmed_'
|
|
18
|
-
|
|
19
|
-
# Place on multiple pages over the PDF, with bleed beeing trimmed off
|
|
20
|
-
save_pdf file: 'save-pdf.pdf', margin: 75, gap: 5, trim: 37
|
|
21
|
-
|
|
22
|
-
# PDFs also support arbitrary paper sizes, in pixels or any other supported units
|
|
23
|
-
save_pdf file: 'save-pdf-small.pdf',
|
|
24
|
-
width: '7in', height: '5in',
|
|
25
|
-
range: 0..1
|
|
26
|
-
|
|
27
|
-
# Note that our PNGs still are not trimmed even though the pdf ones were
|
|
28
|
-
save_png range: 1, prefix: 'saves_notrim_'
|
|
29
|
-
|
|
30
|
-
# We can also save our PNGs into a single sheet,
|
|
31
|
-
# rows are calculated based on cols and number of cards
|
|
32
|
-
save_sheet prefix: 'save_single_sheet_',
|
|
33
|
-
columns: 2, margin: 75, gap: 5, trim: 37
|
|
34
|
-
|
|
35
|
-
# Or multiple sheets if rows are also specified
|
|
36
|
-
save_sheet prefix: 'save_sheet_',
|
|
37
|
-
columns: 4, rows: 2,
|
|
38
|
-
margin: 75, gap: 5, trim: 37
|
|
39
|
-
|
|
40
|
-
# Sheets support ranges too
|
|
41
|
-
save_sheet prefix: 'save_sheet_range_',
|
|
42
|
-
range: 0..5,
|
|
43
|
-
columns: 2, rows: 2,
|
|
44
|
-
margin: 75, gap: 5, trim: 37
|
|
45
|
-
|
|
46
|
-
# Sheets can arrange left-to-right and right-to-left
|
|
47
|
-
save_sheet prefix: 'save_sheet_rtl_',
|
|
48
|
-
range: 0..1, rtl: true,
|
|
49
|
-
columns: 2, rows: 1,
|
|
50
|
-
margin: 75, gap: 5, trim: 37
|
|
51
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
# This sample demonstrates how to use the various save methods
|
|
4
|
+
|
|
5
|
+
Squib::Deck.new(width: 825, height: 1125, cards: 16) do
|
|
6
|
+
background color: :gray
|
|
7
|
+
rect x: 38, y: 38, width: 750, height: 1050,
|
|
8
|
+
x_radius: 38, y_radius: 38, stroke: 3.0, dash: '4 4'
|
|
9
|
+
|
|
10
|
+
text str: (1..16).to_a, x: 220, y: 78, font: 'Arial 18'
|
|
11
|
+
|
|
12
|
+
# Here's what a regular save_png looks like for just the first card
|
|
13
|
+
save_png range: 0, prefix: 'save_png_'
|
|
14
|
+
|
|
15
|
+
# save_png supports trim and trim_radius
|
|
16
|
+
save_png trim: 30, trim_radius: 38,
|
|
17
|
+
range: 0, prefix: 'save_png_trimmed_'
|
|
18
|
+
|
|
19
|
+
# Place on multiple pages over the PDF, with bleed beeing trimmed off
|
|
20
|
+
save_pdf file: 'save-pdf.pdf', margin: 75, gap: 5, trim: 37
|
|
21
|
+
|
|
22
|
+
# PDFs also support arbitrary paper sizes, in pixels or any other supported units
|
|
23
|
+
save_pdf file: 'save-pdf-small.pdf',
|
|
24
|
+
width: '7in', height: '5in',
|
|
25
|
+
range: 0..1
|
|
26
|
+
|
|
27
|
+
# Note that our PNGs still are not trimmed even though the pdf ones were
|
|
28
|
+
save_png range: 1, prefix: 'saves_notrim_'
|
|
29
|
+
|
|
30
|
+
# We can also save our PNGs into a single sheet,
|
|
31
|
+
# rows are calculated based on cols and number of cards
|
|
32
|
+
save_sheet prefix: 'save_single_sheet_',
|
|
33
|
+
columns: 2, margin: 75, gap: 5, trim: 37
|
|
34
|
+
|
|
35
|
+
# Or multiple sheets if rows are also specified
|
|
36
|
+
save_sheet prefix: 'save_sheet_',
|
|
37
|
+
columns: 4, rows: 2,
|
|
38
|
+
margin: 75, gap: 5, trim: 37
|
|
39
|
+
|
|
40
|
+
# Sheets support ranges too
|
|
41
|
+
save_sheet prefix: 'save_sheet_range_',
|
|
42
|
+
range: 0..5,
|
|
43
|
+
columns: 2, rows: 2,
|
|
44
|
+
margin: 75, gap: 5, trim: 37
|
|
45
|
+
|
|
46
|
+
# Sheets can arrange left-to-right and right-to-left
|
|
47
|
+
save_sheet prefix: 'save_sheet_rtl_',
|
|
48
|
+
range: 0..1, rtl: true,
|
|
49
|
+
columns: 2, rows: 1,
|
|
50
|
+
margin: 75, gap: 5, trim: 37
|
|
51
|
+
end
|
data/samples/saves/_showcase.rb
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
# Showcases are a neat way to show off your cards in a modern way, using a
|
|
4
|
-
# reflection and a persepctive effect to make them look 3D
|
|
5
|
-
Squib::Deck.new(cards: 4) do
|
|
6
|
-
background color: '#CE534D'
|
|
7
|
-
rect fill_color: '#DED4B9', x: 78, y: 78,
|
|
8
|
-
width: '2.25in', height: '3.25in', radius: 32
|
|
9
|
-
text str: %w(Grifter Thief Thug Kingpin),
|
|
10
|
-
font: 'Helvetica,Sans weight=800 40',
|
|
11
|
-
x: 78, y: 78, width: '2.25in', align: :center
|
|
12
|
-
svg file: 'spanner.svg', x: (825 - 500) / 2, y: 500, width: 500, height: 500
|
|
13
|
-
|
|
14
|
-
# Defaults are pretty sensible.
|
|
15
|
-
showcase file: 'showcase.png'
|
|
16
|
-
|
|
17
|
-
# Here's a more complete example.
|
|
18
|
-
# Tons of ways to tweak it if you like - check the docs.
|
|
19
|
-
showcase trim: 32, trim_radius: 32, margin: 100, face: :right,
|
|
20
|
-
scale: 0.85, offset: 0.95, fill_color: :black,
|
|
21
|
-
reflect_offset: 25, reflect_strength: 0.1, reflect_percent: 0.4,
|
|
22
|
-
file: 'showcase2.png'
|
|
23
|
-
|
|
24
|
-
save_png prefix: 'showcase_individual_' # to show that they're not trimmed
|
|
25
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
# Showcases are a neat way to show off your cards in a modern way, using a
|
|
4
|
+
# reflection and a persepctive effect to make them look 3D
|
|
5
|
+
Squib::Deck.new(cards: 4) do
|
|
6
|
+
background color: '#CE534D'
|
|
7
|
+
rect fill_color: '#DED4B9', x: 78, y: 78,
|
|
8
|
+
width: '2.25in', height: '3.25in', radius: 32
|
|
9
|
+
text str: %w(Grifter Thief Thug Kingpin),
|
|
10
|
+
font: 'Helvetica,Sans weight=800 40',
|
|
11
|
+
x: 78, y: 78, width: '2.25in', align: :center
|
|
12
|
+
svg file: 'spanner.svg', x: (825 - 500) / 2, y: 500, width: 500, height: 500
|
|
13
|
+
|
|
14
|
+
# Defaults are pretty sensible.
|
|
15
|
+
showcase file: 'showcase.png'
|
|
16
|
+
|
|
17
|
+
# Here's a more complete example.
|
|
18
|
+
# Tons of ways to tweak it if you like - check the docs.
|
|
19
|
+
showcase trim: 32, trim_radius: 32, margin: 100, face: :right,
|
|
20
|
+
scale: 0.85, offset: 0.95, fill_color: :black,
|
|
21
|
+
reflect_offset: 25, reflect_strength: 0.1, reflect_percent: 0.4,
|
|
22
|
+
file: 'showcase2.png'
|
|
23
|
+
|
|
24
|
+
save_png prefix: 'showcase_individual_' # to show that they're not trimmed
|
|
25
|
+
end
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
Squib::Deck.new do
|
|
4
|
-
background color: :white
|
|
5
|
-
|
|
6
|
-
grid x: 10, y: 10, width: 50, height: 50, stroke_color: '#0066FF', stroke_width: 1.5, angle: 0.1
|
|
7
|
-
grid x: 10, y: 10, width: 200, height: 200, stroke_color: '#0066FF', stroke_width: 3, angle: 0.1
|
|
8
|
-
|
|
9
|
-
rect x: 305, y: 105, width: 200, height: 50, dash: '4 2'
|
|
10
|
-
|
|
11
|
-
rect x: 300, y: 300, width: 400, height: 400,
|
|
12
|
-
fill_color: :blue, stroke_color: :red, stroke_width: 50.0,
|
|
13
|
-
join: 'bevel'
|
|
14
|
-
|
|
15
|
-
rect x: 550, y: 105, width: 100, height: 100,
|
|
16
|
-
stroke_width: 5, stroke_color: :orange, angle: -0.2
|
|
17
|
-
|
|
18
|
-
ellipse x: 675, y: 105, width: 65, height: 100,
|
|
19
|
-
stroke_width: 5, stroke_color: :orange, angle: -0.2
|
|
20
|
-
|
|
21
|
-
text str: 'Shapes!' # regression test for bug 248
|
|
22
|
-
|
|
23
|
-
circle x: 450, y: 600, radius: 75,
|
|
24
|
-
fill_color: :gray, stroke_color: :green, stroke_width: 8.0
|
|
25
|
-
|
|
26
|
-
circle x: 600, y: 600, radius: 75, # partial circle
|
|
27
|
-
arc_start: 1, arc_end: 4, arc_direction: :counter_clockwise,
|
|
28
|
-
fill_color: :gray, stroke_color: :green, stroke_width: 8.0
|
|
29
|
-
|
|
30
|
-
triangle x1: 50, y1: 50,
|
|
31
|
-
x2: 150, y2: 150,
|
|
32
|
-
x3: 75, y3: 250,
|
|
33
|
-
fill_color: :gray, stroke_color: :green, stroke_width: 3.0
|
|
34
|
-
|
|
35
|
-
line x1: 50, y1: 550,
|
|
36
|
-
x2: 150, y2: 650,
|
|
37
|
-
stroke_width: 25.0
|
|
38
|
-
|
|
39
|
-
curve x1: 50, y1: 850, cx1: 150, cy1: 700,
|
|
40
|
-
x2: 625, y2: 900, cx2: 150, cy2: 700,
|
|
41
|
-
stroke_width: 12.0, stroke_color: :cyan,
|
|
42
|
-
fill_color: :burgundy, cap: 'round'
|
|
43
|
-
|
|
44
|
-
ellipse x: 50, y: 925, width: 200, height: 100,
|
|
45
|
-
stroke_width: 5.0, stroke_color: :cyan,
|
|
46
|
-
fill_color: :burgundy
|
|
47
|
-
|
|
48
|
-
star x: 300, y: 1000, n: 5, inner_radius: 15, outer_radius: 40,
|
|
49
|
-
fill_color: :cyan, stroke_color: :burgundy, stroke_width: 5
|
|
50
|
-
|
|
51
|
-
# default draw is fill-then-stroke. Can be changed to stroke-then-fill
|
|
52
|
-
star x: 375, y: 1000, n: 5, inner_radius: 15, outer_radius: 40,
|
|
53
|
-
fill_color: :cyan, stroke_color: :burgundy,
|
|
54
|
-
stroke_width: 5, stroke_strategy: :stroke_first
|
|
55
|
-
|
|
56
|
-
polygon x: 500, y: 1000, n: 5, radius: 25, angle: Math::PI / 2,
|
|
57
|
-
fill_color: :cyan, stroke_color: :burgundy, stroke_width: 2
|
|
58
|
-
|
|
59
|
-
save_png prefix: 'shape_'
|
|
60
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
Squib::Deck.new do
|
|
4
|
+
background color: :white
|
|
5
|
+
|
|
6
|
+
grid x: 10, y: 10, width: 50, height: 50, stroke_color: '#0066FF', stroke_width: 1.5, angle: 0.1
|
|
7
|
+
grid x: 10, y: 10, width: 200, height: 200, stroke_color: '#0066FF', stroke_width: 3, angle: 0.1
|
|
8
|
+
|
|
9
|
+
rect x: 305, y: 105, width: 200, height: 50, dash: '4 2'
|
|
10
|
+
|
|
11
|
+
rect x: 300, y: 300, width: 400, height: 400,
|
|
12
|
+
fill_color: :blue, stroke_color: :red, stroke_width: 50.0,
|
|
13
|
+
join: 'bevel'
|
|
14
|
+
|
|
15
|
+
rect x: 550, y: 105, width: 100, height: 100,
|
|
16
|
+
stroke_width: 5, stroke_color: :orange, angle: -0.2
|
|
17
|
+
|
|
18
|
+
ellipse x: 675, y: 105, width: 65, height: 100,
|
|
19
|
+
stroke_width: 5, stroke_color: :orange, angle: -0.2
|
|
20
|
+
|
|
21
|
+
text str: 'Shapes!' # regression test for bug 248
|
|
22
|
+
|
|
23
|
+
circle x: 450, y: 600, radius: 75,
|
|
24
|
+
fill_color: :gray, stroke_color: :green, stroke_width: 8.0
|
|
25
|
+
|
|
26
|
+
circle x: 600, y: 600, radius: 75, # partial circle
|
|
27
|
+
arc_start: 1, arc_end: 4, arc_direction: :counter_clockwise,
|
|
28
|
+
fill_color: :gray, stroke_color: :green, stroke_width: 8.0
|
|
29
|
+
|
|
30
|
+
triangle x1: 50, y1: 50,
|
|
31
|
+
x2: 150, y2: 150,
|
|
32
|
+
x3: 75, y3: 250,
|
|
33
|
+
fill_color: :gray, stroke_color: :green, stroke_width: 3.0
|
|
34
|
+
|
|
35
|
+
line x1: 50, y1: 550,
|
|
36
|
+
x2: 150, y2: 650,
|
|
37
|
+
stroke_width: 25.0
|
|
38
|
+
|
|
39
|
+
curve x1: 50, y1: 850, cx1: 150, cy1: 700,
|
|
40
|
+
x2: 625, y2: 900, cx2: 150, cy2: 700,
|
|
41
|
+
stroke_width: 12.0, stroke_color: :cyan,
|
|
42
|
+
fill_color: :burgundy, cap: 'round'
|
|
43
|
+
|
|
44
|
+
ellipse x: 50, y: 925, width: 200, height: 100,
|
|
45
|
+
stroke_width: 5.0, stroke_color: :cyan,
|
|
46
|
+
fill_color: :burgundy
|
|
47
|
+
|
|
48
|
+
star x: 300, y: 1000, n: 5, inner_radius: 15, outer_radius: 40,
|
|
49
|
+
fill_color: :cyan, stroke_color: :burgundy, stroke_width: 5
|
|
50
|
+
|
|
51
|
+
# default draw is fill-then-stroke. Can be changed to stroke-then-fill
|
|
52
|
+
star x: 375, y: 1000, n: 5, inner_radius: 15, outer_radius: 40,
|
|
53
|
+
fill_color: :cyan, stroke_color: :burgundy,
|
|
54
|
+
stroke_width: 5, stroke_strategy: :stroke_first
|
|
55
|
+
|
|
56
|
+
polygon x: 500, y: 1000, n: 5, radius: 25, angle: Math::PI / 2,
|
|
57
|
+
fill_color: :cyan, stroke_color: :burgundy, stroke_width: 2
|
|
58
|
+
|
|
59
|
+
save_png prefix: 'shape_'
|
|
60
|
+
end
|
data/samples/shapes/_proofs.rb
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
Squib::Deck.new do
|
|
4
|
-
background color: :white
|
|
5
|
-
safe_zone # defaults TheGameCrafter 0.25in around the edge, rounded corners
|
|
6
|
-
cut_zone # defaults TheGameCrafter 0.125in around the edge
|
|
7
|
-
|
|
8
|
-
text str: 'Poker card with proof lines', x: '0.25in', y: '0.25in'
|
|
9
|
-
save_png prefix: 'proof_poker_'
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Squib::Deck.new(width:'2in', height: '1in')do
|
|
14
|
-
background color: :white
|
|
15
|
-
safe_zone stroke_color: :purple, margin: '0.1in'
|
|
16
|
-
cut_zone stroke_color: :purple, margin: '0.05in'
|
|
17
|
-
|
|
18
|
-
text str: 'Small card with proof lines', x: '0.1in', y: '0.1in',
|
|
19
|
-
font: 'Arial 10'
|
|
20
|
-
|
|
21
|
-
save_png prefix: 'proof_tiny_'
|
|
22
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
Squib::Deck.new do
|
|
4
|
+
background color: :white
|
|
5
|
+
safe_zone # defaults TheGameCrafter 0.25in around the edge, rounded corners
|
|
6
|
+
cut_zone # defaults TheGameCrafter 0.125in around the edge
|
|
7
|
+
|
|
8
|
+
text str: 'Poker card with proof lines', x: '0.25in', y: '0.25in'
|
|
9
|
+
save_png prefix: 'proof_poker_'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
Squib::Deck.new(width:'2in', height: '1in')do
|
|
14
|
+
background color: :white
|
|
15
|
+
safe_zone stroke_color: :purple, margin: '0.1in'
|
|
16
|
+
cut_zone stroke_color: :purple, margin: '0.05in'
|
|
17
|
+
|
|
18
|
+
text str: 'Small card with proof lines', x: '0.1in', y: '0.1in',
|
|
19
|
+
font: 'Arial 10'
|
|
20
|
+
|
|
21
|
+
save_png prefix: 'proof_tiny_'
|
|
22
|
+
end
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
# This is a more advanced example of Sprues
|
|
4
|
-
# (mostly so we can have a torturous regression test)
|
|
5
|
-
# - Uses a custom sprue
|
|
6
|
-
# - Weird rotations
|
|
7
|
-
# - Center-positioned
|
|
8
|
-
# - Multiple pages
|
|
9
|
-
Squib::Deck.new(cards: 6, width: '2.2in', height: '2.1in') do
|
|
10
|
-
background color: :blue #blue never shows up! Yay clipping...
|
|
11
|
-
rect stroke_width: 5, stroke_color: :red, fill_color: :salmon
|
|
12
|
-
cut_zone margin: '0.125in',
|
|
13
|
-
stroke_width: 2, stroke_color: :purple
|
|
14
|
-
|
|
15
|
-
circle x: width/2, y: height/2, radius: 20 # midpoint
|
|
16
|
-
|
|
17
|
-
text str: (0..9).map{ |i| "Card #{i}\n\n" },
|
|
18
|
-
font: 'Sans 32', align: :center, valign: :middle,
|
|
19
|
-
height: :deck, width: :deck
|
|
20
|
-
|
|
21
|
-
save_sheet sprue: 'my_sprues/weird_sprue.yml',
|
|
22
|
-
trim: '0.2in', trim_radius: '10pt',
|
|
23
|
-
prefix: "advanced_sprues_"
|
|
24
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
# This is a more advanced example of Sprues
|
|
4
|
+
# (mostly so we can have a torturous regression test)
|
|
5
|
+
# - Uses a custom sprue
|
|
6
|
+
# - Weird rotations
|
|
7
|
+
# - Center-positioned
|
|
8
|
+
# - Multiple pages
|
|
9
|
+
Squib::Deck.new(cards: 6, width: '2.2in', height: '2.1in') do
|
|
10
|
+
background color: :blue #blue never shows up! Yay clipping...
|
|
11
|
+
rect stroke_width: 5, stroke_color: :red, fill_color: :salmon
|
|
12
|
+
cut_zone margin: '0.125in',
|
|
13
|
+
stroke_width: 2, stroke_color: :purple
|
|
14
|
+
|
|
15
|
+
circle x: width/2, y: height/2, radius: 20 # midpoint
|
|
16
|
+
|
|
17
|
+
text str: (0..9).map{ |i| "Card #{i}\n\n" },
|
|
18
|
+
font: 'Sans 32', align: :center, valign: :middle,
|
|
19
|
+
height: :deck, width: :deck
|
|
20
|
+
|
|
21
|
+
save_sheet sprue: 'my_sprues/weird_sprue.yml',
|
|
22
|
+
trim: '0.2in', trim_radius: '10pt',
|
|
23
|
+
prefix: "advanced_sprues_"
|
|
24
|
+
end
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
Squib::Deck.new(width: '50mm', height: '70mm', cards: 9) do
|
|
4
|
-
background color: :white
|
|
5
|
-
rect stroke_width: 5, stroke_color: :red
|
|
6
|
-
text str: (0..9).map{ |i| "Card! #{i}\n50x77mm" },
|
|
7
|
-
font: 'Sans 32', align: :center, valign: :middle,
|
|
8
|
-
height: :deck, width: :deck
|
|
9
|
-
|
|
10
|
-
%w(
|
|
11
|
-
a4_poker_card_8up.yml
|
|
12
|
-
a4_euro_card.yml
|
|
13
|
-
a4_poker_card_9up.yml
|
|
14
|
-
a4_usa_card.yml
|
|
15
|
-
letter_poker_card_9up.yml
|
|
16
|
-
printplaygames_18up.yml
|
|
17
|
-
drivethrucards_1up.yml
|
|
18
|
-
).each do |builtin|
|
|
19
|
-
save_sheet sprue: builtin, prefix: "sprue_#{builtin}_"
|
|
20
|
-
end
|
|
21
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
Squib::Deck.new(width: '50mm', height: '70mm', cards: 9) do
|
|
4
|
+
background color: :white
|
|
5
|
+
rect stroke_width: 5, stroke_color: :red
|
|
6
|
+
text str: (0..9).map{ |i| "Card! #{i}\n50x77mm" },
|
|
7
|
+
font: 'Sans 32', align: :center, valign: :middle,
|
|
8
|
+
height: :deck, width: :deck
|
|
9
|
+
|
|
10
|
+
%w(
|
|
11
|
+
a4_poker_card_8up.yml
|
|
12
|
+
a4_euro_card.yml
|
|
13
|
+
a4_poker_card_9up.yml
|
|
14
|
+
a4_usa_card.yml
|
|
15
|
+
letter_poker_card_9up.yml
|
|
16
|
+
printplaygames_18up.yml
|
|
17
|
+
drivethrucards_1up.yml
|
|
18
|
+
).each do |builtin|
|
|
19
|
+
save_sheet sprue: builtin, prefix: "sprue_#{builtin}_"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
# Note that this sample has no bleed - you might want to have bleed
|
|
4
|
-
# but tighter than usual: 0.1 instead of 0.125in since this sprue is
|
|
5
|
-
# crowded horizontally on US letter
|
|
6
|
-
Squib::Deck.new(width: '2.5in', height: '3.5in', cards: 8) do
|
|
7
|
-
background color: :white
|
|
8
|
-
rect stroke_width: 5, stroke_color: :red
|
|
9
|
-
# Note that we are interleaving strings
|
|
10
|
-
# This could be used as a secondary Squib script that loads
|
|
11
|
-
# Squib-generated individual images
|
|
12
|
-
strings = [
|
|
13
|
-
"Front 1",
|
|
14
|
-
"Back 1",
|
|
15
|
-
"Front 2",
|
|
16
|
-
"Back 2",
|
|
17
|
-
"Front 3",
|
|
18
|
-
"Back 3",
|
|
19
|
-
"Front 4",
|
|
20
|
-
"Back 4",
|
|
21
|
-
]
|
|
22
|
-
|
|
23
|
-
text str: strings,font: 'Sans 32', align: :center, valign: :middle,
|
|
24
|
-
height: :deck, width: :deck
|
|
25
|
-
save_sheet prefix: 'foldable_',
|
|
26
|
-
sprue: 'letter_poker_foldable_8up.yml'
|
|
27
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
# Note that this sample has no bleed - you might want to have bleed
|
|
4
|
+
# but tighter than usual: 0.1 instead of 0.125in since this sprue is
|
|
5
|
+
# crowded horizontally on US letter
|
|
6
|
+
Squib::Deck.new(width: '2.5in', height: '3.5in', cards: 8) do
|
|
7
|
+
background color: :white
|
|
8
|
+
rect stroke_width: 5, stroke_color: :red
|
|
9
|
+
# Note that we are interleaving strings
|
|
10
|
+
# This could be used as a secondary Squib script that loads
|
|
11
|
+
# Squib-generated individual images
|
|
12
|
+
strings = [
|
|
13
|
+
"Front 1",
|
|
14
|
+
"Back 1",
|
|
15
|
+
"Front 2",
|
|
16
|
+
"Back 2",
|
|
17
|
+
"Front 3",
|
|
18
|
+
"Back 3",
|
|
19
|
+
"Front 4",
|
|
20
|
+
"Back 4",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
text str: strings,font: 'Sans 32', align: :center, valign: :middle,
|
|
24
|
+
height: :deck, width: :deck
|
|
25
|
+
save_sheet prefix: 'foldable_',
|
|
26
|
+
sprue: 'letter_poker_foldable_8up.yml'
|
|
27
|
+
end
|