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 caseof gtk-xft-dpi can't
On Fri, 2004-06-25 at 17:53, Andreas Tobler wrote:
> Like this ?
>
Yes, except that the braces aren't needed around the if-else blocks :-)
Tom
> 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);
> + }
> }