diff --git a/Output/Languages/English.xml b/Output/Languages/English.xml index 128e9dd4..609598d0 100644 --- a/Output/Languages/English.xml +++ b/Output/Languages/English.xml @@ -207,6 +207,13 @@ Display current backgroundmusic video Webcams Webcamcapabilities + Screen adjustments + Press CTR + ALT + SHIFT + Arrows to adjust screen + CTR + ALT + SHIFT + 0 to reset + Top left + Top right + Bottom left + Bottom right Volume Server address diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml index d8fa4e2f..e7e928c0 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml @@ -1,7 +1,7 @@  - 3 + 4 Video @@ -81,7 +81,7 @@ Invisible - 500 + 550 460 0,00 320 @@ -353,6 +353,63 @@ 26 + + + Button + + Button + + 300 + 600 + 0,00 + 150 + 50 + + + ButtonColor + + + ButtonSColor + + + 75 + 12 + + 27 + + 142 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS + + + + + + 10 + 26 + + + + + + 10 + 26 + + Invisible diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsVideoAdjustments.xml b/Output/Themes/Ambient/Screens/ScreenOptionsVideoAdjustments.xml new file mode 100644 index 00000000..e9ffb2eb --- /dev/null +++ b/Output/Themes/Ambient/Screens/ScreenOptionsVideoAdjustments.xml @@ -0,0 +1,251 @@ + + + + 1 + + + Color + + + + BG_Options + + + 1,00 + 1,00 + 1,00 + 1,00 + + + + 0 + 0 + + 0,00 + + 27 + + + + StaticColor + + + TextSColor + + Left + + Top + + + + Outline + + TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT + + + + + + + 1280 + 0 + + 0,00 + + 27 + + + + StaticColor + + + TextSColor + + Right + + Top + + + + Outline + + TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT + + + + + + + 0 + 693 + + 0,00 + + 27 + + + + StaticColor + + + TextSColor + + Left + + Bottom + + + + Outline + + TR_SCREENOVIDEOADJUSTMENTS_BOTTOMLEFT + + + + + + + 1280 + 693 + + 0,00 + + 27 + + + + StaticColor + + + TextSColor + + Right + + Bottom + + + + Outline + + TR_SCREENOVIDEOADJUSTMENTS_BOTTOMRIGHT + + + + + + + 640 + 320 + + 0,00 + + 35 + + + + StaticColor + + + TextSColor + + Center + + Center + + + + Outline + + TR_SCREENOVIDEOADJUSTMENTS_NOTES + + + + + + + 640 + 360 + + 0,00 + + 35 + + + + StaticColor + + + TextSColor + + Center + + Center + + + + Outline + + TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET + + + + + + + Button + + Button + + 145 + 600 + 0,00 + 150 + 50 + + + ButtonColor + + + ButtonSColor + + + 75 + 12 + + 27 + + 142 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_BUTTON_BACK + + + + + + 10 + 26 + + + + + + 10 + 26 + + + + diff --git a/Output/Themes/Changelog/Changelog_ScreenOptionsVideo.txt b/Output/Themes/Changelog/Changelog_ScreenOptionsVideo.txt index 790413d4..dea01208 100644 --- a/Output/Themes/Changelog/Changelog_ScreenOptionsVideo.txt +++ b/Output/Themes/Changelog/Changelog_ScreenOptionsVideo.txt @@ -1,5 +1,11 @@ ScreenOptionsTheme +++++++++++ +Version 4: + +Add: + + ++++++++++ Version 3: diff --git a/Vocaluxe/Base/CGraphics.cs b/Vocaluxe/Base/CGraphics.cs index 43653756..99a43471 100644 --- a/Vocaluxe/Base/CGraphics.cs +++ b/Vocaluxe/Base/CGraphics.cs @@ -79,8 +79,9 @@ namespace Vocaluxe.Base _Screens.Add(new CScreenHighscore()); _Screens.Add(new CScreenOptionsGame()); _Screens.Add(new CScreenOptionsSound()); - _Screens.Add(new CScreenOptionsRecord()); + _Screens.Add(new CScreenOptionsRecord()); _Screens.Add(new CScreenOptionsVideo()); + _Screens.Add(new CScreenOptionsVideoAdjustments()); _Screens.Add(new CScreenOptionsLyrics()); _Screens.Add(new CScreenOptionsTheme()); _Screens.Add(new CScreenNames()); diff --git a/Vocaluxe/Screens/CScreenOptionsVideo.cs b/Vocaluxe/Screens/CScreenOptionsVideo.cs index 7a7b57c2..7194ed23 100644 --- a/Vocaluxe/Screens/CScreenOptionsVideo.cs +++ b/Vocaluxe/Screens/CScreenOptionsVideo.cs @@ -30,7 +30,7 @@ namespace Vocaluxe.Screens // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion { - get { return 3; } + get { return 4; } } private const string _SelectSlideVideoBackgrounds = "SelectSlideVideoBackgrounds"; @@ -42,6 +42,7 @@ namespace Vocaluxe.Screens private const string _StaticWebcamOutput = "StaticWebcamOutput"; + private const string _ButtonScreenAdjustments = "ButtonScreenAdjustments"; private const string _ButtonExit = "ButtonExit"; private SWebcamConfig _Config; @@ -54,7 +55,7 @@ namespace Vocaluxe.Screens base.Init(); _ThemeStatics = new string[] {_StaticWebcamOutput}; - _ThemeButtons = new string[] {_ButtonExit}; + _ThemeButtons = new string[] {_ButtonExit, _ButtonScreenAdjustments}; _ThemeSelectSlides = new string[] { _SelectSlideVideoBackgrounds, _SelectSlideVideoPreview, _SelectSlideVideosInSongs, _SelectSlideVideosToBackground, _SelectSlideWebcamDevices, @@ -98,6 +99,11 @@ namespace Vocaluxe.Screens _SaveConfig(); CGraphics.FadeTo(EScreens.ScreenOptions); } + else if (_Buttons[_ButtonScreenAdjustments].Selected) + { + _SaveConfig(); + CGraphics.FadeTo(EScreens.ScreenOptionsVideoAdjustments); + } break; case Keys.Left: @@ -139,6 +145,8 @@ namespace Vocaluxe.Screens _SaveConfig(); if (_Buttons[_ButtonExit].Selected) CGraphics.FadeTo(EScreens.ScreenOptions); + if(_Buttons[_ButtonScreenAdjustments].Selected) + CGraphics.FadeTo(EScreens.ScreenOptionsVideoAdjustments); } return true; } diff --git a/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs b/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs new file mode 100644 index 00000000..ff70fa43 --- /dev/null +++ b/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs @@ -0,0 +1,105 @@ +#region license +// This file is part of Vocaluxe. +// +// Vocaluxe is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Vocaluxe is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Vocaluxe. If not, see . +#endregion + +using System; +using System.Windows.Forms; +using Vocaluxe.Base; +using VocaluxeLib; +using VocaluxeLib.Menu; +using VocaluxeLib.Draw; + +namespace Vocaluxe.Screens +{ + class CScreenOptionsVideoAdjustments : CMenu + { + // Version number for theme files. Increment it, if you've changed something on the theme files! + protected override int _ScreenVersion + { + get { return 1; } + } + + private const string _ButtonExit = "ButtonExit"; + + public override void Init() + { + base.Init(); + + _ThemeButtons = new string[] { _ButtonExit }; + } + + public override bool HandleInput(SKeyEvent keyEvent) + { + base.HandleInput(keyEvent); + + if (keyEvent.KeyPressed) { } + else + { + switch (keyEvent.Key) + { + case Keys.Escape: + case Keys.Back: + _SaveConfig(); + CGraphics.FadeTo(EScreens.ScreenOptionsVideo); + break; + + case Keys.S: + CParty.SetNormalGameMode(); + CGraphics.FadeTo(EScreens.ScreenSong); + break; + + case Keys.Enter: + if (_Buttons[_ButtonExit].Selected) + { + _SaveConfig(); + CGraphics.FadeTo(EScreens.ScreenOptionsVideo); + } + break; + } + } + return true; + } + + public override bool HandleMouse(SMouseEvent mouseEvent) + { + base.HandleMouse(mouseEvent); + + if (mouseEvent.RB) + { + _SaveConfig(); + CGraphics.FadeTo(EScreens.ScreenOptionsVideo); + } + + if (mouseEvent.LB && _IsMouseOver(mouseEvent)) + { + _SaveConfig(); + if (_Buttons[_ButtonExit].Selected) + CGraphics.FadeTo(EScreens.ScreenOptionsVideo); + } + return true; + } + + public override bool UpdateGame() + { + return true; + } + + private void _SaveConfig() + { + CConfig.SaveConfig(); + } + } +} diff --git a/Vocaluxe/Vocaluxe.csproj b/Vocaluxe/Vocaluxe.csproj index ac4a56e8..7ad3cb12 100644 --- a/Vocaluxe/Vocaluxe.csproj +++ b/Vocaluxe/Vocaluxe.csproj @@ -253,6 +253,7 @@ + diff --git a/VocaluxeLib/Enums.cs b/VocaluxeLib/Enums.cs index 5c861865..8e68a52c 100644 --- a/VocaluxeLib/Enums.cs +++ b/VocaluxeLib/Enums.cs @@ -331,13 +331,14 @@ namespace VocaluxeLib ScreenOptionsSound = 10, ScreenOptionsRecord = 11, ScreenOptionsVideo = 12, - ScreenOptionsLyrics = 13, - ScreenOptionsTheme = 14, + ScreenOptionsVideoAdjustments = 13, + ScreenOptionsLyrics = 14, + ScreenOptionsTheme = 15, - ScreenNames = 15, - ScreenCredits = 16, - ScreenParty = 17, - ScreenPartyDummy = 18, + ScreenNames = 16, + ScreenCredits = 17, + ScreenParty = 18, + ScreenPartyDummy = 19, ScreenNull = -1 }