Drop the screen resolution api
authorMatthias Clasen <mclasen@redhat.com>
Tue, 31 Oct 2017 23:12:05 +0000 (19:12 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 31 Oct 2017 23:13:21 +0000 (19:13 -0400)
GTK+ now uses the gtk-xft-dpi setting directly.

Note: this commit only fixes the backends that
currently provide this setting. The win32 and
Quartz backends still need to be fixed.

gdk/gdkscreen.c
gdk/gdkscreen.h
gdk/gdkscreenprivate.h
gdk/wayland/gdkscreen-wayland.c
gdk/x11/xsettings-client.c

index dae1c92e163d21ed6251632cd9dc9ef8e3014290..5a04bb718327a31479d76ae88817a8d4d7df2f18 100644 (file)
  */
 
 
-static void gdk_screen_set_property (GObject        *object,
-                                    guint           prop_id,
-                                    const GValue   *value,
-                                    GParamSpec     *pspec);
-static void gdk_screen_get_property (GObject        *object,
-                                    guint           prop_id,
-                                    GValue         *value,
-                                    GParamSpec     *pspec);
-
-enum
-{
-  PROP_0,
-  PROP_RESOLUTION
-};
-
 enum
 {
   SIZE_CHANGED,
@@ -75,20 +60,6 @@ gdk_screen_class_init (GdkScreenClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  object_class->set_property = gdk_screen_set_property;
-  object_class->get_property = gdk_screen_get_property;
-
-  g_object_class_install_property (object_class,
-                                  PROP_RESOLUTION,
-                                  g_param_spec_double ("resolution",
-                                                       P_("Font resolution"),
-                                                       P_("The resolution for fonts on the screen"),
-                                                       -1.0,
-                                                       10000.0,
-                                                       -1.0,
-                                                       G_PARAM_READWRITE|G_PARAM_STATIC_NAME|
-                                                       G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB));
-
   /**
    * GdkScreen::monitors-changed:
    * @screen: the object on which the signal is emitted
@@ -115,7 +86,6 @@ gdk_screen_class_init (GdkScreenClass *klass)
 static void
 gdk_screen_init (GdkScreen *screen)
 {
-  screen->resolution = -1.;
 }
 
 void 
@@ -130,119 +100,6 @@ _gdk_screen_close (GdkScreen *screen)
     }
 }
 
-/**
- * gdk_screen_set_resolution:
- * @screen: a #GdkScreen
- * @dpi: the resolution in “dots per inch”. (Physical inches aren’t actually
- *   involved; the terminology is conventional.)
- * Sets the resolution for font handling on the screen. This is a
- * scale factor between points specified in a #PangoFontDescription
- * and cairo units. The default value is 96, meaning that a 10 point
- * font will be 13 units high. (10 * 96. / 72. = 13.3).
- *
- * Since: 2.10
- **/
-void
-gdk_screen_set_resolution (GdkScreen *screen,
-                          gdouble    dpi)
-{
-  g_return_if_fail (GDK_IS_SCREEN (screen));
-
-  if (dpi < 0)
-    dpi = -1.0;
-
-  screen->resolution_set = TRUE;
-
-  if (screen->resolution != dpi)
-    {
-      screen->resolution = dpi;
-
-      g_object_notify (G_OBJECT (screen), "resolution");
-    }
-}
-
-/* Just like gdk_screen_set_resolution(), but doesn't change
- * screen->resolution. This is us to allow us to distinguish
- * resolution changes that the backend picks up from resolution
- * changes made through the public API - perhaps using
- * g_object_set(<GtkSetting>, "gtk-xft-dpi", ...);
- */
-void
-_gdk_screen_set_resolution (GdkScreen *screen,
-                            gdouble    dpi)
-{
-  g_return_if_fail (GDK_IS_SCREEN (screen));
-
-  if (dpi < 0)
-    dpi = -1.0;
-
-  if (screen->resolution != dpi)
-    {
-      screen->resolution = dpi;
-
-      g_object_notify (G_OBJECT (screen), "resolution");
-    }
-}
-
-/**
- * gdk_screen_get_resolution:
- * @screen: a #GdkScreen
- * 
- * Gets the resolution for font handling on the screen; see
- * gdk_screen_set_resolution() for full details.
- * 
- * Returns: the current resolution, or -1 if no resolution
- * has been set.
- *
- * Since: 2.10
- **/
-gdouble
-gdk_screen_get_resolution (GdkScreen *screen)
-{
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), -1.0);
-
-  return screen->resolution;
-}
-
-static void
-gdk_screen_get_property (GObject      *object,
-                        guint         prop_id,
-                        GValue       *value,
-                        GParamSpec   *pspec)
-{
-  GdkScreen *screen = GDK_SCREEN (object);
-
-  switch (prop_id)
-    {
-    case PROP_RESOLUTION:
-      g_value_set_double (value, gdk_screen_get_resolution (screen));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-gdk_screen_set_property (GObject      *object,
-                        guint         prop_id,
-                        const GValue *value,
-                        GParamSpec   *pspec)
-{
-  GdkScreen *screen = GDK_SCREEN (object);
-
-  switch (prop_id)
-    {
-    case PROP_RESOLUTION:
-      gdk_screen_set_resolution (screen, g_value_get_double (value));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
 /**
  * gdk_screen_get_display:
  * @screen: a #GdkScreen
index e4592eaac24ee459a5591703b00c18006017f57c..6c77d48fdcb36307454dc4f4414101e7896c4edc 100644 (file)
@@ -50,12 +50,6 @@ GList *      gdk_screen_get_toplevel_windows  (GdkScreen   *screen);
 GDK_AVAILABLE_IN_ALL
 GdkScreen *gdk_screen_get_default (void);
 
-GDK_AVAILABLE_IN_ALL
-void    gdk_screen_set_resolution (GdkScreen *screen,
-                                   gdouble    dpi);
-GDK_AVAILABLE_IN_ALL
-gdouble gdk_screen_get_resolution (GdkScreen *screen);
-
 G_END_DECLS
 
 #endif  /* __GDK_SCREEN_H__ */
index 9f63c411c372913396b0bedd45729cfb25262221..04b7a3ea07e57cc6e3983a59858df8a82a0c97af 100644 (file)
@@ -33,8 +33,6 @@ struct _GdkScreen
 {
   GObject parent_instance;
 
-  gdouble resolution; /* pixels/points scale factor for fonts */
-  guint resolution_set : 1; /* resolution set through public API */
   guint closed : 1;
 };
 
index 4666c6f74cd546a70c715fa1fe8f91bc22338d02..3c468522a2f4922f0b74765669dca98a13ef4530 100644 (file)
@@ -267,12 +267,7 @@ update_xft_settings (GdkScreen *screen)
 
   if (screen_wayland->xft_settings.dpi != xft_settings.dpi)
     {
-      double dpi = xft_settings.dpi / 1024.;
-
       screen_wayland->xft_settings.dpi = xft_settings.dpi;
-
-      _gdk_screen_set_resolution (screen, dpi);
-
       notify_setting (screen, "gtk-xft-dpi");
     }
 }
index f73e7e494353cb21e7d73ee197e754cc563f96bf..8bb67b50c36089301be43e1ab837cf522a860dea 100644 (file)
@@ -398,7 +398,6 @@ static void
 read_settings (GdkX11Screen *x11_screen,
                gboolean      do_notify)
 {
-  GdkScreen *screen = GDK_SCREEN (x11_screen);
   GdkDisplay *display = x11_screen->display;
 
   Atom type;