Hi all, I’ve been banging my head against this for a bit and I can’t figure it out. I’m using SDL 2.0.7, using the prebuilt binaries. I’m running Windows 10.
If I hide the cursor and it’s windowed or borderless, the cursor gets hidden just fine. In fullscreen, the cursor shows over the window.
Code looks something like this:
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, 0);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 0);
SDL_GL_SetAttribute(SDL_GL_FRAMEBUFFER_SRGB_CAPABLE, 1);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1);
Uint32 flags = SDL_WINDOW_OPENGL | SDL_WINDOW_HIDDEN | SDL_WINDOW_MOUSE_FOCUS | SDL_WINDOW_INPUT_FOCUS | SDL_WINDOW_FULLSCREEN; //substitute fullscreen to borderless, everything works.
auto out = new Window; //my internal window object...
out->window = SDL_CreateWindow(config.title, 0, 0, config.szX, config.szY, flags);
//... etc.
I set the display mode after this and then show the window. I have to hide the window before setting the display mode because if I don’t it seems there’s a bug and the drawable area doesn’t update properly. Taking out all the code messing with display modes doesn’t fix this SDL_ShowCursor issue though.
Anything I’m missing? I’m at a total loss.
Quick Edit: Looks like this is also happening in versions 2.0.6 and 2.0.5. Is there some restriction to when you’re supposed to call it in fullscreen or something?