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?
invertible?()
Alias for: 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
Also aliased as: m11=, set_m11
m11=(value = nil)
Alias for: m11
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
Also aliased as: m12=, set_m12
m12=(value = nil)
Alias for: m12
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
Also aliased as: m21=, set_m21
m21=(value = nil)
Alias for: m21
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
Also aliased as: m22=, set_m22
m22=(value = nil)
Alias for: m22
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
Also aliased as: m31=, set_m31
m31=(value = nil)
Alias for: m31
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
Also aliased as: m32=, set_m32
m32=(value = nil)
Alias for: m32
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
set_m11(value = nil)
Alias for: m11
set_m12(value = nil)
Alias for: m12
set_m21(value = nil)
Alias for: m21
set_m22(value = nil)
Alias for: m22
set_m31(value = nil)
Alias for: m31
set_m32(value = nil)
Alias for: m32
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