Class: CyberarmEngine::Element::Slider::Handle
- Inherits:
-
Button
- Object
- CyberarmEngine::Element
- Label
- Button
- CyberarmEngine::Element::Slider::Handle
- Defined in:
- lib/cyberarm_engine/ui/elements/slider.rb
Constant Summary
Constants included from Theme
Instance Attribute Summary
Attributes inherited from CyberarmEngine::Element
#background_canvas, #border_canvas, #enabled, #event_handler, #options, #parent, #style, #tip, #x, #y, #z
Instance Method Summary collapse
- #draggable?(button) ⇒ Boolean
-
#initialize(*args) ⇒ Handle
constructor
A new instance of Handle.
Methods inherited from Button
#blur, #clicked_left_mouse_button, #draw_image, #draw_text, #enter, #leave, #left_mouse_button, #recalculate, #released_left_mouse_button, #render, #value, #value=
Methods inherited from Label
#clicked_left_mouse_button, #handle_text_wrapping, #line_width, #recalculate, #render, #value, #value=
Methods inherited from CyberarmEngine::Element
#background=, #button_down, #button_up, #content_height, #content_width, #default_events, #dimensional_size, #draw, #enabled?, #height, #hide, #hit?, #inner_height, #inner_width, #is_root?, #noncontent_height, #noncontent_width, #outer_height, #outer_width, #recalculate, #render, #reposition, #root, #set_background, #set_border_color, #set_border_thickness, #set_margin, #set_padding, #set_static_position, #show, #stylize, #to_s, #toggle, #update, #update_background, #value, #value=, #visible?, #width
Methods included from Common
#current_state, #darken, #draw_rect, #fill, #get_asset, #get_image, #get_sample, #get_song, #lighten, #opacity, #pop_state, #previous_state, #push_state, #show_cursor, #show_cursor=, #window
Methods included from CyberarmEngine::Event
#event, #publish, #subscribe, #unsubscribe
Methods included from Theme
#deep_merge, #default, #theme_defaults
Constructor Details
#initialize(*args) ⇒ Handle
Returns a new instance of Handle.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/cyberarm_engine/ui/elements/slider.rb', line 5 def initialize(*args) super(*args) event(:begin_drag) event(:drag_update) event(:end_drag) subscribe :begin_drag do |_sender, x, y, | @drag_start_pos = Vector.new(x, y) :handled end subscribe :drag_update do |_sender, x, y, | @parent.handle_dragged_to(x, y) :handled end subscribe :end_drag do @drag_start_pos = nil :handled end end |
Instance Method Details
#draggable?(button) ⇒ Boolean
31 32 33 |
# File 'lib/cyberarm_engine/ui/elements/slider.rb', line 31 def draggable?() == :left end |