Method: Magick::RVG::Transformable#rotate

Defined in:
lib/rvg/transformable.rb

#rotate(angle, *args) {|_self| ... } ⇒ Object

This method can take either of two argument lists:

rotate(angle)

rotate by angle degrees

rotate(angle, cx, cy)

rotate by angle degrees about the point [cx, cy].

Yields:

  • (_self)

Yield Parameters:

[View source]

87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/rvg/transformable.rb', line 87

def rotate(angle, *args)
    begin
        case args.length
            when 0
                @transforms << [:rotate, [Float(angle)]]
            when 2
                cx, cy = Float(args[0]), Float(args[1])
                @transforms << [:translate, [cx, cy]]
                @transforms << [:rotate, [angle]]
                @transforms << [:translate, [-cx, -cy]]
            else
                raise ArgumentError, "wrong number of arguments (#{args.length} for 1 or 3)"
        end
    rescue ArgumentError
        raise ArgumentError, "arguments must be convertable to float (got #{[angle, *args].collect {|a| a.class}.join(', ')})"
    end
    yield(self) if block_given?
    self
end