Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
 public LGuiVec2 GetMouseClickPos(LGuiMouseButtons Btn)
 {
     return(MouseClickPos[(int)Btn]);
 }
Ejemplo n.º 4
0
        public bool IsMousePressed(LGuiMouseButtons Btn)
        {
            var Index = (int)Btn;

            return(IsMouseClick(Btn) || (IsMouseDown(Btn) && MousePressedTime[Index] >= 0.5f));
        }
Ejemplo n.º 5
0
        public bool IsMouseClick(LGuiMouseButtons Btn)
        {
            var Index = (int)Btn;

            return(!MousePreState[Index] && MouseCurState[Index]);
        }
Ejemplo n.º 6
0
 public bool IsMouseUp(LGuiMouseButtons Btn)
 {
     return(!MouseCurState[(int)Btn]);
 }
Ejemplo n.º 7
0
 public bool IsMouseDown(LGuiMouseButtons Btn)
 {
     return(MouseCurState[(int)Btn]);
 }