This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: [patch] GtkMainThread.c calculate the dpi value in case of gtk-xft-dpican't
Like this ?
2004-06-25 Andreas Tobler <a.tobler@schweiz.ch>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
(init_dpi_conversion_factor): Check for int_dpi < 0 in case gtk-xft-dpi
can not calculate the right value.
(dpi_changed_cb): Likewise. Mark *pspec as unused.
Index: jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
===================================================================
RCS file: /cvs/gcc/gcc/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,v
retrieving revision 1.13
diff -u -r1.13 gnu_java_awt_peer_gtk_GtkMainThread.c
--- jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c 17 Jun 2004 23:43:16 -0000 1.13
+++ jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c 25 Jun 2004 21:51:29 -0000
@@ -231,9 +231,15 @@
{
int int_dpi;
g_object_get (settings, "gtk-xft-dpi", &int_dpi, NULL);
- dpi_conversion_factor = PANGO_SCALE * 72.0 / (int_dpi / PANGO_SCALE);
+ /* If int_dpi == -1 gtk-xft-dpi returns the default value. So we
+ have to do approximate calculation here. */
+ if (int_dpi < 0) {
+ dpi_conversion_factor = PANGO_SCALE * 72.0 / 96.;
+ } else {
+ dpi_conversion_factor = PANGO_SCALE * 72.0 / (int_dpi / PANGO_SCALE);
+ }
g_signal_connect (settings, "notify::gtk-xft-dpi",
- G_CALLBACK (dpi_changed_cb), NULL);
+ G_CALLBACK (dpi_changed_cb), NULL);
}
else
/* Approximate. */
@@ -242,9 +248,13 @@
static void
dpi_changed_cb (GtkSettings *settings,
- GParamSpec *pspec)
+ GParamSpec *pspec __attribute__((unused)))
{
int int_dpi;
g_object_get (settings, "gtk-xft-dpi", &int_dpi, NULL);
- dpi_conversion_factor = PANGO_SCALE * 72.0 / (int_dpi / PANGO_SCALE);
+ if (int_dpi < 0) {
+ dpi_conversion_factor = PANGO_SCALE * 72.0 / 96.;
+ } else {
+ dpi_conversion_factor = PANGO_SCALE * 72.0 / (int_dpi / PANGO_SCALE);
+ }
}