Add Inital Multi-Monitor Support

Initial support for multimonitor setups.
Support for up to 6 monitors with 1-6 players on screen 1 and 0-6
players on screen 2-6.
Currently the max amount of players is unchanged and participating
players are spread across all available screens.

Screens are extended horizontally. For fullscreen use with multiple
physical monitors one will have to use some kind of
surround-configuration. (AMD Eyefinity/nVidia Surround/etc.)
This commit is contained in:
Jiiniasu committed 2016-12-18 18:51:51 +01:00
1 parent e888197cdc
commit bf5205b080
22 files changed
+7786 -291

No files matched your search

+6 -2
View File
@@ -32,6 +32,7 @@ namespace VocaluxeLib.Menu
public SThemeColor Color;
public SRectF Rect;
public SReflection? Reflection;
public bool? AllMonitors;
}
public sealed class CStatic : CMenuElementBase, IMenuElement, IThemeable
@@ -66,6 +67,8 @@ namespace VocaluxeLib.Menu
public float ReflectionSpace;
public float ReflectionHeight;
public bool AllMonitors = true;
public float Alpha = 1;
public EAspect Aspect = EAspect.Stretch;
@@ -85,6 +88,7 @@ namespace VocaluxeLib.Menu
Reflection = s.Reflection;
ReflectionSpace = s.ReflectionHeight;
ReflectionHeight = s.ReflectionSpace;
AllMonitors = s.AllMonitors;
Alpha = s.Alpha;
Visible = s.Visible;
@@ -176,9 +180,9 @@ namespace VocaluxeLib.Menu
{
if (texture != null)
{
CBase.Drawing.DrawTexture(texture, rect, color, bounds);
CBase.Drawing.DrawTexture(texture, rect, color, bounds, false, AllMonitors);
if (Reflection)
CBase.Drawing.DrawTextureReflection(texture, rect, color, bounds, ReflectionSpace, ReflectionHeight);
CBase.Drawing.DrawTextureReflection(texture, rect, color, bounds, ReflectionSpace, ReflectionHeight, AllMonitors);
}
else
CBase.Drawing.DrawRect(color, rect);