#include #include #include #include #include #include "settings.h" #define Slider_height 120 #define Scalar_width 20 #define Bar_width 400 SDL_Texture* Setting_Texture; SDL_Rect Settings_rect; Slider BV; Slider BS; Slider BT; bool Settings_IsInit=false; void Settings_Initialize (SDL_Renderer* renderer) { Initialize_Slider(400,300,Scalar_width,Bar_width,Slider_height,&BV); Initialize_Slider(450,520,40,600,60,&BS); Initialize_Slider(400,700,Scalar_width,Bar_width,Slider_height,&BT); Setting_Texture = IMG_LoadTexture(renderer, "assets/images/settings_title.png"); Settings_rect = (SDL_Rect){.x = 800, .y = 180, .w=313, .h=100}; Settings_IsInit = true; } void Settings_Draw (SDL_Renderer* renderer) { SDL_RenderCopy(renderer, Setting_Texture, NULL, &Settings_rect); Draw_Slider(renderer,&BV); Draw_Slider(renderer,&BS); Draw_Slider(renderer,&BT); } void Settings_Deinitialize(){ if(Settings_IsInit){ SDL_DestroyTexture(Setting_Texture); Settings_IsInit=false; } } void Draw_Slider(SDL_Renderer* renderer,Slider* beta){ SDL_SetRenderDrawColor(renderer,255,255,255,255); SDL_RenderDrawRect(renderer,&beta->Bar_rect); int x,y; Uint32 Mousestate=SDL_GetMouseState(&x,&y); if(y<=((beta->Scalar_rect.y)+(beta->h))&&y>=(beta->Scalar_rect.y)&&x<=(beta->bw+beta->x)&&x>=(beta->x)&&(Mousestate & SDL_BUTTON(SDL_BUTTON_LEFT))){ SDL_RenderFillRect(renderer,&beta->Scalar_rect); SDL_RenderDrawRect(renderer,&beta->Scalar_rect); if(x>(beta->x+beta->bw-(beta->sw)/2)){ beta->Scalar_rect.x=(beta->x+beta->bw-(beta->sw)/2)-(beta->Scalar_rect.w)/2; beta->Slider_value=(beta->x+beta->bw-(beta->sw)/2); } else if(xx+(beta->sw)/2){ beta->Scalar_rect.x=beta->x; beta->Slider_value=beta->x+(beta->sw)/2; } else{ beta->Scalar_rect.x=x-(beta->Scalar_rect.w/2); beta->Slider_value=x; } } else{ SDL_RenderDrawRect(renderer,&beta->Scalar_rect); } } void mapping(int *px,int *py,Slider* beta){ } void Initialize_Slider(int x,int y,int sw,int bw,int h,Slider* beta){ beta->Scalar_rect = (SDL_Rect){.x=x,.y=y,.w=sw,.h=h}; beta->Bar_rect = (SDL_Rect){.x=x,.y=y,.w=bw,.h=h}; beta->x=x; beta->y=y; beta->sw=sw; beta->bw=bw; beta->h=h; }