public void SetMouseState(LGuiMouseButtons Btn, int X, int Y, bool IsMouseBtnDown, bool IsMouseMove) { var Index = (int)Btn; MouseButton = Btn; if (!IsMouseMove) { MousePreState[Index] = MouseCurState[Index]; MouseCurState[Index] = IsMouseBtnDown; MouseClickPos[Index] = new LGuiVec2(X, Y); MousePreDeltaPos = MouseCurDeltaPos; MouseCurDeltaPos = LGuiVec2.Zero; } else { if (MouseCurState[Index]) { MousePreDeltaPos = MouseCurDeltaPos; MouseCurDeltaPos.X = X - MouseClickPos[Index].X; MouseCurDeltaPos.Y = Y - MouseClickPos[Index].Y; } MousePos.X = X; MousePos.Y = Y; } }
internal void Clear() { for (var Index = 0; Index < KeyCurState.Length; ++Index) { KeyCurState[Index] = false; KeyPreState[Index] = false; KeyPressedTime[Index] = 0; } KeyCode = LGuiKeys.None; for (var Index = 0; Index < MouseCurState.Length; ++Index) { MouseCurState[Index] = false; MousePreState[Index] = false; MousePressedTime[Index] = 0; MouseClickPos[Index] = LGuiVec2.Zero; } MouseCurDeltaPos = LGuiVec2.Zero; MousePreDeltaPos = LGuiVec2.Zero; MouseButton = LGuiMouseButtons.None; MousePos = LGuiVec2.Zero; MouseWheel = 0; }
public LGuiVec2 GetMouseClickPos(LGuiMouseButtons Btn) { return(MouseClickPos[(int)Btn]); }
public bool IsMousePressed(LGuiMouseButtons Btn) { var Index = (int)Btn; return(IsMouseClick(Btn) || (IsMouseDown(Btn) && MousePressedTime[Index] >= 0.5f)); }
public bool IsMouseClick(LGuiMouseButtons Btn) { var Index = (int)Btn; return(!MousePreState[Index] && MouseCurState[Index]); }
public bool IsMouseUp(LGuiMouseButtons Btn) { return(!MouseCurState[(int)Btn]); }
public bool IsMouseDown(LGuiMouseButtons Btn) { return(MouseCurState[(int)Btn]); }