[gimp] app: undeprecation in GimpOverlayBox
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: undeprecation in GimpOverlayBox
- Date: Tue, 22 May 2018 22:44:17 +0000 (UTC)
commit d86dc8a5b43aebfdc2a6dae454b00e53f9ea9382
Author: Michael Natterer <mitch gimp org>
Date: Wed May 23 00:42:41 2018 +0200
app: undeprecation in GimpOverlayBox
and some size negotiation changes that have no effect at all, just
some hacking in the direction of making it a general-purpose
container, for whatever reason.
app/widgets/gimpoverlaybox.c | 47 ++++++++++++++++++++++++++++++++-------
app/widgets/gimpoverlaychild.c | 22 +++++++-----------
app/widgets/gimpoverlaychild.h | 8 +++++-
3 files changed, 53 insertions(+), 24 deletions(-)
---
diff --git a/app/widgets/gimpoverlaybox.c b/app/widgets/gimpoverlaybox.c
index 6aca43e..f6d7aa9 100644
--- a/app/widgets/gimpoverlaybox.c
+++ b/app/widgets/gimpoverlaybox.c
@@ -169,9 +169,6 @@ gimp_overlay_box_realize (GtkWidget *widget)
G_CALLBACK (gimp_overlay_box_pick_embedded_child),
widget);
- gtk_style_context_set_background (gtk_widget_get_style_context (widget),
- gtk_widget_get_window (widget));
-
for (list = box->children; list; list = g_list_next (list))
gimp_overlay_child_realize (box, list->data);
}
@@ -196,11 +193,27 @@ gimp_overlay_box_get_preferred_width (GtkWidget *widget,
GimpOverlayBox *box = GIMP_OVERLAY_BOX (widget);
GList *list;
- *minimum_width = *natural_width =
- 2 * gtk_container_get_border_width (GTK_CONTAINER (widget)) + 1;
+ *minimum_width = *natural_width = 0;
for (list = box->children; list; list = g_list_next (list))
- gimp_overlay_child_get_preferred_width (box, list->data);
+ {
+ gint minimum;
+ gint natural;
+
+ gimp_overlay_child_get_preferred_width (box, list->data,
+ &minimum, &natural);
+
+ *minimum_width = MAX (*minimum_width, minimum);
+ *natural_width = MAX (*natural_width, natural);
+ }
+
+ *minimum_width = 0;
+
+ *minimum_width +=
+ 2 * gtk_container_get_border_width (GTK_CONTAINER (widget)) + 1;
+
+ *natural_width +=
+ 2 * gtk_container_get_border_width (GTK_CONTAINER (widget)) + 1;
}
static void
@@ -211,11 +224,27 @@ gimp_overlay_box_get_preferred_height (GtkWidget *widget,
GimpOverlayBox *box = GIMP_OVERLAY_BOX (widget);
GList *list;
- *minimum_height = *natural_height =
- 2 * gtk_container_get_border_width (GTK_CONTAINER (widget)) + 1;
+ *minimum_height = *natural_height = 0;
for (list = box->children; list; list = g_list_next (list))
- gimp_overlay_child_get_preferred_height (box, list->data);
+ {
+ gint minimum;
+ gint natural;
+
+ gimp_overlay_child_get_preferred_height (box, list->data,
+ &minimum, &natural);
+
+ *minimum_height = MAX (*minimum_height, minimum);
+ *natural_height = MAX (*natural_height, natural);
+ }
+
+ *minimum_height = 0;
+
+ *minimum_height +=
+ 2 * gtk_container_get_border_width (GTK_CONTAINER (widget)) + 1;
+
+ *natural_height +=
+ 2 * gtk_container_get_border_width (GTK_CONTAINER (widget)) + 1;
}
static void
diff --git a/app/widgets/gimpoverlaychild.c b/app/widgets/gimpoverlaychild.c
index bea4493..bd5cd87 100644
--- a/app/widgets/gimpoverlaychild.c
+++ b/app/widgets/gimpoverlaychild.c
@@ -178,7 +178,7 @@ gimp_overlay_child_realize (GimpOverlayBox *box,
GDK_WA_VISUAL |
GDK_WA_CURSOR);
- child->window = gdk_window_new (gtk_widget_get_root_window (widget),
+ child->window = gdk_window_new (gdk_screen_get_root_window (screen),
&attributes, attributes_mask);
gdk_window_set_user_data (child->window, widget);
gtk_widget_set_parent_window (child->widget, child->window);
@@ -194,8 +194,6 @@ gimp_overlay_child_realize (GimpOverlayBox *box,
G_CALLBACK (gimp_overlay_child_to_embedder),
child);
- gtk_style_context_set_background (gtk_widget_get_style_context (widget),
- child->window);
gdk_window_show (child->window);
}
@@ -214,28 +212,26 @@ gimp_overlay_child_unrealize (GimpOverlayBox *box,
void
gimp_overlay_child_get_preferred_width (GimpOverlayBox *box,
- GimpOverlayChild *child)
+ GimpOverlayChild *child,
+ gint *minimum,
+ gint *natural)
{
- gint minimum;
- gint natural;
-
g_return_if_fail (GIMP_IS_OVERLAY_BOX (box));
g_return_if_fail (child != NULL);
- gtk_widget_get_preferred_width (child->widget, &minimum, &natural);
+ gtk_widget_get_preferred_width (child->widget, minimum, natural);
}
void
gimp_overlay_child_get_preferred_height (GimpOverlayBox *box,
- GimpOverlayChild *child)
+ GimpOverlayChild *child,
+ gint *minimum,
+ gint *natural)
{
- gint minimum;
- gint natural;
-
g_return_if_fail (GIMP_IS_OVERLAY_BOX (box));
g_return_if_fail (child != NULL);
- gtk_widget_get_preferred_height (child->widget, &minimum, &natural);
+ gtk_widget_get_preferred_height (child->widget, minimum, natural);
}
void
diff --git a/app/widgets/gimpoverlaychild.h b/app/widgets/gimpoverlaychild.h
index 1eaee64..42d509b 100644
--- a/app/widgets/gimpoverlaychild.h
+++ b/app/widgets/gimpoverlaychild.h
@@ -60,9 +60,13 @@ void gimp_overlay_child_realize (GimpOverlayBox *bo
void gimp_overlay_child_unrealize (GimpOverlayBox *box,
GimpOverlayChild *child);
void gimp_overlay_child_get_preferred_width (GimpOverlayBox *box,
- GimpOverlayChild *child);
+ GimpOverlayChild *child,
+ gint *minimum,
+ gint *natural);
void gimp_overlay_child_get_preferred_height (GimpOverlayBox *box,
- GimpOverlayChild *child);
+ GimpOverlayChild *child,
+ gint *minimum,
+ gint *natural);
void gimp_overlay_child_size_allocate (GimpOverlayBox *box,
GimpOverlayChild *child);
gboolean gimp_overlay_child_draw (GimpOverlayBox *box,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]