~ubuntu-branches/ubuntu/karmic/mhwaveedit/karmic

« back to all changes in this revision

Viewing changes to src/effectbrowser.h

  • Committer: Bazaar Package Importer
  • Author(s): Free Ekanayaka
  • Date: 2008-01-08 22:20:37 UTC
  • mfrom: (2.1.6 hardy)
  • Revision ID: james.westby@ubuntu.com-20080108222037-tsazhckl5vmc8yih
Tags: 1.4.14-2
Added desktop file (Closes: #457849), thanks to Marco Rodrigues

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (C) 2003 2004, Magnus Hjorth
 
2
 * Copyright (C) 2003 2004 2007, Magnus Hjorth
3
3
 *
4
4
 * This file is part of mhWaveEdit.
5
5
 *
32
32
#define IS_EFFECT_BROWSER(obj) GTK_CHECK_TYPE(obj,effect_browser_get_type())
33
33
 
34
34
 
35
 
 
 
35
#define EFFECT_BROWSER_CACHE_SIZE 8
36
36
 
37
37
typedef struct {    
38
38
     GtkWindow window;
40
40
     DocumentList *dl;
41
41
 
42
42
     GtkBox *mw_list_box;
43
 
     GtkList *effect_list;
44
 
 
45
 
     EffectDialog **dialogs;
 
43
     GtkList *list_widget;
 
44
     GtkListItem *list_widget_sel,*list_widget_clicked;
 
45
 
 
46
     GtkToggleButton *close_after;
 
47
 
46
48
     gint current_dialog;
 
49
     EffectDialog *dialogs[EFFECT_BROWSER_CACHE_SIZE];
 
50
     gpointer dialog_effects[EFFECT_BROWSER_CACHE_SIZE];
47
51
 
48
52
     GtkContainer *effect_list_container;
49
53
     GtkContainer *dialog_container;
54
58
     GtkWindowClass window_class;
55
59
} EffectBrowserClass;
56
60
 
57
 
void effect_browser_register_default_effects(void);
 
61
typedef void (*effect_register_rebuild_func)(gchar source_tag,
 
62
                                             gpointer user_data);
 
63
typedef EffectDialog *(*effect_register_get_func)(gchar *name, 
 
64
                                                  gchar source_tag, 
 
65
                                                  gpointer user_data);
 
66
 
 
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
 
72
 
 
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);
 
83
 
58
84
 
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);
62
 
 
63
 
void effect_browser_set_effect(EffectBrowser *eb, gchar *effect_name);
64
 
 
65
 
void effect_browser_register_effect(gchar *name, gchar *title, 
66
 
                                    GtkType dialog_type);
67
 
void effect_browser_invalidate_effect(EffectBrowser *eb, gchar *effect_name);
 
87
GtkWidget *effect_browser_new_with_effect(Document *doc, gchar *effect_name, 
 
88
                                          gchar source_tag, 
 
89
                                          gboolean close_after);
 
90
 
 
91
void effect_browser_set_effect(EffectBrowser *eb, gchar *effect_name, 
 
92
                               gchar source_tag);
 
93
 
 
94
void effect_browser_invalidate_effect(EffectBrowser *eb, gchar *effect_name,
 
95
                                      gchar source_tag);
68
96
 
69
97
void effect_browser_shutdown(void);
70
98