}
}
+/* ----------------------------------------------------------------------
+ * Utility routine used by the code below, and also gtkdlg.c.
+ */
+
+void get_label_text_dimensions(const char *text, int *width, int *height)
+{
+ /*
+ * Determine the dimensions of a piece of text in the standard
+ * font used in GTK interface elements like labels. We do this by
+ * instantiating an actual GtkLabel, and then querying its size.
+ *
+ * But GTK2 and GTK3 require us to query the size completely
+ * differently. I'm sure there ought to be an easier approach than
+ * the way I'm doing this in GTK3, too!
+ */
+ GtkWidget *label = gtk_label_new(text);
+
+#if GTK_CHECK_VERSION(3,0,0)
+ PangoLayout *layout = gtk_label_get_layout(GTK_LABEL(label));
+ PangoRectangle logrect;
+ pango_layout_get_extents(layout, NULL, &logrect);
+ if (width)
+ *width = logrect.width / PANGO_SCALE;
+ if (height)
+ *height = logrect.height / PANGO_SCALE;
+#else
+ GtkRequisition req;
+ gtk_widget_size_request(label, &req);
+ if (width)
+ *width = req.width;
+ if (height)
+ *height = req.height;
+#endif
+
+ g_object_ref_sink(G_OBJECT(label));
+#if GTK_CHECK_VERSION(2,10,0)
+ g_object_unref(label);
+#endif
+}
+
#if GTK_CHECK_VERSION(2,0,0)
/* ----------------------------------------------------------------------
return TRUE;
}
-void get_label_text_dimensions(const char *text, int *width, int *height)
-{
- /*
- * Determine the dimensions of a piece of text in the standard
- * font used in GTK interface elements like labels. We do this by
- * instantiating an actual GtkLabel, and then querying its size.
- *
- * But GTK2 and GTK3 require us to query the size completely
- * differently. I'm sure there ought to be an easier approach than
- * the way I'm doing this in GTK3, too!
- */
- GtkWidget *label = gtk_label_new(text);
-
-#if GTK_CHECK_VERSION(3,0,0)
- PangoLayout *layout = gtk_label_get_layout(GTK_LABEL(label));
- PangoRectangle logrect;
- pango_layout_get_extents(layout, NULL, &logrect);
- if (width)
- *width = logrect.width / PANGO_SCALE;
- if (height)
- *height = logrect.height / PANGO_SCALE;
-#else
- GtkRequisition req;
- gtk_widget_size_request(label, &req);
- if (width)
- *width = req.width;
- if (height)
- *height = req.height;
-#endif
-
- g_object_ref_sink(G_OBJECT(label));
-#if GTK_CHECK_VERSION(2,10,0)
- g_object_unref(label);
-#endif
-}
-
unifontsel *unifontsel_new(const char *wintitle)
{
unifontsel_internal *fs = snew(unifontsel_internal);