LiVES  3.0.2
paramspecial.h
Go to the documentation of this file.
1 // paramspecial.h
2 // LiVES
3 // (c) G. Finch 2004 - 2019 <salsaman+lives@gmail.com>
4 // released under the GNU GPL 3 or later
5 // see file ../COPYING or www.gnu.org for licensing details
6 
7 // dynamic window generation from parameter arrays :-)
8 // special widgets
9 
10 // TODO - refactor all of this using lives_special_t, use a union
11 
12 #ifndef HAS_LIVES_PARAMSPECIAL_H
13 #define HAS_LIVES_PARAMSPECIAL_H
14 
15 typedef struct {
17  boolean added;
23 
24  int stdwidgets; // 2 for singlepoint, 4 for demask, multirect
26  int num_extra;
27  LiVESWidget **extra_widgets;
29 
30 typedef struct {
33  LiVESWidget *lockbutton;
34  LiVESWidget *label;
37  double ratio;
38  int nwidgets;
40 
41 typedef struct {
47 
48 #define ASPECT_BUTTON_WIDTH 32
49 #define ASPECT_BUTTON_HEIGHT 32
50 
51 void init_special(void);
52 
53 void add_to_special(const char *special_string, lives_rfx_t *);
54 
55 void check_for_special(lives_rfx_t *, lives_param_t *param, LiVESBox *);
56 
58 
59 void fd_tweak(lives_rfx_t *);
60 
61 void after_aspect_width_changed(LiVESSpinButton *, livespointer);
62 
63 void after_aspect_height_changed(LiVESToggleButton *, livespointer);
64 
66 
67 boolean check_filewrite_overwrites(void);
68 
69 boolean special_cleanup(void);
70 
71 void setmergealign(void);
72 
74 
75 boolean is_perchannel_multi(lives_rfx_t *rfx, int pnum);
76 
78 
79 #endif
lives_param_t * end_param
Definition: paramspecial.h:44
int nwidgets
Definition: paramspecial.h:38
ulong width_func
Definition: paramspecial.h:35
LiVESWidget * lockbutton
Definition: paramspecial.h:33
LiVESWidget ** extra_widgets
Definition: paramspecial.h:27
int * extra_params
Definition: paramspecial.h:25
void fd_tweak(lives_rfx_t *)
Definition: paramspecial.c:160
int stdwidgets
Definition: paramspecial.h:24
lives_param_t * yend_param
Definition: paramspecial.h:22
boolean is_perchannel_multi(lives_rfx_t *rfx, int pnum)
Definition: paramspecial.c:636
lives_rfx_t * rfx
Definition: paramspecial.h:16
boolean special_cleanup(void)
Definition: paramspecial.c:514
boolean added
Definition: paramspecial.h:17
lives_param_special_t
Definition: plugins.h:365
void after_aspect_height_changed(LiVESToggleButton *, livespointer)
Definition: paramspecial.c:476
ulong height_func
Definition: paramspecial.h:36
void setmergealign(void)
Definition: paramspecial.c:554
lives_param_t * start_param
Definition: paramspecial.h:43
void after_aspect_width_changed(LiVESSpinButton *, livespointer)
Definition: paramspecial.c:463
lives_special_mergealign_t mergealign
Definition: paramspecial.h:77
LiVESWidget * label
Definition: paramspecial.h:34
double ratio
Definition: paramspecial.h:37
void fd_connect_spinbutton(lives_rfx_t *)
Definition: paramspecial.c:175
Definition: paramspecial.h:41
lives_param_t * xstart_param
Definition: paramspecial.h:19
lives_param_t * xend_param
Definition: paramspecial.h:21
Definition: plugins.h:383
lives_rfx_t * rfx
Definition: paramspecial.h:42
#define ulong
Definition: main.h:137
void add_to_special(const char *special_string, lives_rfx_t *)
Definition: paramspecial.c:57
boolean check_filewrite_overwrites(void)
Definition: paramspecial.c:489
const lives_special_aspect_t * paramspecial_get_aspect(void)
Definition: paramspecial.c:52
void check_for_special(lives_rfx_t *, lives_param_t *param, LiVESBox *)
Definition: paramspecial.c:195
Definition: paramspecial.h:30
lives_param_special_t type
Definition: paramspecial.h:18
lives_param_t * width_param
Definition: paramspecial.h:32
lives_param_t * ystart_param
Definition: paramspecial.h:20
int num_extra
Definition: paramspecial.h:26
Definition: plugins.h:459
void set_aspect_ratio_widgets(lives_param_t *w, lives_param_t *h)
Definition: paramspecial.c:548
Definition: paramspecial.h:15
lives_param_t * height_param
Definition: paramspecial.h:31
void init_special(void)
Definition: paramspecial.c:35