test/relative_mode.markdown
author Ryan C. Gordon <icculus@icculus.org>
Fri, 12 Aug 2016 19:59:00 -0400
changeset 10266 c09f06c4e8c8
parent 9337 7e5940a2cda6
permissions -rw-r--r--
emscripten: send fake mouse events for touches, like other targets do. (This really should be handled at the higher level and not in the individual targets, but this fixes the immediate bug.)

Relative mode testing
=====================

See test program at the bottom of this file.

Initial tests:

 - When in relative mode, the mouse shouldn't be moveable outside of the window.
 - When the cursor is outside the window when relative mode is enabled, mouse
   clicks should not go to whatever app was under the cursor previously.
 - When alt/cmd-tabbing between a relative mode app and another app, clicks when
   in the relative mode app should also not go to whatever app was under the
   cursor previously.


Code
====

    #include <SDL.h>

    int PollEvents()
    {
        SDL_Event event;
        while (SDL_PollEvent(&event))
        {
            switch (event.type)
            {
                case SDL_QUIT:
                    return 1;
                default:
                    break;
            }
        }

        return 0;
    }

    int main(int argc, char *argv[])
    {
        SDL_Window *win;

        SDL_Init(SDL_INIT_VIDEO);

        win = SDL_CreateWindow("Test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, 0);
        SDL_SetRelativeMouseMode(SDL_TRUE);

        while (1)
        {
            if (PollEvents())
                break;
        }

        SDL_DestroyWindow(win);

        SDL_Quit();

        return 0;
    }