class PDF::Core::GraphicState
NOTE: This class may be a good candidate for a copy-on-write hash.
Attributes
cap_style[RW]
color_space[RW]
dash[RW]
fill_color[RW]
join_style[RW]
line_width[RW]
stroke_color[RW]
Public Class Methods
new(previous_state = nil)
click to toggle source
# File lib/pdf/core/graphics_state.rb, line 50 def initialize(previous_state = nil) if previous_state initialize_copy(previous_state) else @color_space = {} @fill_color = "000000" @stroke_color = "000000" @dash = { :dash => nil, :space => nil, :phase => 0 } @cap_style = :butt @join_style = :miter @line_width = 1 end end
Public Instance Methods
dash_setting()
click to toggle source
# File lib/pdf/core/graphics_state.rb, line 64 def dash_setting if @dash[:dash].kind_of?(Array) "[#{@dash[:dash].join(' ')}] #{@dash[:phase]} d" else "[#{@dash[:dash]} #{@dash[:space]}] #{@dash[:phase]} d" end end
Private Instance Methods
initialize_copy(other)
click to toggle source
# File lib/pdf/core/graphics_state.rb, line 74 def initialize_copy(other) # mutable state @color_space = other.color_space.dup @fill_color = other.fill_color.dup @stroke_color = other.stroke_color.dup @dash = other.dash.dup # immutable state that doesn't need to be duped @cap_style = other.cap_style @join_style = other.join_style @line_width = other.line_width end