class PDF::Core::GraphicStateStack

Attributes

stack[RW]

Public Class Methods

new(previous_state = nil) click to toggle source
# File lib/pdf/core/graphics_state.rb, line 16
def initialize(previous_state = nil)
  self.stack = [GraphicState.new(previous_state)]
end

Public Instance Methods

current_state() click to toggle source
# File lib/pdf/core/graphics_state.rb, line 32
def current_state
  stack.last
end
empty?() click to toggle source
# File lib/pdf/core/graphics_state.rb, line 40
def empty?
  stack.empty?
end
present?() click to toggle source
# File lib/pdf/core/graphics_state.rb, line 36
def present?
  !stack.empty?
end
restore_graphic_state() click to toggle source
# 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) click to toggle source
# 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