added double click (start song)
This commit is contained in:
1 parent
07cf939278
commit
1b9e8fbe85
2 files changed
+62
-6
No files matched your search
@@ -68,6 +68,7 @@ namespace Vocaluxe.Base
|
|||||||
public int X;
|
public int X;
|
||||||
public int Y;
|
public int Y;
|
||||||
public bool LB; //left button click
|
public bool LB; //left button click
|
||||||
|
public bool LD; //left button double click
|
||||||
public bool RB; //right button click
|
public bool RB; //right button click
|
||||||
public bool MB; //middle button click
|
public bool MB; //middle button click
|
||||||
|
|
||||||
@@ -82,11 +83,12 @@ namespace Vocaluxe.Base
|
|||||||
public Modifier Mod;
|
public Modifier Mod;
|
||||||
public int Wheel;
|
public int Wheel;
|
||||||
|
|
||||||
public MouseEvent(bool alt, bool shift, bool ctrl, int x, int y, bool lb, bool rb, int wheel, bool lbh, bool rbh, bool mb, bool mbh)
|
public MouseEvent(bool alt, bool shift, bool ctrl, int x, int y, bool lb, bool ld, bool rb, int wheel, bool lbh, bool rbh, bool mb, bool mbh)
|
||||||
{
|
{
|
||||||
X = x;
|
X = x;
|
||||||
Y = y;
|
Y = y;
|
||||||
LB = lb;
|
LB = lb;
|
||||||
|
LD = ld;
|
||||||
RB = rb;
|
RB = rb;
|
||||||
MB = mb;
|
MB = mb;
|
||||||
|
|
||||||
@@ -327,6 +329,8 @@ namespace Vocaluxe.Base
|
|||||||
private bool _ModCTRL;
|
private bool _ModCTRL;
|
||||||
private bool _ModSHIFT;
|
private bool _ModSHIFT;
|
||||||
|
|
||||||
|
private System.Diagnostics.Stopwatch _timer;
|
||||||
|
|
||||||
public int X
|
public int X
|
||||||
{
|
{
|
||||||
get { return _x; }
|
get { return _x; }
|
||||||
@@ -347,13 +351,16 @@ namespace Vocaluxe.Base
|
|||||||
|
|
||||||
_EventsPool = new List<MouseEvent>();
|
_EventsPool = new List<MouseEvent>();
|
||||||
_CurrentPool = new List<MouseEvent>();
|
_CurrentPool = new List<MouseEvent>();
|
||||||
|
|
||||||
|
_timer = new System.Diagnostics.Stopwatch();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Add(bool alt, bool shift, bool ctrl, int x, int y, bool lb, bool rb, int wheel, bool lbh, bool rbh, bool mb, bool mbh)
|
private void Add(bool alt, bool shift, bool ctrl, int x, int y, bool lb, bool ld, bool rb, int wheel, bool lbh, bool rbh, bool mb, bool mbh)
|
||||||
{
|
{
|
||||||
x = (int)((float)x * (float)CSettings.iRenderW / (float)CDraw.GetScreenWidth());
|
x = (int)((float)x * (float)CSettings.iRenderW / (float)CDraw.GetScreenWidth());
|
||||||
y = (int)((float)y * (float)CSettings.iRenderH / (float)CDraw.GetScreenHeight());
|
y = (int)((float)y * (float)CSettings.iRenderH / (float)CDraw.GetScreenHeight());
|
||||||
MouseEvent pool = new MouseEvent(alt, shift, ctrl, x, y, lb, rb, -wheel/120, lbh, rbh, mb, mbh);
|
|
||||||
|
MouseEvent pool = new MouseEvent(alt, shift, ctrl, x, y, lb, ld, rb, -wheel / 120, lbh, rbh, mb, mbh);
|
||||||
|
|
||||||
lock (_CopyLock)
|
lock (_CopyLock)
|
||||||
{
|
{
|
||||||
@@ -380,21 +387,42 @@ namespace Vocaluxe.Base
|
|||||||
public void MouseMove(MouseEventArgs e)
|
public void MouseMove(MouseEventArgs e)
|
||||||
{
|
{
|
||||||
CheckModifiers();
|
CheckModifiers();
|
||||||
Add(_ModALT, _ModSHIFT, _ModCTRL, e.X, e.Y, false, false, e.Delta, e.Button == MouseButtons.Left, e.Button == MouseButtons.Right,
|
Add(_ModALT, _ModSHIFT, _ModCTRL, e.X, e.Y, false, false, false, e.Delta, e.Button == MouseButtons.Left, e.Button == MouseButtons.Right,
|
||||||
false, e.Button == MouseButtons.Middle);
|
false, e.Button == MouseButtons.Middle);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void MouseWheel(MouseEventArgs e)
|
public void MouseWheel(MouseEventArgs e)
|
||||||
{
|
{
|
||||||
CheckModifiers();
|
CheckModifiers();
|
||||||
Add(_ModALT, _ModSHIFT, _ModCTRL, e.X, e.Y, false, false, e.Delta, e.Button == MouseButtons.Left, e.Button == MouseButtons.Right,
|
Add(_ModALT, _ModSHIFT, _ModCTRL, e.X, e.Y, false, false, false, e.Delta, e.Button == MouseButtons.Left, e.Button == MouseButtons.Right,
|
||||||
false, e.Button == MouseButtons.Middle);
|
false, e.Button == MouseButtons.Middle);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void MouseDown(MouseEventArgs e)
|
public void MouseDown(MouseEventArgs e)
|
||||||
{
|
{
|
||||||
CheckModifiers();
|
CheckModifiers();
|
||||||
Add(_ModALT, _ModSHIFT, _ModCTRL, e.X, e.Y, e.Button == MouseButtons.Left, e.Button == MouseButtons.Right, e.Delta, false, false,
|
|
||||||
|
bool lb = e.Button == MouseButtons.Left;
|
||||||
|
bool ld = false;
|
||||||
|
if (lb)
|
||||||
|
{
|
||||||
|
if (_timer.IsRunning && _timer.ElapsedMilliseconds < 450)
|
||||||
|
{
|
||||||
|
ld = true;
|
||||||
|
_timer.Reset();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_timer.Reset();
|
||||||
|
_timer.Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_timer.Reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
Add(_ModALT, _ModSHIFT, _ModCTRL, e.X, e.Y, lb, ld, e.Button == MouseButtons.Right, e.Delta, false, false,
|
||||||
e.Button == MouseButtons.Middle, false);
|
e.Button == MouseButtons.Middle, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -380,6 +380,15 @@ namespace Vocaluxe.Screens
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (MouseEvent.LD)
|
||||||
|
{
|
||||||
|
if (CSongs.NumVisibleSongs > 0 && SongMenus[htSongMenus(SongMenu)].GetActualSelection() != -1)
|
||||||
|
{
|
||||||
|
StartVisibleSong(SongMenus[htSongMenus(SongMenu)].GetActualSelection());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SongMenus[htSongMenus(SongMenu)].HandleMouse(ref MouseEvent);
|
SongMenus[htSongMenus(SongMenu)].HandleMouse(ref MouseEvent);
|
||||||
|
|
||||||
if (MouseEvent.LB)
|
if (MouseEvent.LB)
|
||||||
@@ -592,6 +601,25 @@ namespace Vocaluxe.Screens
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void StartVisibleSong(int SongNr)
|
||||||
|
{
|
||||||
|
if (CSongs.Category >= 0 && SongNr >= 0 && CSongs.NumVisibleSongs > SongNr)
|
||||||
|
{
|
||||||
|
EGameMode gm;
|
||||||
|
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||||
|
gm = GameModes.EGameMode.TR_GAMEMODE_DUET;
|
||||||
|
else
|
||||||
|
gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL;
|
||||||
|
|
||||||
|
CGame.Reset();
|
||||||
|
CGame.ClearSongs();
|
||||||
|
|
||||||
|
CGame.AddVisibleSong(SongNr, gm);
|
||||||
|
|
||||||
|
CGraphics.FadeTo(EScreens.ScreenNames);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void StartMedleySong(int SongNr)
|
private void StartMedleySong(int SongNr)
|
||||||
{
|
{
|
||||||
if ((CSongs.Category >= 0) && (SongNr >= 0))
|
if ((CSongs.Category >= 0) && (SongNr >= 0))
|
||||||
|
|||||||
Reference in new issue
Block a user