test/relative_mode.markdown
author Sam Lantinga <slouken@libsdl.org>
Sat, 27 Jan 2018 12:05:26 -0800
changeset 11836 a42b155124a3
parent 9337 7e5940a2cda6
permissions -rw-r--r--
Fixed bug 4065 - SDL_wave.c fail to compile in armeabi with ndk r16b

Sylvain

armeabi is almost deprecated for android-ndk higher that r13b.
either it doesn't compile (ICE), or it executes wrongly (using long long for instance).

android people advices to use armeabi-v7a (or use r13b).
     1 Relative mode testing
     2 =====================
     3 
     4 See test program at the bottom of this file.
     5 
     6 Initial tests:
     7 
     8  - When in relative mode, the mouse shouldn't be moveable outside of the window.
     9  - When the cursor is outside the window when relative mode is enabled, mouse
    10    clicks should not go to whatever app was under the cursor previously.
    11  - When alt/cmd-tabbing between a relative mode app and another app, clicks when
    12    in the relative mode app should also not go to whatever app was under the
    13    cursor previously.
    14 
    15 
    16 Code
    17 ====
    18 
    19     #include <SDL.h>
    20 
    21     int PollEvents()
    22     {
    23         SDL_Event event;
    24         while (SDL_PollEvent(&event))
    25         {
    26             switch (event.type)
    27             {
    28                 case SDL_QUIT:
    29                     return 1;
    30                 default:
    31                     break;
    32             }
    33         }
    34 
    35         return 0;
    36     }
    37 
    38     int main(int argc, char *argv[])
    39     {
    40         SDL_Window *win;
    41 
    42         SDL_Init(SDL_INIT_VIDEO);
    43 
    44         win = SDL_CreateWindow("Test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, 0);
    45         SDL_SetRelativeMouseMode(SDL_TRUE);
    46 
    47         while (1)
    48         {
    49             if (PollEvents())
    50                 break;
    51         }
    52 
    53         SDL_DestroyWindow(win);
    54 
    55         SDL_Quit();
    56 
    57         return 0;
    58     }