mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-11-04 02:06:03 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
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;
 | 
						|
    }
 |