Guys big update!
My program is wrong. I still don’t know what is wrong, but the test program works as intended. The resize events didn’t work, so I went to check, and then I also tested the minimum size function, and it all works fine. Should have done this first. Sorry!
#include "SDL.h"
void PrintWinEvent(const SDL_Event * event)
{
if (event->type == SDL_WINDOWEVENT) {
switch (event->window.event) {
case SDL_WINDOWEVENT_SHOWN:
SDL_Log("Window %d shown", event->window.windowID);
break;
case SDL_WINDOWEVENT_HIDDEN:
SDL_Log("Window %d hidden", event->window.windowID);
break;
case SDL_WINDOWEVENT_EXPOSED:
SDL_Log("Window %d exposed", event->window.windowID);
break;
case SDL_WINDOWEVENT_MOVED:
SDL_Log("Window %d moved to %d,%d",
event->window.windowID, event->window.data1,
event->window.data2);
break;
case SDL_WINDOWEVENT_RESIZED:
SDL_Log("Window %d resized to %dx%d",
event->window.windowID, event->window.data1,
event->window.data2);
break;
case SDL_WINDOWEVENT_SIZE_CHANGED:
SDL_Log("Window %d size changed to %dx%d",
event->window.windowID, event->window.data1,
event->window.data2);
break;
case SDL_WINDOWEVENT_MINIMIZED:
SDL_Log("Window %d minimized", event->window.windowID);
break;
case SDL_WINDOWEVENT_MAXIMIZED:
SDL_Log("Window %d maximized", event->window.windowID);
break;
case SDL_WINDOWEVENT_RESTORED:
SDL_Log("Window %d restored", event->window.windowID);
break;
case SDL_WINDOWEVENT_ENTER:
SDL_Log("Mouse entered window %d",
event->window.windowID);
break;
case SDL_WINDOWEVENT_LEAVE:
SDL_Log("Mouse left window %d", event->window.windowID);
break;
case SDL_WINDOWEVENT_FOCUS_GAINED:
SDL_Log("Window %d gained keyboard focus",
event->window.windowID);
break;
case SDL_WINDOWEVENT_FOCUS_LOST:
SDL_Log("Window %d lost keyboard focus",
event->window.windowID);
break;
case SDL_WINDOWEVENT_CLOSE:
SDL_Log("Window %d closed", event->window.windowID);
break;
#if SDL_VERSION_ATLEAST(2, 0, 5)
case SDL_WINDOWEVENT_TAKE_FOCUS:
SDL_Log("Window %d is offered a focus", event->window.windowID);
break;
case SDL_WINDOWEVENT_HIT_TEST:
SDL_Log("Window %d has a special hit test", event->window.windowID);
break;
#endif
default:
SDL_Log("Window %d got unknown event %d",
event->window.windowID, event->window.event);
break;
}
}
}
int main()
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window * win = SDL_CreateWindow("title", 10, 10, 640, 480, SDL_WINDOW_RESIZABLE);
SDL_Renderer * screen = SDL_CreateRenderer(win, -1, 0);
SDL_SetWindowMinimumSize(win, 100, 100);
SDL_Rect box = {0,0,32, 32};
int run = 1;
while(run)
{
SDL_Event ev;
while(SDL_PollEvent(&ev))
{
switch(ev.type)
{
case SDL_MOUSEBUTTONDOWN:
printf("mouse\n");
break;
case SDL_QUIT:
printf("quit\n");
run = 0;
break;
}
PrintWinEvent(&ev);
}
SDL_SetRenderDrawColor(screen, 50, 10, 10, 255);
SDL_RenderClear(screen);
SDL_SetRenderDrawColor(screen, 10, 200, 10, 255);
SDL_RenderFillRect(screen, &box);
SDL_RenderPresent(screen);
}
SDL_Quit();
}
I stole GuildedDougnout’s minimal exampel code