#include #include #include #include #include #include #include #ifndef frame_delay #define frame_delay 10 #endif int main(int argc, char *argv[]) { if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0) SDL_Log("SDL fails to initialize! %s\n", SDL_GetError()); if (TTF_Init() < 0) SDL_Log("SDL fails to initialize ttf! %s\n", SDL_GetError()); 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); if (!window) { printf("Failed to create window: %s\n", SDL_GetError()); } SDL_Renderer *renderer = SDL_CreateRenderer(window,-1,SDL_RENDERER_SOFTWARE); if (!renderer) { printf("Failed to create renderer: %s\n", SDL_GetError()); } srand(time(NULL)); STUFFS stuff = { startw, starth, false, 0, 0, NULL, NULL, (OBJECT){}, }; stuff.renderer = renderer; stuff.font = TTF_OpenFont("/usr/share/fonts/TTF/JetBrainsMono-Regular.ttf" , 10); init_stuffs(startw,starth,&stuff); SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND); bool quit = false; SDL_Event e; while (!quit) { while (SDL_PollEvent(&e)) { if (e.type == SDL_QUIT) { quit = true; } else if(e.type == SDL_MOUSEBUTTONDOWN){ if(e.button.button==SDL_BUTTON_LEFT){ stuff.mousedown=true; } else if(e.button.button==SDL_BUTTON_RIGHT){ } } else if(e.type==SDL_MOUSEBUTTONUP){ stuff.mousedown=false; } stuff.mx=e.button.x; stuff.my=e.button.y; } draw(window,&stuff); SDL_Delay(frame_delay); } on_end(&stuff); TTF_CloseFont(stuff.font); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_QuitSubSystem(SDL_INIT_VIDEO); SDL_Quit(); return 0; }