Implemented sheet command
parent
c287e6137c
commit
fd217294c5
|
|
@ -1,8 +1,11 @@
|
||||||
# Squib CHANGELOG
|
# Squib CHANGELOG
|
||||||
|
|
||||||
|
## v0.1.0.txt
|
||||||
|
* Added `save_sheet` command that saves a range into PNG sheets, complete with trim, gap, margin, columns, and sometimes automagically computed rows. See samples/saves.rb.
|
||||||
* Unit conversion! Now you can write "2in" and it will convert based on the current dpi. `save_pdf` not supported (yet).
|
* Unit conversion! Now you can write "2in" and it will convert based on the current dpi. `save_pdf` not supported (yet).
|
||||||
* `png` now supports resizing, but warns you about it since it's non-ideal. Documented in yard, tested.
|
* `png` now supports resizing, but warns you about it since it's non-ideal. Documented in yard, tested.
|
||||||
* Added sample `unicode.rb` to show lots of game-related unicode characters
|
* Added sample `unicode.rb` to show lots of game-related unicode characters
|
||||||
|
* More obsessive automated testing and continuous integration work.
|
||||||
|
|
||||||
## v0.0.6
|
## v0.0.6
|
||||||
* Added a `csv` command that works just like `xslx`. Uses Ruby's CSV inside, with some extra checking and warnings.
|
* Added a `csv` command that works just like `xslx`. Uses Ruby's CSV inside, with some extra checking and warnings.
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ module Squib
|
||||||
# @return [nil] intended to be void
|
# @return [nil] intended to be void
|
||||||
# @api public
|
# @api public
|
||||||
def circle(opts = {})
|
def circle(opts = {})
|
||||||
opts = {radius: 100}.merge(opts)
|
opts = {radius: 100}.merge(opts) # overriding the non-system default
|
||||||
opts = needs(opts, [:range, :x, :y, :circle_radius, :layout,
|
opts = needs(opts, [:range, :x, :y, :circle_radius, :layout,
|
||||||
:fill_color, :stroke_color, :stroke_width])
|
:fill_color, :stroke_color, :stroke_width])
|
||||||
opts[:range].each do |i|
|
opts[:range].each do |i|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ module Squib
|
||||||
:angle => 0,
|
:angle => 0,
|
||||||
:blend => :none,
|
:blend => :none,
|
||||||
:color => :black,
|
:color => :black,
|
||||||
|
:columns => 1,
|
||||||
:default_font => 'Arial 36',
|
:default_font => 'Arial 36',
|
||||||
:dir => '_output',
|
:dir => '_output',
|
||||||
:ellipsize => :end,
|
:ellipsize => :end,
|
||||||
|
|
@ -27,6 +28,7 @@ module Squib
|
||||||
:progress_bar => false,
|
:progress_bar => false,
|
||||||
:range => :all,
|
:range => :all,
|
||||||
:rotate => false,
|
:rotate => false,
|
||||||
|
:rows => :infinite,
|
||||||
:sheet => 0,
|
:sheet => 0,
|
||||||
:spacing => 0,
|
:spacing => 0,
|
||||||
:str => '',
|
:str => '',
|
||||||
|
|
@ -62,7 +64,7 @@ module Squib
|
||||||
# These are parameters that are intended to be "expanded" across
|
# These are parameters that are intended to be "expanded" across
|
||||||
# range if they are singletons.
|
# range if they are singletons.
|
||||||
#
|
#
|
||||||
# For example, using a different font for each card, using one `text`
|
# For example: using a different font for each card, using one `text` command
|
||||||
#
|
#
|
||||||
# key: the internal name of the param (e.g. :files)
|
# key: the internal name of the param (e.g. :files)
|
||||||
# value: the user-facing API key (e.g. file: 'abc.png')
|
# value: the user-facing API key (e.g. file: 'abc.png')
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,63 @@ module Squib
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Lays out the cards in range and renders a stitched PNG sheet
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# save_png_sheet prefix: 'sheet_', margin: 75, gap: 5, trim: 37
|
||||||
|
#
|
||||||
|
# @option opts [Enumerable] range (:all) the range of cards over which this will be rendered. See {file:README.md#Specifying_Ranges Specifying Ranges}
|
||||||
|
# @option opts colulmns [Integer] (1) the number of columns in the grid
|
||||||
|
# @option opts rows [Integer] (:infinite) the number of rows in the grid. When set to :infinite, the sheet scales to the rows needed. If there are more cards than rows*columns, new sheets are started.
|
||||||
|
# @option opts [String] prefix (card_) the prefix of the file name(s)
|
||||||
|
# @option opts dir [String] (_output) the directory to save to. Created if it doesn't exist.
|
||||||
|
# @option opts margin [Integer] (0) the margin around the outside of the page
|
||||||
|
# @option opts gap [Integer] (0) the space in pixels between the cards
|
||||||
|
# @option opts trim [Integer] (0) the space around the edge of each card to trim (e.g. to cut off the bleed margin for print-and-play)
|
||||||
|
# @return [nil]
|
||||||
|
# @api public
|
||||||
|
def save_sheet(opts = {})
|
||||||
|
opts = {margin: 0}.merge(opts) # overriding the non-system default
|
||||||
|
p = needs(opts, [:range, :prefix, :creatable_dir, :margin, :gap, :trim, :rows, :columns])
|
||||||
|
# EXTRACT METHOD HERE
|
||||||
|
sheet_width = (p[:columns] * (@width + 2 * p[:gap] - 2 * p[:trim])) + (2 * p[:margin])
|
||||||
|
sheet_height = (p[:rows] * (@height + 2 * p[:gap] - 2 * p[:trim])) + (2 * p[:margin])
|
||||||
|
cc = Cairo::Context.new(Cairo::ImageSurface.new(sheet_width, sheet_height))
|
||||||
|
num_this_sheet = 0
|
||||||
|
sheet_num = 0
|
||||||
|
x, y = p[:margin], p[:margin]
|
||||||
|
@progress_bar.start("Saving PNG sheet to #{p[:dir]}/#{p[:prefix]}_*", @cards.size + 1) do |bar|
|
||||||
|
p[:range].each do |i|
|
||||||
|
if num_this_sheet >= (p[:columns] * p[:rows]) # new sheet
|
||||||
|
cc.target.write_to_png("#{p[:dir]}/#{p[:prefix]}#{sheet_num}.png")
|
||||||
|
new_sheet = false
|
||||||
|
num_this_sheet = 0
|
||||||
|
sheet_num += 1
|
||||||
|
x, y = p[:margin], p[:margin]
|
||||||
|
cc = Cairo::Context.new(Cairo::ImageSurface.new(sheet_width, sheet_height))
|
||||||
|
end
|
||||||
|
surface = trim(@cards[i].cairo_surface, p[:trim], @width, @height)
|
||||||
|
cc.set_source(surface, x, y)
|
||||||
|
cc.paint
|
||||||
|
bar.increment
|
||||||
|
num_this_sheet += 1
|
||||||
|
x += surface.width + p[:gap]
|
||||||
|
if num_this_sheet % p[:columns] == 0 # new row
|
||||||
|
x = p[:margin]
|
||||||
|
y += surface.height + p[:gap]
|
||||||
|
end
|
||||||
|
bar.increment
|
||||||
|
end
|
||||||
|
cc.target.write_to_png("#{p[:dir]}/#{p[:prefix]}#{sheet_num}.png")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Return a new Cairo::ImageSurface that is trimmed from the original
|
||||||
|
#
|
||||||
|
# @param surface The surface to trim
|
||||||
|
# @param trim The number of pixels around the edge to trim
|
||||||
|
# @width width The width of the surface prior to the trim
|
||||||
|
# @height height The height of the surface prior to the trim
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
# @api private
|
# @api private
|
||||||
def trim(surface, trim, width, height)
|
def trim(surface, trim, width, height)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
require 'squib/constants'
|
require 'squib/constants'
|
||||||
require 'squib/api/units'
|
|
||||||
|
|
||||||
module Squib
|
module Squib
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
|
|
@ -28,6 +27,7 @@ module Squib
|
||||||
opts = svgidify(opts) if params.include? :svgid
|
opts = svgidify(opts) if params.include? :svgid
|
||||||
opts = formatify(opts) if params.include? :formats
|
opts = formatify(opts) if params.include? :formats
|
||||||
opts = rotateify(opts) if params.include? :rotate
|
opts = rotateify(opts) if params.include? :rotate
|
||||||
|
opts = rowify(opts) if params.include? :rows
|
||||||
opts = convert_units(opts, params)
|
opts = convert_units(opts, params)
|
||||||
opts
|
opts
|
||||||
end
|
end
|
||||||
|
|
@ -192,7 +192,7 @@ module Squib
|
||||||
end
|
end
|
||||||
module_function :rotateify
|
module_function :rotateify
|
||||||
|
|
||||||
@@INCHES_IN_CM = 0.393700787
|
@@INCHES_IN_CM = 0.393700787
|
||||||
# Convert units
|
# Convert units
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
# @api private
|
# @api private
|
||||||
|
|
@ -214,5 +214,19 @@ module Squib
|
||||||
end
|
end
|
||||||
module_function :convert_units
|
module_function :convert_units
|
||||||
|
|
||||||
|
# Handles expanding rows. If the "rows" does not respond to to_i (e.g. :infinite),
|
||||||
|
# then compute what we need based on number of cards and number of columns.
|
||||||
|
# :nodoc:
|
||||||
|
# @api private
|
||||||
|
def rowify(opts)
|
||||||
|
unless opts[:rows].respond_to? :to_i
|
||||||
|
raise "Columns must be an integer" unless opts[:columns].respond_to? :to_i
|
||||||
|
opts[:rows] = (@cards.size / opts[:columns].to_i).ceil
|
||||||
|
end
|
||||||
|
opts
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
#!/usr/bin/env ruby
|
|
||||||
require 'squib'
|
|
||||||
|
|
||||||
Squib::Deck.new(width: 825, height: 1125, cards: 16) do
|
|
||||||
background color: :gray
|
|
||||||
rect x: 38, y: 38, width: 750, height: 1050, x_radius: 38, y_radius: 38
|
|
||||||
|
|
||||||
text str: (1..16).to_a, x: 220, y: 78, font: 'Arial 54'
|
|
||||||
|
|
||||||
save_pdf file: 'sample-save-pdf.pdf', margin: 75, gap: 5, trim: 37
|
|
||||||
|
|
||||||
#Note that our PNGs still are not trimmed even though the pdf ones are
|
|
||||||
save_png range: 1, prefix: 'save_pdf_'
|
|
||||||
end
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
require 'squib'
|
||||||
|
|
||||||
|
# This sample demonstrates how to use the various save methods
|
||||||
|
|
||||||
|
Squib::Deck.new(width: 825, height: 1125, cards: 16) do
|
||||||
|
background color: :gray
|
||||||
|
rect x: 38, y: 38, width: 750, height: 1050, x_radius: 38, y_radius: 38
|
||||||
|
|
||||||
|
text str: (1..16).to_a, x: 220, y: 78, font: 'Arial 54'
|
||||||
|
|
||||||
|
# Place on multiple pages over the PDF, with bleed beeing trimmed off
|
||||||
|
save_pdf file: 'save-pdf.pdf', margin: 75, gap: 5, trim: 37
|
||||||
|
|
||||||
|
# Note that our PNGs still are not trimmed even though the pdf ones were
|
||||||
|
save_png range: 1, prefix: 'saves_notrim_'
|
||||||
|
|
||||||
|
# We can also save our PNGs into a single sheet,
|
||||||
|
# rows are calculated based on cols and number of cards
|
||||||
|
save_sheet prefix: 'save_single_sheet_',
|
||||||
|
columns: 2, margin: 75, gap: 5, trim: 37
|
||||||
|
|
||||||
|
# Or multiple sheets if rows are also specified
|
||||||
|
save_sheet prefix: 'save_sheet_',
|
||||||
|
columns: 4, rows: 2,
|
||||||
|
margin: 75, gap: 5, trim: 37
|
||||||
|
|
||||||
|
# Sheets support ranges too
|
||||||
|
save_sheet prefix: 'save_sheet_range_',
|
||||||
|
range: 0..5,
|
||||||
|
columns: 2, rows: 2,
|
||||||
|
margin: 75, gap: 5, trim: 37
|
||||||
|
end
|
||||||
|
|
@ -0,0 +1,702 @@
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.501960784313725, @green=0.501960784313725, @blue=0.501960784313725>])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: stroke([])
|
||||||
|
cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: fill([])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["1"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["2"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["3"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["4"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["5"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["6"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["7"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["8"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["9"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["10"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["11"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["12"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["13"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["14"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["15"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: save([])
|
||||||
|
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
|
||||||
|
cairo: translate([220, 78])
|
||||||
|
cairo: rotate([0])
|
||||||
|
cairo: translate([-220, -78])
|
||||||
|
cairo: move_to([220, 78])
|
||||||
|
pango: font_description=([])
|
||||||
|
pango: text=(["16"])
|
||||||
|
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
|
||||||
|
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
|
||||||
|
pango: alignment=([#<Pango::Layout::Alignment left>])
|
||||||
|
pango: justify=([false])
|
||||||
|
pango: spacing=([0])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: update_pango_layout([MockDouble])
|
||||||
|
cairo: show_pango_layout([MockDouble])
|
||||||
|
cairo: restore([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 285, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 390, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 495, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 600, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 705, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 810, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 915, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 1020, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 1125, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 1230, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 1335, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 1440, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 1545, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 1650, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
surface: write_to_png(["_output/saves_notrim_1.png"])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 287])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 287])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 393])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 393])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 499])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 499])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 605])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 605])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 711])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 711])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 817])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 817])
|
||||||
|
cairo: paint([])
|
||||||
|
surface: write_to_png(["_output/save_single_sheet_0.png"])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 285, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 390, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 285, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 390, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
surface: write_to_png(["_output/save_sheet_0.png"])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 285, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 390, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 285, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 390, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
surface: write_to_png(["_output/save_sheet_1.png"])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 181])
|
||||||
|
cairo: paint([])
|
||||||
|
surface: write_to_png(["_output/save_sheet_range_0.png"])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 75, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, -37, -37])
|
||||||
|
cairo: paint([])
|
||||||
|
cairo: set_source([MockDouble, 180, 75])
|
||||||
|
cairo: paint([])
|
||||||
|
surface: write_to_png(["_output/save_sheet_range_1.png"])
|
||||||
|
|
@ -176,4 +176,20 @@ describe Squib::InputHelpers do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context '#rowify' do
|
||||||
|
# it 'does nothing on an integer' do
|
||||||
|
# opts = @deck.send(:rowify, {columns: 2, rows: 2})
|
||||||
|
# expect(opts).to eq({ columns: 2,
|
||||||
|
# rows: 2
|
||||||
|
# })
|
||||||
|
# end
|
||||||
|
|
||||||
|
it 'computes properly on non-integer' do
|
||||||
|
opts = @deck.send(:rowify, {columns: 1, rows: :infinite})
|
||||||
|
expect(opts).to eq({ columns: 1,
|
||||||
|
rows: 2
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ describe "Squib samples" do
|
||||||
load_images.rb
|
load_images.rb
|
||||||
portrait-landscape.rb
|
portrait-landscape.rb
|
||||||
ranges.rb
|
ranges.rb
|
||||||
save_pdf.rb
|
saves.rb
|
||||||
text_options.rb
|
text_options.rb
|
||||||
tgc_proofs.rb
|
tgc_proofs.rb
|
||||||
units.rb
|
units.rb
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,7 @@ def mock_cairo(strio)
|
||||||
allow(ProgressBar).to receive(:create).and_return(Squib::DoNothing.new)
|
allow(ProgressBar).to receive(:create).and_return(Squib::DoNothing.new)
|
||||||
allow(Cairo::ImageSurface).to receive(:new).and_return(surface)
|
allow(Cairo::ImageSurface).to receive(:new).and_return(surface)
|
||||||
allow(surface).to receive(:width).and_return(100)
|
allow(surface).to receive(:width).and_return(100)
|
||||||
|
allow(surface).to receive(:height).and_return(101)
|
||||||
allow(Cairo::Context).to receive(:new).and_return(cxt)
|
allow(Cairo::Context).to receive(:new).and_return(cxt)
|
||||||
allow(cxt).to receive(:create_pango_layout).and_return(pango)
|
allow(cxt).to receive(:create_pango_layout).and_return(pango)
|
||||||
allow(cxt).to receive(:target).and_return(surface)
|
allow(cxt).to receive(:target).and_return(surface)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue