class DYI::Drawing::Filter::DropShadow
Attributes
id[R]
Public Class Methods
new(canvas, blur_std, dx, dy)
click to toggle source
# File lib/dyi/drawing/filter.rb, line 32 def initialize(canvas, blur_std, dx, dy) @canvas = canvas @blur_std = blur_std.to_i @dx = Length.new(dx) @dy = Length.new(dy) @id = @canvas.add_define(self) end
Public Instance Methods
child_elements()
click to toggle source
# File lib/dyi/drawing/filter.rb, line 40 def child_elements [] end
draw_children?()
click to toggle source
# File lib/dyi/drawing/filter.rb, line 44 def draw_children? true end
Private Instance Methods
attributes()
click to toggle source
# File lib/dyi/drawing/filter.rb, line 50 def attributes { :id => @id, :filterUnits => 'userSpaceOnUse', :x => 0, :y => 0, :width => @canvas.width, :height => @canvas.height, } end
child_elements_to_svg(xml)
click to toggle source
# File lib/dyi/drawing/filter.rb, line 65 def child_elements_to_svg(xml) xml.feGaussianBlur(:in => 'SourceAlpha', :stdDeviation => @blur_std, :result => 'blur') xml.feOffset(:in => 'blur', :dx => @dx, :dy => @dy, :result => 'offsetBlur') xml.feMerge { xml.feMergeNode(:in => 'offsetBlur') xml.feMergeNode(:in => 'SourceGraphic') } end
svg_tag()
click to toggle source
# File lib/dyi/drawing/filter.rb, line 61 def svg_tag 'filter' end