Module: Prawn::Document::GraphicsState
- Included in:
- Prawn::Document
- Defined in:
- lib/prawn/document/graphics_state.rb
Instance Method Summary collapse
- #close_graphics_state ⇒ Object
- #graphic_stack ⇒ Object
- #graphic_state ⇒ Object
-
#open_graphics_state ⇒ Object
Pushes the current graphics state on to the graphics state stack so we can restore it when finished with a change we want to isolate (such as modifying the transformation matrix).
-
#restore_graphics_state ⇒ Object
Pops the last saved graphics state off the graphics state stack and restores the state to those values.
- #save_graphics_state(graphic_state = nil) ⇒ Object
Instance Method Details
#close_graphics_state ⇒ Object
101 102 103 |
# File 'lib/prawn/document/graphics_state.rb', line 101 def close_graphics_state add_content "Q" end |
#graphic_stack ⇒ Object
125 126 127 |
# File 'lib/prawn/document/graphics_state.rb', line 125 def graphic_stack state.page.stack end |
#graphic_state ⇒ Object
129 130 131 132 |
# File 'lib/prawn/document/graphics_state.rb', line 129 def graphic_state save_graphics_state unless graphic_stack.current_state graphic_stack.current_state end |
#open_graphics_state ⇒ Object
Pushes the current graphics state on to the graphics state stack so we can restore it when finished with a change we want to isolate (such as modifying the transformation matrix). Used in pairs with restore_graphics_state or passed a block
Example without a block:
save_graphics_state
rotate 30
text "rotated text"
restore_graphics_state
Example with a block:
save_graphics_state do
rotate 30
text "rotated text"
end
97 98 99 |
# File 'lib/prawn/document/graphics_state.rb', line 97 def open_graphics_state add_content "q" end |
#restore_graphics_state ⇒ Object
Pops the last saved graphics state off the graphics state stack and restores the state to those values
116 117 118 119 120 121 122 123 |
# File 'lib/prawn/document/graphics_state.rb', line 116 def restore_graphics_state if graphic_stack.empty? raise Prawn::Errors::EmptyGraphicStateStack, "\n You have reached the end of the graphic state stack" end close_graphics_state graphic_stack.restore_graphic_state end |
#save_graphics_state(graphic_state = nil) ⇒ Object
105 106 107 108 109 110 111 112 |
# File 'lib/prawn/document/graphics_state.rb', line 105 def save_graphics_state(graphic_state = nil) graphic_stack.save_graphic_state(graphic_state) open_graphics_state if block_given? yield restore_graphics_state end end |