module Prawn::TransformationStack
Public Instance Methods
add_to_transformation_stack(a, b, c, d, e, f)
click to toggle source
# File lib/prawn/transformation_stack.rb, line 13 def add_to_transformation_stack(a, b, c, d, e, f) @transformation_stack ||= [[]] @transformation_stack.last.push([a, b, c, d, e, f].map(&:to_f)) end
current_transformation_matrix_with_translation(x = 0, y = 0)
click to toggle source
# File lib/prawn/transformation_stack.rb, line 27 def current_transformation_matrix_with_translation(x = 0, y = 0) transformations = (@transformation_stack || [[]]).last matrix = Matrix.identity(3) transformations.each do |a, b, c, d, e, f| matrix *= Matrix[[a, c, e], [b, d, f], [0, 0, 1]] end matrix *= Matrix[[1, 0, x], [0, 1, y], [0, 0, 1]] matrix.to_a[0..1].transpose.flatten end
restore_transformation_stack()
click to toggle source
# File lib/prawn/transformation_stack.rb, line 23 def restore_transformation_stack @transformation_stack.pop if @transformation_stack end
save_transformation_stack()
click to toggle source
# File lib/prawn/transformation_stack.rb, line 18 def save_transformation_stack @transformation_stack ||= [[]] @transformation_stack.push(@transformation_stack.last.dup) end