LiVES 3.2.0
paramspecial.h
Go to the documentation of this file.
1// paramspecial.h
2// LiVES
3// (c) G. Finch 2004 - 2020 <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
15typedef struct {
17 boolean added;
24
25 int stdwidgets; // 2 for singlepoint, 3 for scaledpoint, 4 for demask, multirect
28 LiVESWidget **extra_widgets;
30
31typedef struct {
34 LiVESWidget *lockbutton;
37 double ratio;
39 boolean no_reset;
41
42typedef struct {
49
50typedef struct {
55
57
58#define ASPECT_BUTTON_WIDTH ((int)(250. * widget_opts.scale))
59#define ASPECT_BUTTON_HEIGHT DEF_BUTTON_HEIGHT
60
61#define WEED_LEAF_HOST_VALUE_SPECIAL "host_valspec"
62#define LIVES_VALUE_LETTERBOX_OFFSX (1 << 0) // def val. == param_max * lb_offs_x / width
63#define LIVES_VALUE_LETTERBOX_OFFSY (1 << 1)
64#define LIVES_VALUE_LETTERBOX_WIDTH (1 << 2) // def val == param_max * lb_width / width
65#define LIVES_VALUE_LETTERBOX_HEIGHT (1 << 3)
66
67#include "multitrack.h"
68
69void init_special(void);
70
71void add_to_special(const char *special_string, lives_rfx_t *);
72
73void check_for_special(lives_rfx_t *, lives_param_t *param, LiVESBox *);
74void check_for_special_type(lives_rfx_t *rfx, lives_param_t *param, LiVESBox *pbox);
75
77
79
80void fd_tweak(lives_rfx_t *);
81
82void after_aspect_width_changed(LiVESSpinButton *, livespointer);
83
84void after_aspect_height_changed(LiVESToggleButton *, livespointer);
85
87
88boolean check_filewrite_overwrites(void);
89
90boolean special_cleanup(boolean is_ok);
91
92void setmergealign(void);
93
95
96boolean is_perchannel_multi(lives_rfx_t *rfx, int pnum);
97
98LiVESPixbuf *mt_framedraw(lives_mt *, weed_layer_t *layer);
99
101
102#endif
weed_plant_t weed_layer_t
Definition: colourspace.h:71
#define ulong
Definition: main.h:178
void check_for_special(lives_rfx_t *, lives_param_t *param, LiVESBox *)
Definition: paramspecial.c:298
boolean check_filewrite_overwrites(void)
Definition: paramspecial.c:617
boolean special_cleanup(boolean is_ok)
Definition: paramspecial.c:641
void fd_tweak(lives_rfx_t *)
Definition: paramspecial.c:159
void init_special(void)
Definition: paramspecial.c:30
const lives_special_aspect_t * paramspecial_get_aspect(void)
Definition: paramspecial.c:50
void set_aspect_ratio_widgets(lives_param_t *w, lives_param_t *h)
Definition: paramspecial.c:681
lives_special_mergealign_t mergealign
Definition: paramspecial.h:100
void after_aspect_height_changed(LiVESToggleButton *, livespointer)
Definition: paramspecial.c:601
void after_aspect_width_changed(LiVESSpinButton *, livespointer)
Definition: paramspecial.c:585
void fd_connect_spinbutton(lives_rfx_t *)
Definition: paramspecial.c:174
void add_to_special(const char *special_string, lives_rfx_t *)
Definition: paramspecial.c:53
void setmergealign(void)
Definition: paramspecial.c:687
void reset_framedraw_preview(void)
Definition: paramspecial.c:27
void check_for_special_type(lives_rfx_t *rfx, lives_param_t *param, LiVESBox *pbox)
Definition: paramspecial.c:228
LiVESPixbuf * mt_framedraw(lives_mt *, weed_layer_t *layer)
Definition: paramspecial.c:741
boolean is_perchannel_multi(lives_rfx_t *rfx, int pnum)
Definition: paramspecial.c:765
lives_param_special_t
Definition: plugins.h:518
lives_param_t * width_param
Definition: paramspecial.h:33
lives_param_t * height_param
Definition: paramspecial.h:32
LiVESWidget * lockbutton
Definition: paramspecial.h:34
lives_param_t * font_param
Definition: paramspecial.h:43
lives_param_t * size_param
Definition: paramspecial.h:44
lives_param_special_t type
Definition: paramspecial.h:18
lives_param_t * end_param
Definition: paramspecial.h:53
lives_param_t * start_param
Definition: paramspecial.h:52