Class Origami::Graphics::State
In: sources/parser/graphics/state.rb
Parent: Object

Methods

new   reset   restore   save  

Attributes

alpha_constant  [RW] 
alpha_source  [RW] 
blend_mode  [RW] 
clipping_path  [RW] 
ctm  [RW]  Device-independent parameters.
current_path  [R] 
dash_pattern  [RW] 
line_cap  [RW] 
line_join  [RW] 
line_width  [RW] 
miter_limit  [RW] 
nonstroking_color  [RW] 
nonstroking_colorspace  [RW] 
rendering_intent  [RW] 
soft_mask  [RW] 
stroke_adjustment  [RW] 
stroking_color  [RW] 
stroking_colorspace  [RW] 
text_state  [RW] 

Public Class methods

[Source]

    # File sources/parser/graphics/state.rb, line 51
51:       def initialize
52:         
53:         @stack = []
54:         @current_path = []
55:         @text_state = Text::State.new
56: 
57:         self.reset
58:       end

Public Instance methods

[Source]

    # File sources/parser/graphics/state.rb, line 60
60:       def reset
61: 
62:         @ctm = Matrix.identity(3)
63:         @clipping_path = nil
64:         @stroking_colorspace = @nonstroking_colorspace = Color::Space::DEVICE_GRAY
65:         @stroking_color = @nonstroking_color = [ 0.0 ] #black
66:         @text_state.reset
67:         @line_width = 1.0
68:         @line_cap = LineCapStyle::BUTT_CAP
69:         @line_join = LineJoinStyle::MITER_JOIN
70:         @miter_limit = 10.0
71:         @dash_pattern = DashPattern.new([], 0)
72:         @rendering_intent = RenderingIntent::RELATIVE_COLORIMETRIC
73:         @stroke_adjustment = false
74:         @blend_mode = BlendMode::NORMAL
75:         @soft_mask = :None
76:         @alpha_constant = 1.0
77:         @alpha_source = false
78: 
79:       end

[Source]

     # File sources/parser/graphics/state.rb, line 95
 95:       def restore
 96:         raise GraphicsStateError, "Cannot restore context : empty stack" if @stack.empty?
 97: 
 98:         @ctm, @clipping_path,
 99:         @stroking_colorspace, @nonstroking_colorspace,
100:         @stroking_color, @nonstroking_color,
101:         @text_state, @line_width, @line_cap, @line_join,
102:         @miter_limit, @dash_pattern, @rendering_intent,
103:         @stroke_adjustment,
104:         @blend_mode, @soft_mask, @alpha_constant, @alpha_source = @stack.pop
105:       end

[Source]

    # File sources/parser/graphics/state.rb, line 81
81:       def save  
82:         context = 
83:         [
84:           @ctm, @clipping_path,
85:           @stroking_colorspace, @nonstroking_colorspace,
86:           @stroking_color, @nonstroking_color,
87:           @text_state, @line_width, @line_cap, @line_join,
88:           @miter_limit, @dash_pattern, @rendering_intent,
89:           @stroke_adjustment,
90:           @blend_mode, @soft_mask, @alpha_constant, @alpha_source
91:         ]
92:         @stack.push(context)
93:       end

[Validate]