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 49 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 63 def dash_setting return '[] 0 d' unless @dash[:dash] array = if @dash[:dash].is_a?(Array) @dash[:dash] else [@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 79 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