#include #include #include #include SDL_Texture* TITLE_Texture; SDL_Texture* PLAYBUTTON_Texture; SDL_Texture* SKINSBUTTON_Texture; SDL_Texture* LEVELBUTTON_Texture; SDL_Texture* SETTINGSBUTTON_Texture; SDL_Texture* HIGHSCORESBUTTON_Texture; SDL_Texture* QUITBUTTON_Texture; SDL_Rect TITLE_Rect; SDL_Rect PLAYBUTTON_Rect; SDL_Rect SETTINGSBUTTON_Rect; SDL_Rect LEVELBUTTON_Rect; SDL_Rect SKINSBUTTON_Rect; SDL_Rect HIGHSCORESBUTTON_Rect; SDL_Rect QUITBUTTON_Rect; int clickInRect(SDL_MouseButtonEvent b, SDL_Rect* area_rect) { return (((b.x) >= (area_rect->x)) && ((b.x) <= ((area_rect->x) + (area_rect->w))) && ((b.y) >= (area_rect->y)) && ((b.y) <= ((area_rect->y) + (area_rect->h)))); } void Load_Textures (SDL_Renderer* renderer) { TITLE_Texture = IMG_LoadTexture(renderer, "assets/images/breaking_button.png"); TITLE_Rect = (SDL_Rect){.x = 685,.y = 50, .w=550, .h=250}; PLAYBUTTON_Texture = IMG_LoadTexture(renderer, "assets/images/play_button.png"); PLAYBUTTON_Rect = (SDL_Rect){.x = 497, .y = 400, .w=313, .h=178}; SKINSBUTTON_Texture = IMG_LoadTexture(renderer, "assets/images/skins_button.png"); SKINSBUTTON_Rect = (SDL_Rect){.x = 1110, .y = 400, .w=313, .h=178}; LEVELBUTTON_Texture = IMG_LoadTexture(renderer, "assets/images/level_button.png"); LEVELBUTTON_Rect = (SDL_Rect){.x = 497, .y = 700, .w=313, .h=178}; SETTINGSBUTTON_Texture = IMG_LoadTexture(renderer, "assets/images/settings_button.png"); SETTINGSBUTTON_Rect = (SDL_Rect){.x = 1110, .y = 700, .w=313, .h=178}; HIGHSCORESBUTTON_Texture = IMG_LoadTexture(renderer, "assets/images/highscores_button.png"); HIGHSCORESBUTTON_Rect = (SDL_Rect){.x = 1557, .y = 120, .w=313, .h=178}; QUITBUTTON_Texture = IMG_LoadTexture(renderer, "assets/images/quit_button.png"); QUITBUTTON_Rect = (SDL_Rect){.x = 50, .y = 896 , .w=235, .h=134}; } void Startmenu_Draw (SDL_Renderer* renderer) { SDL_RenderCopy(renderer, TITLE_Texture, NULL, &TITLE_Rect); SDL_RenderCopy(renderer, PLAYBUTTON_Texture, NULL, &PLAYBUTTON_Rect); SDL_RenderCopy(renderer, SKINSBUTTON_Texture, NULL, &SKINSBUTTON_Rect); SDL_RenderCopy(renderer, LEVELBUTTON_Texture, NULL, &LEVELBUTTON_Rect); SDL_RenderCopy(renderer, SETTINGSBUTTON_Texture, NULL, &SETTINGSBUTTON_Rect); SDL_RenderCopy(renderer, HIGHSCORESBUTTON_Texture, NULL, &HIGHSCORESBUTTON_Rect); SDL_RenderCopy(renderer, QUITBUTTON_Texture, NULL, &QUITBUTTON_Rect); } int button_clicked(SDL_MouseButtonEvent b) { if(clickInRect(b, PLAYBUTTON_Rect) == 1) { GAME_ChangeState(Game); } else if (clickInRect(b, SKINSBUTTON_Rect) == 1) { GAME_ChangeState(SkinSelect); } else if (clickInRect(b, LEVELBUTTON_Rect) == 1) { GAME_ChangeState(LevelSelect); } else if (clickInRect(b, SETTINGSBUTTON_Rect) == 1) { GAME_ChangeState(Settings); } else if (clickInRect(b, HIGHSCORESBUTTON_Rect) == 1) { GAME_ChangeState(Highscores); } else if (clickInRect(b, QUITBUTTON_Rect) == 1) { GAME_Escape(); } }