35 lines
832 B
C++
35 lines
832 B
C++
#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);
|
|
}
|