Beispiel #1
0
        unsafe void PointerMap(StateEvent *data, InputDevice device)
        {
            switch (device)
            {
            case Mouse mouse:
                MouseState *mouseState = (MouseState *)data->state;
                mouseState->position = Map(mouseState->position, inputRegion, outputRegion);
                break;

            case Touchscreen touch:
                // todo(kazuki): multi touch is not supported yet.
                TouchState *touchState = (TouchState *)data->state;
                touchState->position = Map(touchState->position, inputRegion, outputRegion);
                break;
            }
        }
Beispiel #2
0
        public unsafe static bool operator ==(MouseState left, MouseState right)
        {
            uint num = (uint)sizeof(MouseState);

            MouseState *ptr  = &right;
            MouseState *ptr2 = &left;
            int         num2;

            if (num != 0u)
            {
                sbyte b  = *(sbyte *)ptr2;
                sbyte b2 = *(sbyte *)ptr;
                if (b >= b2)
                {
                    while (b <= b2)
                    {
                        if (num == 1u)
                        {
                            goto IL_44;
                        }
                        num  -= 1u;
                        ptr2 += 1 / sizeof(MouseState);
                        ptr  += 1 / sizeof(MouseState);
                        b     = *(sbyte *)ptr2;
                        b2    = *(sbyte *)ptr;
                        if (b < b2)
                        {
                            break;
                        }
                    }
                }
                num2 = 0;
                goto IL_4C;
            }
IL_44:
            num2 = 1;
IL_4C:
            return((byte)num2 != 0);
        }