Mercurial > audlegacy-plugins
diff src/skins/ui_skinned_equalizer_graph.c @ 2888:7c7471554d88
convert some widgets into windowless ones
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Tue, 12 Aug 2008 15:50:01 +0200 |
parents | e6f015ac0421 |
children | 3134a0987162 |
line wrap: on
line diff
--- a/src/skins/ui_skinned_equalizer_graph.c Sun Aug 10 12:34:29 2008 +0900 +++ b/src/skins/ui_skinned_equalizer_graph.c Tue Aug 12 15:50:01 2008 +0200 @@ -93,6 +93,8 @@ static void ui_skinned_equalizer_graph_init(UiSkinnedEqualizerGraph *equalizer_graph) { equalizer_graph->width = 113; equalizer_graph->height = 19; + + GTK_WIDGET_SET_FLAGS(equalizer_graph, GTK_NO_WINDOW); } GtkWidget* ui_skinned_equalizer_graph_new(GtkWidget *fixed, gint x, gint y) { @@ -121,33 +123,8 @@ } static void ui_skinned_equalizer_graph_realize(GtkWidget *widget) { - UiSkinnedEqualizerGraph *equalizer_graph; - GdkWindowAttr attributes; - gint attributes_mask; - - g_return_if_fail (widget != NULL); - g_return_if_fail (UI_SKINNED_IS_EQUALIZER_GRAPH(widget)); - - GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED); - equalizer_graph = UI_SKINNED_EQUALIZER_GRAPH(widget); - - attributes.x = widget->allocation.x; - attributes.y = widget->allocation.y; - attributes.width = widget->allocation.width; - attributes.height = widget->allocation.height; - attributes.wclass = GDK_INPUT_OUTPUT; - attributes.window_type = GDK_WINDOW_CHILD; - attributes.event_mask = gtk_widget_get_events(widget); - attributes.event_mask |= GDK_EXPOSURE_MASK; - attributes.visual = gtk_widget_get_visual(widget); - attributes.colormap = gtk_widget_get_colormap(widget); - - attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP; - widget->window = gdk_window_new(widget->parent->window, &attributes, attributes_mask); - - widget->style = gtk_style_attach(widget->style, widget->window); - - gdk_window_set_user_data(widget->window, widget); + if (GTK_WIDGET_CLASS (parent_class)->realize) + (* GTK_WIDGET_CLASS (parent_class)->realize) (widget); } static void ui_skinned_equalizer_graph_size_request(GtkWidget *widget, GtkRequisition *requisition) { @@ -163,8 +140,6 @@ widget->allocation = *allocation; widget->allocation.x *= (equalizer_graph->scaled ? config.scale_factor : 1); widget->allocation.y *= (equalizer_graph->scaled ? config.scale_factor : 1); - if (GTK_WIDGET_REALIZED (widget)) - gdk_window_move_resize(widget->window, widget->allocation.x, widget->allocation.y, allocation->width, allocation->height); equalizer_graph->x = widget->allocation.x/(equalizer_graph->scaled ? config.scale_factor : 1); equalizer_graph->y = widget->allocation.y/(equalizer_graph->scaled ? config.scale_factor : 1); @@ -289,7 +264,10 @@ } } - ui_skinned_widget_draw(widget, obj, equalizer_graph->width, equalizer_graph->height, equalizer_graph->scaled); + ui_skinned_widget_draw_with_coordinates(widget, obj, equalizer_graph->width, equalizer_graph->height, + widget->allocation.x, + widget->allocation.y, + equalizer_graph->scaled); g_object_unref(obj);