Rev 2097 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1528 | jag | 1 | /* |
2 | * capturer.h |
||
2302 | jag | 3 | * DIN Is Noise is copyright (c) 2006-2025 Jagannathan Sampath |
1713 | jag | 4 | * DIN Is Noise is released under GNU Public License 2.0 |
1528 | jag | 5 | * For more information, please visit https://dinisnoise.org/ |
6 | */ |
||
7 | |||
8 | #ifndef __capturer |
||
9 | #define __capturer |
||
10 | |||
11 | #include "label.h" |
||
12 | #include "arrow_button.h" |
||
13 | #include "filled_button.h" |
||
14 | #include "state_button.h" |
||
15 | #include "checkbutton.h" |
||
16 | #include "cross_button.h" |
||
17 | #include "utils.h" |
||
18 | |||
19 | #include <map> |
||
20 | |||
21 | struct mouse_macro; |
||
22 | |||
23 | struct curve_editor; |
||
24 | struct capturer_t : widget, click_listener, move_listener { |
||
25 | |||
26 | curve_editor* ed; |
||
27 | |||
28 | label title; |
||
29 | |||
30 | int folded; |
||
31 | arrow_button fold; |
||
32 | |||
33 | arrow_button play; |
||
34 | cross_button kill; |
||
35 | button all, none, invert; |
||
36 | |||
37 | int sbx, sby; |
||
38 | std::vector<state_button*> caps; |
||
39 | int ncaps; |
||
40 | |||
41 | sel _sel; |
||
42 | desel _desel; |
||
43 | togg _togg; |
||
44 | void on_caps (const item_op& o); |
||
45 | |||
46 | std::map<state_button*, point<int> > sbpt; |
||
47 | |||
48 | void set (mouse_macro& mm, int x, int y); |
||
49 | |||
50 | void setup (curve_editor* ce); |
||
51 | int handle_input (); |
||
52 | void moved (); |
||
53 | void draw (); |
||
54 | |||
55 | state_button* add (); |
||
56 | void remove (); |
||
57 | void rearrange (); |
||
58 | |||
59 | void clicked (button& b); |
||
60 | |||
61 | static int ref; |
||
62 | capturer_t (); |
||
63 | ~capturer_t (); |
||
64 | |||
1719 | jag | 65 | void evalchk (); |
66 | |||
1528 | jag | 67 | }; |
68 | |||
69 | #endif |