class Glimmer::LibUI::ControlProxy::MatrixProxy
Proxy for LibUI
matrix objects
Follows the Proxy Design Pattern
Constants
- M11
- M12
- M21
- M22
- M31
- M32
Public Instance Methods
clone()
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 35 def clone MatrixProxy.new('matrix', nil, [@libui.M11, @libui.M12, @libui.M21, @libui.M22, @libui.M31, @libui.M32]) end
dup()
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 39 def dup clone end
identity()
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 103 def identity set_identity end
invertible()
click to toggle source
Calls superclass method
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 123 def invertible Glimmer::LibUI.integer_to_boolean(super, allow_nil: false) end
Also aliased as: invertible?
libui_api_keyword()
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 31 def libui_api_keyword 'draw_matrix' end
m11(value = nil)
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 43 def m11(value = nil) if value.nil? @libui.M11 else @libui.M11 = value.to_f end end
m12(value = nil)
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 53 def m12(value = nil) if value.nil? @libui.M12 else @libui.M12 = value.to_f end end
m21(value = nil)
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 63 def m21(value = nil) if value.nil? @libui.M21 else @libui.M21 = value.to_f end end
m22(value = nil)
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 73 def m22(value = nil) if value.nil? @libui.M22 else @libui.M22 = value.to_f end end
m31(value = nil)
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 83 def m31(value = nil) if value.nil? @libui.M31 else @libui.M31 = value.to_f end end
m32(value = nil)
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 93 def m32(value = nil) if value.nil? @libui.M32 else @libui.M32 = value.to_f end end
multiply(matrix)
click to toggle source
Calls superclass method
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 119 def multiply(matrix) super(matrix.respond_to?(:libui) ? matrix.libui : matrix) end
rotate(x = 0, y = 0, degrees)
click to toggle source
Calls superclass method
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 107 def rotate(x = 0, y = 0, degrees) super(x, y, (Math::PI*2.0/360.0)*degrees) end
scale(x_center = 0, y_center = 0, x, y)
click to toggle source
Calls superclass method
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 111 def scale(x_center = 0, y_center = 0, x, y) super end
skew(x = 0, y = 0, x_amount, y_amount)
click to toggle source
Calls superclass method
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 115 def skew(x = 0, y = 0, x_amount, y_amount) super end
Private Instance Methods
build_control()
click to toggle source
# File lib/glimmer/libui/control_proxy/matrix_proxy.rb, line 130 def build_control @libui = ::LibUI::FFI::DrawMatrix.malloc if @args.empty? set_identity else @libui.M11 = @args[0].to_f @libui.M12 = @args[1].to_f @libui.M21 = @args[2].to_f @libui.M22 = @args[3].to_f @libui.M31 = @args[4].to_f @libui.M32 = @args[5].to_f end end