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 51 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 65 def dash_setting return "[] 0 d" unless @dash[:dash] if @dash[:dash].kind_of?(Array) array = @dash[:dash] else array = [@dash[:dash], @dash[:space]] end "[#{PDF::Core.real_params(array)}] "+ "#{PDF::Core.real(@dash[:phase])} d" end
Private Instance Methods
initialize_copy(other)
click to toggle source
# File lib/pdf/core/graphics_state.rb, line 81 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