Class: PDF::Core::GraphicStateStack

Inherits:
Object
  • Object
show all
Defined in:
lib/pdf/core/graphics_state.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(previous_state = nil) ⇒ GraphicStateStack

Returns a new instance of GraphicStateStack.



16
17
18
# File 'lib/pdf/core/graphics_state.rb', line 16

def initialize(previous_state = nil)
  self.stack = [GraphicState.new(previous_state)]
end

Instance Attribute Details

#stackObject

Returns the value of attribute stack.



14
15
16
# File 'lib/pdf/core/graphics_state.rb', line 14

def stack
  @stack
end

Instance Method Details

#current_stateObject



32
33
34
# File 'lib/pdf/core/graphics_state.rb', line 32

def current_state
  stack.last
end

#empty?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/pdf/core/graphics_state.rb', line 40

def empty?
  stack.empty?
end

#present?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/pdf/core/graphics_state.rb', line 36

def present?
  !stack.empty?
end

#restore_graphic_stateObject



24
25
26
27
28
29
30
# File 'lib/pdf/core/graphics_state.rb', line 24

def restore_graphic_state
  if stack.empty?
    raise PDF::Core::Errors::EmptyGraphicStateStack,
      "\n You have reached the end of the graphic state stack"
  end
  stack.pop
end

#save_graphic_state(graphic_state = nil) ⇒ Object



20
21
22
# File 'lib/pdf/core/graphics_state.rb', line 20

def save_graphic_state(graphic_state = nil)
  stack.push(GraphicState.new(graphic_state || current_state))
end