Sha256: f71326ef18797812784c02ddee18b6366cc965fc6d6400b175cc5b78f3f46301
Contents?: true
Size: 1.85 KB
Versions: 2
Compression:
Stored size: 1.85 KB
Contents
require 'cairo' require_relative 'graphics/cairo_context_wrapper' module Squib # Back end graphics. Private. class Card # :nodoc: # @api private attr_reader :width, :height, :backend, :svgfile, :index # :nodoc: # @api private attr_accessor :cairo_surface, :cairo_context # :nodoc: # @api private def initialize(deck, width, height, index=-1) @deck = deck @width = width @height = height @backend = deck.backend @index = index @svgfile = "#{deck.dir}/#{deck.prefix}#{deck.count_format % index}.svg" @cairo_surface = make_surface(@svgfile, @backend) @cairo_context = Squib::Graphics::CairoContextWrapper.new(Cairo::Context.new(@cairo_surface)) @cairo_context.antialias = deck.antialias end # :nodoc: # @api private def make_surface(svgfile, backend) case backend.downcase.to_sym when :memory Cairo::ImageSurface.new(@width, @height) when :svg Dir.mkdir @deck.dir unless Dir.exists?(@deck.dir) Cairo::SVGSurface.new(svgfile, @width, @height) else Squib.logger.fatal "Back end not recognized: '#{backend}'" abort end end # A save/restore wrapper for using Cairo # :nodoc: # @api private def use_cairo(&block) @cairo_context.save block.yield(@cairo_context) @cairo_context.restore end ######################## ### BACKEND GRAPHICS ### ######################## require_relative 'graphics/background' require_relative 'graphics/image' require_relative 'graphics/save_doc' require_relative 'graphics/save_images' require_relative 'graphics/shapes' require_relative 'graphics/showcase' require_relative 'graphics/text' end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
squib-0.11.0 | lib/squib/card.rb |
squib-0.10.0 | lib/squib/card.rb |