    # File lib/prawn/graphics/transformation.rb, line 114
          def scale(factor, options={}, &block)
            Prawn.verify_options(:origin, options)
            if options[:origin].nil?
              transformation_matrix(factor, 0, 0, factor, 0, 0, &block)
            else
              raise Prawn::Errors::BlockRequired unless block_given?
              x = options[:origin][0] + bounds.absolute_left
              y = options[:origin][1] + bounds.absolute_bottom
              x_prime = factor * x
              y_prime = factor * y
              translate(x - x_prime, y - y_prime) do
                transformation_matrix(factor, 0, 0, factor, 0, 0, &block)
              end
            end
          end