Subversion Repositories DIN Is Noise

Rev

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