libwtk-sdl2
0.0.1
include
slider.hpp
1
#ifndef LIBWTK_SDL2_SLIDER_HPP
2
#define LIBWTK_SDL2_SLIDER_HPP
3
4
#include <functional>
5
6
#include "selectable.hpp"
7
8
struct
slider
:
selectable
9
{
18
slider
(
int
start,
int
end,
int
num_steps, std::function<
void
(
int
)> value_callback);
19
25
slider
(
int
start,
int
end, std::function<
void
(
int
)> value_callback);
26
~
slider
()
override
;
27
28
void
on_draw
(
draw_context
& dc,
selection_context
const
& sc)
const override
;
29
void
on_mouse_up_event(
mouse_up_event
const
& e)
override
;
30
void
on_mouse_down_event(
mouse_down_event
const
& e)
override
;
31
void
on_mouse_move_event(
mouse_move_event
const
& e)
override
;
32
void
on_key_event(
key_event
const
& e)
override
;
33
34
void
on_box_allocated
()
override
;
35
36
size_hint
get_size_hint
(
int
width,
int
height)
const override
;
37
46
void
set_step_interval
(
int
n);
47
int
get_step_interval()
const
;
48
52
int
get_value
()
const
;
53
56
private
:
57
58
void
refresh_knob_box();
59
int
get_step_with_abs_pos(
int
abs_pos);
60
void
set_step(
int
step);
61
void
emit_value_callback(
int
step);
62
63
int
_start;
64
int
_end;
65
int
_step;
66
67
int
_num_steps;
68
69
int
_current_step;
70
71
int
_pressed_step;
72
73
SDL_Rect _knob_box;
74
int
_step_width;
75
int
_step_width_rems;
76
77
std::function<void(int)> _value_callback;
78
};
79
80
#endif
81
slider
Definition:
slider.hpp:8
slider::slider
slider(int start, int end, int num_steps, std::function< void(int)> value_callback)
mouse_up_event
Definition:
mouse_event.hpp:19
mouse_down_event
Definition:
mouse_event.hpp:8
slider::set_step_interval
void set_step_interval(int n)
slider::on_box_allocated
void on_box_allocated() override
slider::on_draw
void on_draw(draw_context &dc, selection_context const &sc) const override
slider::get_value
int get_value() const
selectable
Definition:
selectable.hpp:6
slider::get_size_hint
size_hint get_size_hint(int width, int height) const override
draw_context
Definition:
draw_context.hpp:126
key_event
Definition:
key_event.hpp:4
selection_context
Definition:
selection_context.hpp:18
mouse_move_event
Definition:
mouse_event.hpp:26
size_hint
Definition:
widget.hpp:35
Generated by
1.8.14