[MWF] Implement multi-display support on Linux (Fixes #325669)
authorEberhard Beilharz <eb1@sil.org>
Fri, 16 May 2014 14:21:51 +0000 (16:21 +0200)
committerEberhard Beilharz <eb1@sil.org>
Fri, 16 May 2014 14:21:51 +0000 (16:21 +0200)
commite1b7ecdb7b9d58b3aac97e739cd30d561ffa2ff1
tree8558fa2c4e832cd12e1169e904e5a7972128f48f
parent3d23503a90595160703ed3593dac763000b18745
[MWF] Implement multi-display support on Linux (Fixes #325669)

The number of displays and sizes can be retrieved with the help of
libXinerama. The implementation was done in a way that is backwards
compatible, so on non-Linux systems or when libXinerama is not
available the behavior will be the same as before.

Also fixed the implementation of FormStartPosition.CenterScreen to
bring up the form centered on the current display (with the current
display being either the screen the top left corner of the owner
form is on, or if there is no owner the screen that has the mouse
pointer). This fixes Novell bug #325669 on Linux
(https://bugzilla.novell.com/show_bug.cgi?id=325669).
configure.in
data/config.in
mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/Screen.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/SystemInformation.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/X11Structs.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUICarbon.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIDriver.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIWin32.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs