42
42
GtkBox *mw_list_box;
45
EffectDialog **dialogs;
44
GtkListItem *list_widget_sel,*list_widget_clicked;
46
GtkToggleButton *close_after;
46
48
gint current_dialog;
49
EffectDialog *dialogs[EFFECT_BROWSER_CACHE_SIZE];
50
gpointer dialog_effects[EFFECT_BROWSER_CACHE_SIZE];
48
52
GtkContainer *effect_list_container;
49
53
GtkContainer *dialog_container;
54
58
GtkWindowClass window_class;
55
59
} EffectBrowserClass;
57
void effect_browser_register_default_effects(void);
61
typedef void (*effect_register_rebuild_func)(gchar source_tag,
63
typedef EffectDialog *(*effect_register_get_func)(gchar *name,
67
#define EFFECT_PARAM_TAG 0
68
#define EFFECT_PARAM_TITLE 1
69
#define EFFECT_PARAM_AUTHOR 2
70
#define EFFECT_PARAM_LOCATION 3
71
#define EFFECT_PARAM_MAX 3
73
void effect_register_init(void);
74
void effect_register_add_source(gchar *name, gchar tag,
75
effect_register_rebuild_func rebuild_func,
76
gpointer rebuild_func_data,
77
effect_register_get_func get_func,
78
gpointer get_func_data);
79
void effect_register_add_effect(gchar source_tag, const gchar *name,
80
const gchar *title, const gchar *author,
81
const gchar *location);
82
void effect_register_rebuild(void);
59
85
GtkType effect_browser_get_type(void);
60
86
GtkWidget *effect_browser_new(Document *doc);
61
GtkWidget *effect_browser_new_with_effect(Document *doc, gchar *effect_name);
63
void effect_browser_set_effect(EffectBrowser *eb, gchar *effect_name);
65
void effect_browser_register_effect(gchar *name, gchar *title,
67
void effect_browser_invalidate_effect(EffectBrowser *eb, gchar *effect_name);
87
GtkWidget *effect_browser_new_with_effect(Document *doc, gchar *effect_name,
89
gboolean close_after);
91
void effect_browser_set_effect(EffectBrowser *eb, gchar *effect_name,
94
void effect_browser_invalidate_effect(EffectBrowser *eb, gchar *effect_name,
69
97
void effect_browser_shutdown(void);