You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

39 lines
1.2 KiB

require 'squib'
Squib::Deck.new(cards: 2) do
background color: :white
# If you really need something custom-made, the underlying cairo context
# can be accessed directly via each Squib::Card
#
# WARNING! Input validation is not done on Squib::Cards. Proceed at your own risk.
# The recommended approach is to use Deck's Enumerable, which iterates over Squib::Cards
# I also recommend wrapping it in a Cairo save/restore, which Squib calls "use_cairo"
each do |card|
card.use_cairo do |cairo_context|
cairo_context.set_source_color(:blue)
cairo_context.circle(150, 150, 150)
cairo_context.fill
end
end
# Or the square bracket accessors []
self[1].use_cairo do |cairo_context|
cairo_context.circle(50, 50, 50)
cairo_context.set_source_color(:red)
cairo_context.fill
end
# Or modify the coordinate system for all (most?) future calls
# Could be handy for a dynamic bleed
each do |card|
# note how this does NOT use save/restore.
# again... this "feature" lives in the Land of Undefined Behavior
card.cairo_context.translate(500, 500)
end
rect x: 0, y: 0, # actually 500, 500
width: 50, height: 50, fill_color: :red
save_png prefix: 'cairo_access_'
end