class Glimmer::LibUI::ControlProxy::OpenTypeTagProxy

Proxy for LibUI open type tag objects

Follows the Proxy Design Pattern

Public Instance Methods

destroy() click to toggle source
# File lib/glimmer/libui/control_proxy/open_type_tag_proxy.rb, line 33
def destroy
  return if ControlProxy.main_window_proxy&.destroying?
  deregister_all_custom_listeners
  @parent_proxy&.children&.delete(self)
  ControlProxy.control_proxies.delete(self)
end
redraw() click to toggle source
# File lib/glimmer/libui/control_proxy/open_type_tag_proxy.rb, line 40
def redraw
  @parent_proxy.redraw
end

Private Instance Methods

build_control() click to toggle source
# File lib/glimmer/libui/control_proxy/open_type_tag_proxy.rb, line 46
def build_control
  tag_args = @args.dup
  tag_args[0] = ordinalize(tag_args[0])
  tag_args[1] = ordinalize(tag_args[1])
  tag_args[2] = ordinalize(tag_args[2])
  tag_args[3] = ordinalize(tag_args[3])
  ::LibUI.open_type_features_add(@parent_proxy.libui, *tag_args)
end
ordinalize(arg) click to toggle source
# File lib/glimmer/libui/control_proxy/open_type_tag_proxy.rb, line 55
def ordinalize(arg)
  arg.is_a?(String) ? arg.ord : arg
end