class GerbilCharts::SVGDC::LikeButton

LikeButton

uses lighting effect to create a button like effect

Public Class Methods

new(id,opts={}) click to toggle source
Calls superclass method GerbilCharts::SVGDC::Filter::new
# File lib/gerbilcharts/svgdc/filters.rb, line 42
def initialize(id,opts={})
        super(id,opts)
end

Public Instance Methods

render(xfrag) click to toggle source
# File lib/gerbilcharts/svgdc/filters.rb, line 46
def render(xfrag)
        xfrag.filter(:id => 'LikeButton', :filterUnits=>'userSpaceOnUse') {
                xfrag.feGaussianBlur( :in => 'SourceAlpha', :stdDeviation=> '4', :result => 'blur' )
                xfrag.feSpecularLighting( :in=>"blur", :surfaceScale=>"5" , :specularConstant=>".75" , 
                                                                  :specularExponent=>"20", 'lighting-color'=>"#bbbbbb", :result=>"specOut") {
                                xfrag.fePointLight( :x=>"-5000", :y=>"-10000",  :z=>"9000")
                }
                xfrag.feComposite( :in=>"specOut",:in2=>"SourceAlpha",:operator=>"in",:result=>"specOut")
            xfrag.feComposite( :in=>"SourceGraphic",:in2=>"specOut",:operator=>"arithmetic",
                                                        :k1=>"0",:k2=>"1",:k3=>"1", :k4=>"0", :result=>"litPaint")

                xfrag.feMerge {
                        xfrag.feMergeNode(:in=>'litPaint')
                }
        }
end