annotate src/audacious/ui_skinned_menurow.h @ 3126:ce5c6a5d64e2 trunk

Add new probe_for_tuple() function. Replaces all old probing interfaces.
author William Pitcock <nenolod@atheme-project.org>
date Fri, 20 Jul 2007 18:55:15 -0500
parents f1c756f39e6c
children 2f08ee945857
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3071
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
1 /*
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
2 * Audacious - a cross-platform multimedia player
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
3 * Copyright (c) 2007 Audacious development team.
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
4 *
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
5 * Based on:
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
6 * BMP - Cross-platform multimedia player
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
7 * Copyright (C) 2003-2004 BMP development team.
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
8 * XMMS:
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
9 * Copyright (C) 1998-2003 XMMS development team.
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
10 *
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
3121
3b6d316f8b09 GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents: 3105
diff changeset
13 * the Free Software Foundation; under version 3 of the License.
3071
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
14 *
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
18 * GNU General Public License for more details.
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
19 *
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
3121
3b6d316f8b09 GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents: 3105
diff changeset
21 * 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
22 *
f1c756f39e6c Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents: 3121
diff changeset
23 * 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
24 * Audacious or using our public API to be a derived work.
3071
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
25 */
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
26
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
27 #ifndef UISKINNEDMENUROW_H
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
28 #define UISKINNEDMENUROW_H
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
29
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
30 #ifdef __cplusplus
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
31 extern "C" {
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
32 #endif
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
33
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
34 #define UI_SKINNED_MENUROW(obj) GTK_CHECK_CAST (obj, ui_skinned_menurow_get_type (), UiSkinnedMenurow)
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
35 #define UI_SKINNED_MENUROW_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, ui_skinned_menurow_get_type (), UiSkinnedMenurowClass)
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
36 #define UI_SKINNED_IS_MENUROW(obj) GTK_CHECK_TYPE (obj, ui_skinned_menurow_get_type ())
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
37
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
38 typedef struct _UiSkinnedMenurow UiSkinnedMenurow;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
39 typedef struct _UiSkinnedMenurowClass UiSkinnedMenurowClass;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
40
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
41 typedef enum {
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
42 MENUROW_NONE, MENUROW_OPTIONS, MENUROW_ALWAYS, MENUROW_FILEINFOBOX,
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
43 MENUROW_DOUBLESIZE, MENUROW_VISUALIZATION
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
44 } MenuRowItem;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
45
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
46 struct _UiSkinnedMenurow {
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
47 GtkWidget widget;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
48
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
49 gint x, y, width, height;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
50 GtkWidget *fixed;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
51 gboolean double_size;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
52 gint nx, ny;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
53 gint sx, sy;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
54 MenuRowItem selected;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
55 gboolean always_selected;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
56 gboolean doublesize_selected;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
57 gboolean pushed;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
58 SkinPixmapId skin_index;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
59 };
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
60
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
61 struct _UiSkinnedMenurowClass {
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
62 GtkWidgetClass parent_class;
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
63 void (* doubled) (UiSkinnedMenurow *menurow);
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
64 void (* change) (UiSkinnedMenurow *menurow);
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
65 void (* release) (UiSkinnedMenurow *menurow);
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
66 };
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
67
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
68 GtkWidget* ui_skinned_menurow_new (GtkWidget *fixed, gint x, gint y, gint nx, gint ny, gint sx, gint sy, SkinPixmapId si);
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
69 GtkType ui_skinned_menurow_get_type(void);
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
70
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
71 #ifdef __cplusplus
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
72 }
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
73 #endif
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
74
5ae86bc2233d oops, forgot to include new files
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
75 #endif