Day 32 done.
This commit is contained in:
+24
-6
@@ -254,6 +254,13 @@ static void SDLProcessInputDigitalButton(SDL_GameController *Controller,
|
||||
|
||||
static void HandleEvent(SDL_Event *Event)
|
||||
{
|
||||
/* TODO: Should this be below scopes? */
|
||||
SDL_Window *Window;
|
||||
SDL_Renderer *Renderer;
|
||||
|
||||
Window = SDL_GetWindowFromID(Event->window.windowID);
|
||||
Renderer = SDL_GetRenderer(Window);
|
||||
|
||||
switch(Event->type) {
|
||||
case SDL_QUIT: {
|
||||
GlobalRunning = FALSE;
|
||||
@@ -262,13 +269,8 @@ static void HandleEvent(SDL_Event *Event)
|
||||
case SDL_WINDOWEVENT: {
|
||||
switch(Event->window.event) {
|
||||
case SDL_WINDOWEVENT_SIZE_CHANGED: {
|
||||
SDL_Window *Window;
|
||||
SDL_Renderer *Renderer;
|
||||
sdl_window_dimension Dimension;
|
||||
|
||||
Window = SDL_GetWindowFromID(Event->window.windowID);
|
||||
Renderer = SDL_GetRenderer(Window);
|
||||
|
||||
Dimension = SDLGetWindowDimension(Window);
|
||||
SDLResizeTexture(&GlobalBackbuffer, Renderer,
|
||||
Dimension.Width, Dimension.Height);
|
||||
@@ -276,6 +278,18 @@ static void HandleEvent(SDL_Event *Event)
|
||||
|
||||
case SDL_WINDOWEVENT_EXPOSED: {
|
||||
} break;
|
||||
|
||||
case SDL_WINDOWEVENT_FOCUS_GAINED: {
|
||||
if(SDL_SetWindowOpacity(Window, 1.0f) != 0) {
|
||||
/* TODO: This didn't work . . . SDL_GetError() */
|
||||
}
|
||||
} break;
|
||||
|
||||
case SDL_WINDOWEVENT_FOCUS_LOST: {
|
||||
if(SDL_SetWindowOpacity(Window, 0.5f) != 0) {
|
||||
/* TODO: This didn't work . . . SDL_GetError() */
|
||||
}
|
||||
} break;
|
||||
}
|
||||
} break;
|
||||
}
|
||||
@@ -611,9 +625,13 @@ S32 main(S32 argc, char *argv[])
|
||||
|
||||
SDLInitControllers();
|
||||
|
||||
/* NOTE: Floating windows are not supported oficially by Wayland
|
||||
* protocol. However, SDL_WINDOW_ALWAYS_ON_TOP does work on KDE
|
||||
* under Wayland. I have not tested GNOME. */
|
||||
Window = SDL_CreateWindow("Handmade Hero", SDL_WINDOWPOS_UNDEFINED,
|
||||
SDL_WINDOWPOS_UNDEFINED, 700, 500,
|
||||
SDL_WINDOW_RESIZABLE);
|
||||
SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALWAYS_ON_TOP);
|
||||
|
||||
if(Window) {
|
||||
SDL_Renderer *Renderer;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user