Sets the dash pattern for stroked lines and curves
length is the length of the dash. If options is not present,
or options[:space] is nil, then length is also the length of
the space between dashes
options may contain :space and :phase
:space is the space between the dashes
:phase is where in the cycle to begin dashing. For
example, a phase of 0 starts at the beginning of
the dash; whereas, if the phase is equal to the
length of the dash, then stroking will begin at
the beginning of the space. Default is 0
integers or floats may be used for length and the options
dash units are in PDF points ( 1/72 in )
# File lib/prawn/graphics/dash.rb, line 30 def dash(length=nil, options={}) return current_dash_state || undash_hash if length.nil? self.current_dash_state = { :dash => length, :space => options[:space] || length, :phase => options[:phase] || 0 } write_stroke_dash end
Returns when stroke is dashed, false otherwise
# File lib/prawn/graphics/dash.rb, line 51 def dashed? current_dash_state != undashed_setting end
Stops dashing, restoring solid stroked lines and curves
# File lib/prawn/graphics/dash.rb, line 44 def undash self.current_dash_state = undashed_setting write_stroke_dash end
# File lib/prawn/graphics/dash.rb, line 55 def write_stroke_dash add_content dash_setting end
# File lib/prawn/graphics/dash.rb, line 71 def current_dash_state graphic_state.dash end
# File lib/prawn/graphics/dash.rb, line 67 def current_dash_state=(dash_options) graphic_state.dash = dash_options end
# File lib/prawn/graphics/dash.rb, line 75 def dash_setting graphic_state.dash_setting end
# File lib/prawn/graphics/dash.rb, line 61 def undashed_setting { :dash => nil, :space => nil, :phase => 0 } end