annotate src/audacious/ui_skinned_window.h @ 4110:d5d4590cb7d2

Fixes memory leaks when adding files to playlist (Bugzilla #34)
author Jussi Judin <jjudin+audacious@iki.fi>
date Tue, 25 Dec 2007 00:57:19 -0600
parents 963dfcfdc851
children 2eee464379dc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2494
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
1 /*
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
2 * Audacious: A cross-platform multimedia player
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
3 * Copyright (c) 2007 William Pitcock <nenolod -at- sacredspiral.co.uk>
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
4 *
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
5 * This program is free software; you can redistribute it and/or modify
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
6 * it under the terms of the GNU General Public License as published by
3121
3b6d316f8b09 GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents: 3068
diff changeset
7 * the Free Software Foundation; under version 3 of the License.
2494
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
8 *
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
9 * This program is distributed in the hope that it will be useful,
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
12 * GNU General Public License for more details.
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
13 *
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
3121
3b6d316f8b09 GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents: 3068
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses>.
3123
f1c756f39e6c Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents: 3121
diff changeset
16 *
f1c756f39e6c Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents: 3121
diff changeset
17 * The Audacious team does not consider modular code linking to
f1c756f39e6c Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents: 3121
diff changeset
18 * Audacious or using our public API to be a derived work.
2494
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
19 */
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
20
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
21 #ifndef UI_SKINNED_WINDOW_H
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
22 #define UI_SKINNED_WINDOW_H
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
23
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
24 #define SKINNED_WINDOW(obj) GTK_CHECK_CAST (obj, ui_skinned_window_get_type (), SkinnedWindow)
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
25 #define SKINNED_WINDOW_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, ui_skinned_window_get_type (), SkinnedWindowClass)
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
26 #define SKINNED_CHECK_WINDOW(obj) GTK_CHECK_TYPE (obj, ui_skinned_window_get_type ())
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
27 #define SKINNED_TYPE_WINDOW (ui_skinned_window_get_type())
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
28
3068
c5189bc4100b Refactor skinned window code.
William Pitcock <nenolod@atheme-project.org>
parents: 2821
diff changeset
29 #ifdef GDK_WINDOWING_QUARTZ
c5189bc4100b Refactor skinned window code.
William Pitcock <nenolod@atheme-project.org>
parents: 2821
diff changeset
30 # define SKINNED_WINDOW_TYPE GTK_WINDOW_POPUP
c5189bc4100b Refactor skinned window code.
William Pitcock <nenolod@atheme-project.org>
parents: 2821
diff changeset
31 #else
c5189bc4100b Refactor skinned window code.
William Pitcock <nenolod@atheme-project.org>
parents: 2821
diff changeset
32 # define SKINNED_WINDOW_TYPE GTK_WINDOW_TOPLEVEL
c5189bc4100b Refactor skinned window code.
William Pitcock <nenolod@atheme-project.org>
parents: 2821
diff changeset
33 #endif
c5189bc4100b Refactor skinned window code.
William Pitcock <nenolod@atheme-project.org>
parents: 2821
diff changeset
34
3221
9583cd62231f implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents: 3218
diff changeset
35 enum {
9583cd62231f implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents: 3218
diff changeset
36 WINDOW_MAIN,
9583cd62231f implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents: 3218
diff changeset
37 WINDOW_EQ,
9583cd62231f implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents: 3218
diff changeset
38 WINDOW_PLAYLIST
9583cd62231f implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents: 3218
diff changeset
39 };
9583cd62231f implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents: 3218
diff changeset
40
2494
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
41 typedef struct _SkinnedWindow SkinnedWindow;
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
42 typedef struct _SkinnedWindowClass SkinnedWindowClass;
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
43
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
44 struct _SkinnedWindow
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
45 {
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
46 GtkWindow window;
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
47
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
48 GtkWidget *canvas;
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
49 gint x,y;
2496
71bee08db1c6 [svn] - widgetlist -> SkinnedWindow class + basic conversion in ui_main, other skinned windows remain
nenolod
parents: 2494
diff changeset
50
3221
9583cd62231f implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents: 3218
diff changeset
51 gint type;
2821
ade60a2c52fb [svn] beginning of widgetcore rewrite
desowin
parents: 2525
diff changeset
52 GtkWidget *fixed;
2494
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
53 };
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
54
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
55 struct _SkinnedWindowClass
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
56 {
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
57 GtkWindowClass parent_class;
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
58 };
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
59
2525
ddd127429fc6 [svn] - move the GC into the SkinnedWindow class.
nenolod
parents: 2515
diff changeset
60 extern GType ui_skinned_window_get_type(void);
3068
c5189bc4100b Refactor skinned window code.
William Pitcock <nenolod@atheme-project.org>
parents: 2821
diff changeset
61 extern GtkWidget *ui_skinned_window_new(const gchar *wmclass_name);
3221
9583cd62231f implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents: 3218
diff changeset
62 extern void ui_skinned_window_draw_all(GtkWidget *widget);
2494
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
63
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents:
diff changeset
64 #endif