Sha256: 0346bcee7350b311f2835730cd76b22074ce96ea6c12b99135b272ff30628be7
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
class Prawn::SVG::Document Error = Class.new(StandardError) InvalidSVGData = Class.new(Error) DEFAULT_FALLBACK_FONT_NAME = "Times-Roman" # An +Array+ of warnings that occurred while parsing the SVG data. attr_reader :warnings attr_reader :root, :sizing, :fallback_font_name, :font_registry, :url_loader, :css_parser, :elements_by_id, :gradients def initialize(data, bounds, options, font_registry: nil) @root = REXML::Document.new(data).root if @root.nil? if data.respond_to?(:end_with?) && data.end_with?(".svg") raise InvalidSVGData, "The data supplied is not a valid SVG document. It looks like you've supplied a filename instead; use IO.read(filename) to get the data before you pass it to prawn-svg." else raise InvalidSVGData, "The data supplied is not a valid SVG document." end end @warnings = [] @options = options @elements_by_id = {} @gradients = {} @fallback_font_name = options.fetch(:fallback_font_name, DEFAULT_FALLBACK_FONT_NAME) @font_registry = font_registry @url_loader = Prawn::SVG::UrlLoader.new( enable_cache: options[:cache_images], enable_web: options.fetch(:enable_web_requests, true), enable_file_with_root: options[:enable_file_requests_with_root] ) @sizing = Prawn::SVG::Calculators::DocumentSizing.new(bounds, @root.attributes) sizing.requested_width = options[:width] sizing.requested_height = options[:height] sizing.calculate @css_parser = CssParser::Parser.new yield self if block_given? end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
prawn-svg-0.25.1 | lib/prawn/svg/document.rb |
prawn-svg-0.25.0 | lib/prawn/svg/document.rb |