Method: Magick::RVG::Transformable#rotate
- Defined in:
- lib/rvg/transformable.rb
permalink #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
].
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 |