From 691ae7fc44fa69c5cdf530b117b5b684f168b8ce Mon Sep 17 00:00:00 2001 From: Tristan Date: Sun, 23 Feb 2025 12:50:43 -0600 Subject: [PATCH] Red Square --- Makefile | 2 +- renderer | Bin 15960 -> 16600 bytes src/.main.c.swp | Bin 12288 -> 0 bytes src/main.c | 68 +++++++++++++++++++++++++++++++++++++++++++----- 4 files changed, 63 insertions(+), 7 deletions(-) delete mode 100644 src/.main.c.swp diff --git a/Makefile b/Makefile index 885f887..b7f6377 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ build: - gcc -Wall -std=c99 ./src/*.c -o renderer + gcc -Wall -std=c99 ./src/*.c -lSDL2 -o renderer run: ./renderer diff --git a/renderer b/renderer index f0b8b8e5aed633fcef65421e2c088df4242a334c..2f6af01ebc8f53c77ac4426dfd892357357f4791 100755 GIT binary patch literal 16600 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 b8imI^&beIHtwN@d{kbnFjcSj9hZO$=S}+In delta 2289 zcmZ`*eQZ-z6uCLNY=8&>0_HJnktL&bYx~Ct zWCCh1Faw-KK_w7l2#IL2jKo5WDSj?$3?%$fNHn6sV1jW&{s0nvp8MXt6PI|CcYpW% z&bjBld+s^+z5IS5zxQaRzh!+yc-onclp%!=bITWnTd(KqKiAY{Mpo<)INjeoxz zro=G2XYIX}=kg$*G;}rJQ&}MOgzrefXrA#_SMuvC1Ag7XYkn|5kSM{i^ za;qGeA1`l%cSE)CS?I|LTua2YP598BHUXJNL>5|-sT#Hu)cF~A;n9y*|*?>cuzGsm4!0(>Ng%cpvyPJ=q%+H&e z*Wg24kD|-Pl;~UJcunjnDcD$SwPDat(>GlvMEP0sv*kxg^M|%#1Ll*dgvq;DE>to( z3zwVggdE&#_IY168zirQypfiqkl9WWXq9Ct%QA(P8L5C#xvt*9W?7l>IvOx+JPC6! zC3pKhjK$+fQZ0XN+^sGzV)_S6Ho;}vCUGW=h4>g8_1PfryQ(}IFZAKTN5rDZE#Q|k zo`(oUy+yGXNELCwT#MV!i-jr4UK~(w^8sdxL;9?8l7)7Ezc}lG1OBFfK-`4iVcfx& z`k;*P%Zu}Q-9ZI9xan`S6yeT2xT~_temWv}9uaP7U?Yq!cMDI$v#svhZnSZV65*%E zE&Gsnz^PWZp!*VrK*Bi*m}+%T?4vr|X2k-(tEn&4Y-i!pvlJa3VD^p$_HQuzD9ao@ zE72a1m&8i4(Ec>?9#l_@lI0?fy>yp_*Kp(%F)JO=6!^BPcgvcUgV7$Ms{Ly=s(p(3 z%=(pseX7#C9!i65xD%{}Q=ys(dZk7ly-3w~Y$!cM)SbhLVVq0_HI*J3OQZ1O?qtFc zRF&#dNp;syA~q5yYIH3sV#5hFlZwZP8c$%S?ntHB+}%UN2_!ZQ_NaYpdg<)whCy{K z4*5_SoD5c5R9r4S{a0wK06Eb-y}8{Z2n{ga;dAmD;dqX~r4HH2ONk?v&chB_;^{q) z(7wVa@uJ|^0^`W?0^*p1i^%da<5&R?R!qP(vqS$(HFp-lTb+_U!p=4VQ=K9EIwq|{ zsSzr|694}56tD`=5td7McIgOHwlX*rZoyBV17^Y=iRUxNHh2*BITbu=+Blvk(9tE^ z`KKuhqg^38uQ9v>xORM!UD&HS}w>%7K}(tCG<&|9CXdP|Y^t`Bc}o-OpNp^0=DnaKEE)AAn$ zN|##0Yte%N7&t)#J=^xC$EaGFD!WrB^Amje()|+*fTLgl24DaNU;qYS00v+H2L5*g zc7KEpCCM{cqF1tZ@^xF4s(dEY};&+FI@2M&o9Ed8x<~b6j>e+=}DQ&yxl=1_J*1 g1~jR3tJ4c3z9D-mzDsCl{+Ch7-Ua((P{nTOJ0 #include -SDL_Window* window = SDL_CreateWindow(); +bool is_running= false; +SDL_Window* window = NULL; +SDL_Renderer* renderer = NULL; + bool initialize_window(void) { if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { @@ -10,16 +13,69 @@ bool initialize_window(void) { return false; } + // Create a SDL window + window = SDL_CreateWindow( + NULL, + SDL_WINDOWPOS_CENTERED, + SDL_WINDOWPOS_CENTERED, + 800, + 600, + SDL_WINDOW_BORDERLESS + ); + if (!window) { + fprintf(stderr, "Error creating SDL window.\n"); + return false; + } - SDL_Window* window = SDL_CreateWindow(); - - // TODO: Create a SDL renderer + // Create a SDL renderer + renderer = SDL_CreateRenderer(window, -1, 0); + if (!renderer) { + fprintf(stderr, "Error creating SDL error.\n"); + return false; + } + return true; } -int main(void) { +void setup(void){ + //TODO +} - initialize_window(); +void process_input(void){ + SDL_Event event; + SDL_PollEvent(&event); + + switch (event.type) { + case SDL_QUIT: + is_running = false; + break; + case SDL_KEYDOWN: + if (event.key.keysym.sym == SDLK_ESCAPE) + is_running = false; + break; + } +} +void update(void){ + //TODO +} +void render(void){ + SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); + SDL_RenderClear(renderer); + + SDL_RenderPresent(renderer); +} + +int main(void) { + is_running = initialize_window(); + + + setup(); + + while (is_running) { + process_input(); + update(); + render(); + } return 0; }