#include"PSX_Button.h" PSX_Button::PSX_Button(SDL_Renderer* render, SDL_Rect* rect, std::string text){ renderer = render; rButton = rect; tText.setRenderer(renderer); tText.loadText(text, SDL_Color{0xFF,0xFF,0xFF,127}, "assets/font.otf", 20); // Position the text in the middle of the button background Rect rText = { rButton->x + (rButton->w/2 - tText.getW()/2), rButton->y + (rButton->h/2 - tText.getH()/2), tText.getW(), tText.getH() }; } void PSX_Button::render(int state){ if(state == 1){ SDL_SetRenderDrawColor(renderer,120,120,120 ,0xFF); tText.render(&rText); } else if(!state){ SDL_SetRenderDrawColor(renderer,80,80,80,0xFF); tText.render(&rText); } else if(state == 3){ SDL_SetRenderDrawColor(renderer,40,40,40,0xFF); } SDL_RenderFillRect(renderer,rButton); tText.render(&rText); }