1 #include "system/stacktrace.h"
5 Settings create_settings(void)
10 .value = SOUND_SAMPLES_DEFAULT_VOLUME,
14 .volume_slider_scale = {
19 .base_color = {0.5f, 0.8f, 0.5f, 1.0f}
30 void settings_render(const Settings *settings, const Camera *camera)
32 trace_assert(settings);
35 background_render(&settings->background, camera);
37 const Rect viewport = camera_view_port_screen(camera);
40 const Rect position = {
41 .w = viewport.w * settings->volume_slider_scale.x,
42 .h = viewport.h * settings->volume_slider_scale.y,
43 .x = viewport.w - viewport.w * settings->volume_slider_scale.x - 5.0f,
48 slider_render(&settings->volume_slider, camera, position);
51 void settings_event(Settings *settings, Camera *camera, const SDL_Event *event)
53 trace_assert(settings);
56 const Rect viewport = camera_view_port_screen(camera);
57 const Rect position = {
58 .w = viewport.w * settings->volume_slider_scale.x,
59 .h = viewport.h * settings->volume_slider_scale.y,
60 .x = viewport.w - viewport.w * settings->volume_slider_scale.x - 5.0f,
65 &settings->volume_slider,
67 position, NULL) < 0) {
72 void settings_update(Settings *settings, Camera *camera, float dt)
74 trace_assert(settings);
77 vec_add(&settings->camera_position,
78 vec(50.0f * dt, 0.0f));
79 camera_center_at(camera, settings->camera_position);