mirror of
https://github.com/Ylianst/MeshCentralRouter
synced 2025-12-10 13:23:49 +00:00
Remote desktop split fixes.
This commit is contained in:
@@ -249,6 +249,7 @@ namespace MeshCentralRouter
|
|||||||
// Update extra displays if needed
|
// Update extra displays if needed
|
||||||
Rectangle r = new Rectangle((int)tile_x, (int)tile_y, newtile.Width, newtile.Height);
|
Rectangle r = new Rectangle((int)tile_x, (int)tile_y, newtile.Width, newtile.Height);
|
||||||
Rectangle rx = new Rectangle(r.X + displayOrigin.X, r.Y + displayOrigin.Y, r.Width, r.Height);
|
Rectangle rx = new Rectangle(r.X + displayOrigin.X, r.Y + displayOrigin.Y, r.Width, r.Height);
|
||||||
|
//Console.WriteLine(rx.ToString());
|
||||||
if (ScreenAreaUpdated != null) ScreenAreaUpdated(desktop, rx);
|
if (ScreenAreaUpdated != null) ScreenAreaUpdated(desktop, rx);
|
||||||
|
|
||||||
if (displayCrop == Rectangle.Empty)
|
if (displayCrop == Rectangle.Empty)
|
||||||
|
|||||||
@@ -90,7 +90,9 @@ namespace MeshCentralRouter
|
|||||||
private void KvmControl_ScreenAreaUpdated(Bitmap desktop, Rectangle r)
|
private void KvmControl_ScreenAreaUpdated(Bitmap desktop, Rectangle r)
|
||||||
{
|
{
|
||||||
if (extraDisplays == null) return;
|
if (extraDisplays == null) return;
|
||||||
foreach (KVMViewerExtra x in extraDisplays) { x.UpdateScreenArea(desktop, r); }
|
foreach (KVMViewerExtra x in extraDisplays) {
|
||||||
|
if (x != null) { x.UpdateScreenArea(desktop, r); }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Parent_ClipboardChanged()
|
private void Parent_ClipboardChanged()
|
||||||
|
|||||||
@@ -54,8 +54,17 @@ namespace MeshCentralRouter
|
|||||||
if (kvmControl.displayCrop.IntersectsWith(r) == false) return;
|
if (kvmControl.displayCrop.IntersectsWith(r) == false) return;
|
||||||
Rectangle r2 = new Rectangle(r.X, r.Y, r.Width, r.Height);
|
Rectangle r2 = new Rectangle(r.X, r.Y, r.Width, r.Height);
|
||||||
r2.Intersect(kvmControl.displayCrop);
|
r2.Intersect(kvmControl.displayCrop);
|
||||||
//kvmControl.Repaint(new Rectangle(r2.X - kvmControl.displayCrop.X, r2.Y - kvmControl.displayCrop.Y, r2.Width, r2.Height));
|
kvmControl.desktop = desktop;
|
||||||
kvmControl.Repaint(null);
|
if (kvmControl.ScaleFactor == 1)
|
||||||
|
{
|
||||||
|
Rectangle r3 = new Rectangle(r2.X - kvmControl.displayCrop.X, r2.Y - kvmControl.displayCrop.Y, r2.Width, r2.Height);
|
||||||
|
kvmControl.Repaint(r3);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Rectangle r3 = new Rectangle((int)(((double)(r2.X - kvmControl.displayCrop.X)) / kvmControl.ScaleFactor) - 2, (int)(((double)(r2.Y - kvmControl.displayCrop.Y)) / kvmControl.ScaleFactor) - 2, (int)(((double)r2.Width) / kvmControl.ScaleFactor) + 4, (int)(((double)r2.Height) / kvmControl.ScaleFactor) + 4);
|
||||||
|
kvmControl.Repaint(r3);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void KvmControl_DesktopSizeChanged(object sender, EventArgs e)
|
private void KvmControl_DesktopSizeChanged(object sender, EventArgs e)
|
||||||
|
|||||||
Reference in New Issue
Block a user