diff src/audacious/ui_skinned_window.c @ 2496:71bee08db1c6 trunk

[svn] - widgetlist -> SkinnedWindow class + basic conversion in ui_main, other skinned windows remain
author nenolod
date Sat, 10 Feb 2007 20:09:23 -0800
parents 59661bd074b4
children 319b10203d7c
line wrap: on
line diff
--- a/src/audacious/ui_skinned_window.c	Sat Feb 10 17:04:31 2007 -0800
+++ b/src/audacious/ui_skinned_window.c	Sat Feb 10 20:09:23 2007 -0800
@@ -18,6 +18,7 @@
  */
 
 #include "platform/smartinclude.h"
+#include "widgets/widgetcore.h"
 
 #include <gtk/gtkmain.h>
 #include <glib-object.h>
@@ -155,3 +156,51 @@
 
     return widget;
 }
+
+void
+ui_skinned_window_widgetlist_associate(GtkWidget * widget, Widget * w)
+{
+    SkinnedWindow *sw;
+
+    g_return_if_fail(widget != NULL);
+    g_return_if_fail(w != NULL);
+
+    sw = SKINNED_WINDOW(widget);
+
+    sw->widget_list = g_list_append(sw->widget_list, w);
+}
+
+void
+ui_skinned_window_widgetlist_dissociate(GtkWidget * widget, Widget * w)
+{
+    SkinnedWindow *sw;
+
+    g_return_if_fail(widget != NULL);
+    g_return_if_fail(w != NULL);
+
+    sw = SKINNED_WINDOW(widget);
+
+    sw->widget_list = g_list_remove(sw->widget_list, w);
+}
+
+gboolean
+ui_skinned_window_widgetlist_contained(GtkWidget * widget, gint x, gint y)
+{
+    SkinnedWindow *sw;
+    GList *l;
+
+    g_return_val_if_fail(widget != NULL, FALSE);
+
+    sw = SKINNED_WINDOW(widget);
+
+    for (l = sw->widget_list; l != NULL; l = g_list_next(l))
+    {
+        Widget *w = WIDGET(l->data);
+
+        if (widget_contains(WIDGET(w), x, y) == TRUE)
+            return TRUE;
+    }
+
+    return FALSE;
+}
+