LiVES 1.3.11-svn
|
00001 // paramspecial.h 00002 // LiVES 00003 // (c) G. Finch 2004 - 2009 <salsaman@xs4all.nl> 00004 // released under the GNU GPL 3 or later 00005 // see file ../COPYING or www.gnu.org for licensing details 00006 00007 00008 // dynamic window generation from parameter arrays :-) 00009 // special widgets 00010 00011 // TODO - refactor all of this using lives_param_special_t 00012 00013 typedef struct { 00014 gint height_param; 00015 gint width_param; 00016 GtkWidget *height_widget; 00017 GtkWidget *width_widget; 00018 GtkWidget *checkbutton; 00019 gulong width_func; 00020 gulong height_func; 00021 } lives_special_aspect_t; 00022 00023 00024 typedef struct { 00025 lives_rfx_t *rfx; 00026 gboolean added; 00027 gint type; 00028 gint xstart_param; 00029 gint ystart_param; 00030 gint xend_param; 00031 gint yend_param; 00032 gint *extra_params; 00033 gint num_extra; 00034 GtkWidget *xstart_widget; 00035 GtkWidget *ystart_widget; 00036 GtkWidget *xend_widget; 00037 GtkWidget *yend_widget; 00038 GtkWidget **extra_widgets; 00039 } lives_special_framedraw_rect_t; 00040 00041 #define FD_NONE 0 00042 #define FD_RECT_DEMASK 1 00043 #define FD_RECT_MULTRECT 2 00044 #define FD_SINGLEPOINT 3 00045 00046 typedef struct { 00047 lives_rfx_t *rfx; 00048 gint start_param; 00049 gint end_param; 00050 GtkWidget *start_widget; 00051 GtkWidget *end_widget; 00052 } lives_special_mergealign_t; 00054 00055 void init_special (void); 00056 00057 gint add_to_special (const gchar *special_string, lives_rfx_t *); 00058 00059 void check_for_special (lives_param_t *, gint num, GtkBox *, lives_rfx_t *); 00060 00061 void fd_connect_spinbutton(lives_rfx_t *); 00062 00063 void fd_tweak(lives_rfx_t *); 00064 00065 void after_aspect_width_changed (GtkSpinButton *, gpointer); 00066 00067 void after_aspect_height_changed (GtkToggleButton *, gpointer); 00068 00069 void special_cleanup (void); 00070 00071 lives_special_mergealign_t mergealign; 00072 void setmergealign (void); 00073 00074 gboolean is_perchannel_multi(lives_rfx_t *rfx, gint i); 00075 00076 #include "framedraw.h" 00077 00078 #define RFX_EXTRA_WIDTH 200 /* extra width in pixels for framedraw */