Class: Glimmer::LibUI::ControlProxy::FontButtonProxy
Overview
Proxy for LibUI font button objects
Follows the Proxy Design Pattern
Constant Summary
BOOLEAN_PROPERTIES, KEYWORD_ALIASES, STRING_PROPERTIES, TransformProxy
Instance Attribute Summary
#args, #block, #content_added, #custom_control, #keyword, #libui, #options, #parent_custom_control, #parent_proxy, #slot
Instance Method Summary
collapse
#append_properties, #append_property, #bind_content, #can_handle_listener?, constant_symbol, #content, control_proxies, control_proxy_class, create, #custom_listener_name_aliases, #custom_listener_names, #default_destroy, #deregister_all_custom_listeners, #deregister_custom_listeners, descendant_keyword_constant_map, #destroy_child, #enabled, exists?, #handle_custom_listener, #handle_listener, #has_custom_listener?, image_proxies, #initialize, keyword, #libui_api_keyword, #listeners, #listeners_for, main_window_proxy, map_descendant_keyword_constants_for, menu_proxies, #method_missing, new_control, #notify_custom_listeners, #post_add_content, #post_initialize_child, reset_descendant_keyword_constant_map, #respond_to?, #respond_to_libui?, #send_to_libui, #visible, #window_proxy
#data_bind, #data_binding_model_attribute_observer_registrations
Instance Method Details
#data_bind_read(property, model_binding) ⇒ Object
68
69
70
|
# File 'lib/glimmer/libui/control_proxy/font_button_proxy.rb', line 68
def data_bind_read(property, model_binding)
end
|
#data_bind_write(property, model_binding) ⇒ Object
72
73
74
|
# File 'lib/glimmer/libui/control_proxy/font_button_proxy.rb', line 72
def data_bind_write(property, model_binding)
handle_listener('on_changed') { model_binding.call(font) } if property == 'font'
end
|
#destroy ⇒ Object
63
64
65
66
|
# File 'lib/glimmer/libui/control_proxy/font_button_proxy.rb', line 63
def destroy
::LibUI.free_font_button_font(@font_descriptor) unless @font_descriptor.nil?
super
end
|
#family ⇒ Object
43
44
45
|
# File 'lib/glimmer/libui/control_proxy/font_button_proxy.rb', line 43
def family
font[:family]
end
|
#font ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/glimmer/libui/control_proxy/font_button_proxy.rb', line 31
def font
@font_descriptor ||= ::LibUI::FFI::FontDescriptor.malloc
::LibUI.font_button_font(@libui, @font_descriptor)
{
family: @font_descriptor.Family.to_s,
size: @font_descriptor.Size,
weight: Glimmer::LibUI.enum_value_to_symbol(:text_weight, @font_descriptor.Weight),
italic: Glimmer::LibUI.enum_value_to_symbol(:text_italic, @font_descriptor.Italic),
stretch: Glimmer::LibUI.enum_value_to_symbol(:text_stretch, @font_descriptor.Stretch),
}
end
|
#italic ⇒ Object
55
56
57
|
# File 'lib/glimmer/libui/control_proxy/font_button_proxy.rb', line 55
def italic
font[:italic]
end
|
#size ⇒ Object
47
48
49
|
# File 'lib/glimmer/libui/control_proxy/font_button_proxy.rb', line 47
def size
font[:size]
end
|
#stretch ⇒ Object
59
60
61
|
# File 'lib/glimmer/libui/control_proxy/font_button_proxy.rb', line 59
def stretch
font[:stretch]
end
|
#weight ⇒ Object
51
52
53
|
# File 'lib/glimmer/libui/control_proxy/font_button_proxy.rb', line 51
def weight
font[:weight]
end
|