Class: Prawn::SVG::Elements::Ellipse

Inherits:
Base
  • Object
show all
Defined in:
lib/prawn/svg/elements/ellipse.rb

Constant Summary collapse

USE_NEW_ELLIPSE_CALL =
Prawn::Document.instance_methods.include?(:ellipse)

Constants inherited from Base

Base::COMMA_WSP_REGEXP, Base::MissingAttributesError, Base::PAINT_TYPES, Base::SVG_NAMESPACE, Base::SkipElementError, Base::SkipElementQuietly

Constants included from Attributes::Stroke

Attributes::Stroke::CAP_STYLE_TRANSLATIONS, Attributes::Stroke::JOIN_STYLE_TRANSLATIONS

Instance Attribute Summary

Attributes inherited from Base

#attributes, #base_calls, #calls, #document, #parent_calls, #properties, #source, #state

Instance Method Summary collapse

Methods inherited from Base

#initialize, #name, #parse_and_apply, #process

Methods included from TransformParser

#parse_transform_attribute

Methods included from PDFMatrix

#load_matrix, #matrix_for_pdf, #rotation_matrix, #scale_matrix, #translation_matrix

Methods included from Attributes::Space

#parse_xml_space_attribute

Methods included from Attributes::Stroke

#parse_stroke_attributes_and_call

Methods included from Attributes::ClipPath

#parse_clip_path_attribute_and_call

Methods included from Attributes::Opacity

#parse_opacity_attributes_and_call

Methods included from Attributes::Transform

#parse_transform_attribute_and_call

Constructor Details

This class inherits a constructor from Prawn::SVG::Elements::Base

Instance Method Details

#applyObject



15
16
17
# File 'lib/prawn/svg/elements/ellipse.rb', line 15

def apply
  add_call USE_NEW_ELLIPSE_CALL ? 'ellipse' : 'ellipse_at', [@x, @y], @rx, @ry
end

#bounding_boxObject



19
20
21
# File 'lib/prawn/svg/elements/ellipse.rb', line 19

def bounding_box
  [@x - @rx, @y + @ry, @x + @rx, @y - @ry]
end

#parseObject



4
5
6
7
8
9
10
11
12
13
# File 'lib/prawn/svg/elements/ellipse.rb', line 4

def parse
  require_attributes 'rx', 'ry'

  @x = x(attributes['cx'] || '0')
  @y = y(attributes['cy'] || '0')
  @rx = x_pixels(attributes['rx'])
  @ry = y_pixels(attributes['ry'])

  require_positive_value @rx, @ry
end