Day 32 done.
This commit is contained in:
@@ -63,7 +63,7 @@ $(EXE): sdl_handmade.c libhandmade
|
|||||||
$(FRAMEWORKS) -o $@
|
$(FRAMEWORKS) -o $@
|
||||||
|
|
||||||
run:
|
run:
|
||||||
./$(EXE)
|
@ ./$(EXE)
|
||||||
|
|
||||||
tags: $(OBJS)
|
tags: $(OBJS)
|
||||||
ctags -R *.h *.c
|
ctags -R *.h *.c
|
||||||
|
|||||||
+24
-6
@@ -254,6 +254,13 @@ static void SDLProcessInputDigitalButton(SDL_GameController *Controller,
|
|||||||
|
|
||||||
static void HandleEvent(SDL_Event *Event)
|
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) {
|
switch(Event->type) {
|
||||||
case SDL_QUIT: {
|
case SDL_QUIT: {
|
||||||
GlobalRunning = FALSE;
|
GlobalRunning = FALSE;
|
||||||
@@ -262,13 +269,8 @@ static void HandleEvent(SDL_Event *Event)
|
|||||||
case SDL_WINDOWEVENT: {
|
case SDL_WINDOWEVENT: {
|
||||||
switch(Event->window.event) {
|
switch(Event->window.event) {
|
||||||
case SDL_WINDOWEVENT_SIZE_CHANGED: {
|
case SDL_WINDOWEVENT_SIZE_CHANGED: {
|
||||||
SDL_Window *Window;
|
|
||||||
SDL_Renderer *Renderer;
|
|
||||||
sdl_window_dimension Dimension;
|
sdl_window_dimension Dimension;
|
||||||
|
|
||||||
Window = SDL_GetWindowFromID(Event->window.windowID);
|
|
||||||
Renderer = SDL_GetRenderer(Window);
|
|
||||||
|
|
||||||
Dimension = SDLGetWindowDimension(Window);
|
Dimension = SDLGetWindowDimension(Window);
|
||||||
SDLResizeTexture(&GlobalBackbuffer, Renderer,
|
SDLResizeTexture(&GlobalBackbuffer, Renderer,
|
||||||
Dimension.Width, Dimension.Height);
|
Dimension.Width, Dimension.Height);
|
||||||
@@ -276,6 +278,18 @@ static void HandleEvent(SDL_Event *Event)
|
|||||||
|
|
||||||
case SDL_WINDOWEVENT_EXPOSED: {
|
case SDL_WINDOWEVENT_EXPOSED: {
|
||||||
} break;
|
} 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;
|
} break;
|
||||||
}
|
}
|
||||||
@@ -611,9 +625,13 @@ S32 main(S32 argc, char *argv[])
|
|||||||
|
|
||||||
SDLInitControllers();
|
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,
|
Window = SDL_CreateWindow("Handmade Hero", SDL_WINDOWPOS_UNDEFINED,
|
||||||
SDL_WINDOWPOS_UNDEFINED, 700, 500,
|
SDL_WINDOWPOS_UNDEFINED, 700, 500,
|
||||||
SDL_WINDOW_RESIZABLE);
|
SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALWAYS_ON_TOP);
|
||||||
|
|
||||||
if(Window) {
|
if(Window) {
|
||||||
SDL_Renderer *Renderer;
|
SDL_Renderer *Renderer;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user