shadow_screen: allow sub-rectangle to span multiple monitors

When we share a sub-rectangle of our desktop, allow it to span over
multiple monitors. Previously it was possible to export an area larger
than one display, however the contents were always cropped to
the boundaries of the selected monitor and the rest was visible for
the client only as a black area .
This commit is contained in:
Jakub Adam 2015-05-25 13:44:51 +02:00
parent 36cb1e6dc9
commit dea741fca9

View File

@ -28,7 +28,6 @@ rdpShadowScreen* shadow_screen_new(rdpShadowServer* server)
{
int x, y;
int width, height;
MONITOR_DEF* primary;
rdpShadowScreen* screen;
rdpShadowSubsystem* subsystem;
@ -45,12 +44,21 @@ rdpShadowScreen* shadow_screen_new(rdpShadowServer* server)
region16_init(&(screen->invalidRegion));
primary = &(subsystem->monitors[subsystem->selectedMonitor]);
if (server->shareSubRect) {
x = server->subRect.left;
y = server->subRect.top;
width = server->subRect.right - server->subRect.left;
height = server->subRect.bottom - server->subRect.top;
} else {
MONITOR_DEF* primary;
x = primary->left;
y = primary->top;
width = primary->right - primary->left;
height = primary->bottom - primary->top;
primary = &(subsystem->monitors[subsystem->selectedMonitor]);
x = primary->left;
y = primary->top;
width = primary->right - primary->left;
height = primary->bottom - primary->top;
}
screen->width = width;
screen->height = height;