Class: CyberarmEngine::Element::Slider::Handle

Inherits:
Button show all
Defined in:
lib/cyberarm_engine/ui/elements/slider.rb

Constant Summary

Constants included from Theme

Theme::THEME

Instance Attribute Summary

Attributes inherited from CyberarmEngine::Element

#background_canvas, #border_canvas, #element_visible, #event_handler, #options, #parent, #style, #tip, #x, #y, #z

Instance Method Summary collapse

Methods inherited from Button

#draw_image, #draw_text, #layout, #render, #value, #value=

Methods inherited from TextBlock

#handle_text_wrapping, #layout, #line_width, #render, #update, #value, #value=

Methods inherited from CyberarmEngine::Element

#background=, #background_image=, #background_nine_slice=, #blur, #button_down, #button_up, #child_of?, #clicked_left_mouse_button, #content_height, #content_width, #debug_draw, #default_events, #dimensional_size, #draw, #element_visible?, #enabled=, #enabled?, #enter, #focus, #focused?, #height, #hide, #hit?, #inner_height, #inner_width, #inspect, #is_root?, #layout, #leave, #left_mouse_button, #max_scroll_height, #max_scroll_width, #noncontent_height, #noncontent_width, #outer_height, #outer_width, #parent_of?, #recalculate, #recalculate_if_size_changed, #released_left_mouse_button, #render, #reposition, #root, #safe_style_fetch, #scroll_height, #scroll_width, #set_background, #set_background_image, #set_background_nine_slice, #set_border_color, #set_border_thickness, #set_color, #set_font, #set_margin, #set_padding, #set_static_position, #show, #space_available_height, #space_available_width, #stylize, #to_s, #toggle, #update, #update_background, #update_background_image, #update_background_nine_slice, #update_styles, #value, #value=, #visible?, #width

Methods included from Common

#alt_down?, #control_down?, #current_state, #darken, #draw_rect, #fill, #find_element_by_tag, #get_asset, #get_image, #get_sample, #get_song, #lighten, #opacity, #pop_state, #previous_state, #push_state, #shift_down?, #shift_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, _button|
    @drag_start_pos = Vector.new(x, y)

    :handled
  end

  subscribe :drag_update do |_sender, x, y, _button|
    @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

Returns:

  • (Boolean)


31
32
33
# File 'lib/cyberarm_engine/ui/elements/slider.rb', line 31

def draggable?(button)
  button == :left
end