aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rwxr-xr-xsrc/main.c9
-rwxr-xr-xsrc/objects.c5
3 files changed, 14 insertions, 2 deletions
diff --git a/README.md b/README.md
index 5f7e640..770e9bc 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ Then use something like qpwgraph to to force change the input of ``audio_reactiv
## Todo
-- [ ] resizeable
+- [x] resizeable
- [ ] arguments
- [ ] settable average peak
- [ ] settable RGB
diff --git a/src/main.c b/src/main.c
index e863001..4a76f1f 100755
--- a/src/main.c
+++ b/src/main.c
@@ -1,5 +1,6 @@
#include <SDL2/SDL_render.h>
#include <SDL2/SDL_timer.h>
+#include <SDL2/SDL_video.h>
#include <stdio.h>
#include <stdbool.h>
#include <time.h>
@@ -24,7 +25,7 @@ int main(int argc, char *argv[])
int startw=600;
int starth=600;
- SDL_Window *window = SDL_CreateWindow(PROJECT_NAME, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, startw, starth, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL);
+ SDL_Window *window = SDL_CreateWindow(PROJECT_NAME, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, startw, starth, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE);
if (!window) {
printf("Failed to create window: %s\n", SDL_GetError());
}
@@ -91,6 +92,12 @@ int main(int argc, char *argv[])
e.window.event == SDL_WINDOWEVENT_FOCUS_GAINED) {
window_visible = true;
+ } else if(SDL_WINDOWEVENT_RESIZED){
+ SDL_GetRendererOutputSize(renderer, &stuff.width, &stuff.height);
+ SDL_DestroyRenderer(renderer);
+ renderer = SDL_CreateRenderer(window,-1,SDL_RENDERER_SOFTWARE);
+ stuff.renderer=renderer;
+ window_resized(&stuff);
}
}
stuff.mx=e.button.x;
diff --git a/src/objects.c b/src/objects.c
index 7cdfb4c..f48e9ee 100755
--- a/src/objects.c
+++ b/src/objects.c
@@ -158,3 +158,8 @@ void draw(STUFFS *stuff){
frame_i1++;
SDL_RenderPresent(stuff->renderer);
}
+
+void window_resized(STUFFS *stuff){
+ stuff->obj.attractor.pos.x=(float)stuff->width/2;
+ stuff->obj.attractor.pos.y=(float)stuff->height/2;
+}