Commit c862d81d authored by Victor Kareh's avatar Victor Kareh Committed by Martin Wimpress

Add HiDPI support for lock screen (#148)

* Password dialog is now scaled
* Background of lock screen is now scaled
parent 64d47ad9
...@@ -980,6 +980,30 @@ set_face_image (GSLockPlug *plug) ...@@ -980,6 +980,30 @@ set_face_image (GSLockPlug *plug)
return TRUE; return TRUE;
} }
static void
gs_lock_plug_get_preferred_width (GtkWidget *widget, gint *minimum_width, gint *natural_width)
{
gint scale;
GTK_WIDGET_CLASS (gs_lock_plug_parent_class)->get_preferred_width (widget, minimum_width, natural_width);
scale = gtk_widget_get_scale_factor (widget);
*minimum_width /= scale;
*natural_width /= scale;
}
static void
gs_lock_plug_get_preferred_height_for_width (GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height)
{
gint scale;
GTK_WIDGET_CLASS (gs_lock_plug_parent_class)->get_preferred_height_for_width (widget, width, minimum_height, natural_height);
scale = gtk_widget_get_scale_factor (widget);
*minimum_height /= scale;
*natural_height /= scale;
}
static void static void
gs_lock_plug_show (GtkWidget *widget) gs_lock_plug_show (GtkWidget *widget)
{ {
...@@ -1251,9 +1275,11 @@ gs_lock_plug_class_init (GSLockPlugClass *klass) ...@@ -1251,9 +1275,11 @@ gs_lock_plug_class_init (GSLockPlugClass *klass)
object_class->get_property = gs_lock_plug_get_property; object_class->get_property = gs_lock_plug_get_property;
object_class->set_property = gs_lock_plug_set_property; object_class->set_property = gs_lock_plug_set_property;
widget_class->style_set = gs_lock_plug_style_set; widget_class->style_set = gs_lock_plug_style_set;
widget_class->show = gs_lock_plug_show; widget_class->show = gs_lock_plug_show;
widget_class->hide = gs_lock_plug_hide; widget_class->hide = gs_lock_plug_hide;
widget_class->get_preferred_width = gs_lock_plug_get_preferred_width;
widget_class->get_preferred_height_for_width = gs_lock_plug_get_preferred_height_for_width;
klass->close = gs_lock_plug_close; klass->close = gs_lock_plug_close;
......
...@@ -1309,6 +1309,7 @@ apply_background_to_window (GSManager *manager, ...@@ -1309,6 +1309,7 @@ apply_background_to_window (GSManager *manager,
GdkScreen *screen; GdkScreen *screen;
int width; int width;
int height; int height;
gint scale;
mate_bg_load_from_preferences (manager->priv->bg); mate_bg_load_from_preferences (manager->priv->bg);
...@@ -1320,8 +1321,9 @@ apply_background_to_window (GSManager *manager, ...@@ -1320,8 +1321,9 @@ apply_background_to_window (GSManager *manager,
display = gs_window_get_display (window); display = gs_window_get_display (window);
screen = gdk_display_get_default_screen (display); screen = gdk_display_get_default_screen (display);
width = WidthOfScreen (gdk_x11_screen_get_xscreen (screen)); scale = gdk_window_get_scale_factor (gdk_screen_get_root_window (screen));
height = HeightOfScreen (gdk_x11_screen_get_xscreen (screen)); width = WidthOfScreen (gdk_x11_screen_get_xscreen (screen)) / scale;
height = HeightOfScreen (gdk_x11_screen_get_xscreen (screen)) / scale;
gs_debug ("Creating background w:%d h:%d", width, height); gs_debug ("Creating background w:%d h:%d", width, height);
surface = mate_bg_create_surface (manager->priv->bg, surface = mate_bg_create_surface (manager->priv->bg,
gs_window_get_gdk_window (window), gs_window_get_gdk_window (window),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment