Kaydet (Commit) 74f9d980 authored tarafından Caolán McNamara's avatar Caolán McNamara

Resolves: tdf#92671 union each monitor workarea to find best screen workarea

Change-Id: Ia77063f7008f960373861b8b59710abe9918865c
üst e82951a8
......@@ -2157,10 +2157,16 @@ void GtkSalFrame::GetWorkArea( Rectangle& rRect )
rRect = GetGtkSalData()->GetGtkDisplay()->getWMAdaptor()->getWorkArea( 0 );
#else
GdkScreen *pScreen = gtk_window_get_screen(GTK_WINDOW(m_pWindow));
gint nMonitor = gdk_screen_get_monitor_at_window(pScreen, widget_get_window(m_pWindow));
GdkRectangle aRect;
gdk_screen_get_monitor_workarea(pScreen, nMonitor, &aRect);
rRect = Rectangle(aRect.x, aRect.y, aRect.width, aRect.height);
Rectangle aRetRect;
int max = gdk_screen_get_n_monitors (pScreen);
for (int i = 0; i < max; ++i)
{
GdkRectangle aRect;
gdk_screen_get_monitor_workarea(pScreen, i, &aRect);
Rectangle aMonitorRect(aRect.x, aRect.y, aRect.x+aRect.width, aRect.y+aRect.height);
aRetRect.Union(aMonitorRect);
}
rRect = aRetRect;
#endif
}
......
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