This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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);
+  }
 }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]