mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/virt-viewer
synced 2026-01-14 15:08:51 +00:00
virt-viewer-display: fix guest display size on HiDPI host
Signed-off-by: Haochen Tong <i@hexchain.org>
This commit is contained in:
parent
d8c329b024
commit
03f8a8ff5a
@ -363,6 +363,12 @@ virt_viewer_display_spice_set_desktop(VirtViewerDisplay *display,
|
||||
{
|
||||
VirtViewerDisplaySpicePrivate *priv;
|
||||
guint desktopWidth, desktopHeight;
|
||||
gint scale_factor = gtk_widget_get_scale_factor(GTK_WIDGET(display));
|
||||
|
||||
/* parameter width and height are guest monitor physical pixel sizes */
|
||||
/* convert to application pixel sizes */
|
||||
width /= scale_factor;
|
||||
height /= scale_factor;
|
||||
|
||||
g_return_if_fail(VIRT_VIEWER_IS_DISPLAY_SPICE(display));
|
||||
|
||||
|
||||
@ -721,6 +721,14 @@ void virt_viewer_display_get_preferred_monitor_geometry(VirtViewerDisplay* self,
|
||||
preferred->width = round(preferred->width * NORMAL_ZOOM_LEVEL / (double) zoom);
|
||||
preferred->height = round(preferred->height * NORMAL_ZOOM_LEVEL / (double) zoom);
|
||||
}
|
||||
|
||||
/* calculate device pixel size on HiDPI screens */
|
||||
gint scale_factor = gtk_widget_get_scale_factor(GTK_WIDGET(self));
|
||||
|
||||
preferred->x *= scale_factor;
|
||||
preferred->y *= scale_factor;
|
||||
preferred->width *= scale_factor;
|
||||
preferred->height *= scale_factor;
|
||||
}
|
||||
|
||||
gint
|
||||
|
||||
Loading…
Reference in New Issue
Block a user