aboutsummaryrefslogtreecommitdiff
path: root/src/libui_sdl/libui/unix/slider.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libui_sdl/libui/unix/slider.c')
-rw-r--r--src/libui_sdl/libui/unix/slider.c71
1 files changed, 0 insertions, 71 deletions
diff --git a/src/libui_sdl/libui/unix/slider.c b/src/libui_sdl/libui/unix/slider.c
deleted file mode 100644
index 7f0cc24..0000000
--- a/src/libui_sdl/libui/unix/slider.c
+++ /dev/null
@@ -1,71 +0,0 @@
-// 11 june 2015
-#include "uipriv_unix.h"
-
-struct uiSlider {
- uiUnixControl c;
- GtkWidget *widget;
- GtkRange *range;
- GtkScale *scale;
- void (*onChanged)(uiSlider *, void *);
- void *onChangedData;
- gulong onChangedSignal;
-};
-
-uiUnixControlAllDefaults(uiSlider)
-
-static void onChanged(GtkRange *range, gpointer data)
-{
- uiSlider *s = uiSlider(data);
-
- (*(s->onChanged))(s, s->onChangedData);
-}
-
-static void defaultOnChanged(uiSlider *s, void *data)
-{
- // do nothing
-}
-
-int uiSliderValue(uiSlider *s)
-{
- return gtk_range_get_value(s->range);
-}
-
-void uiSliderSetValue(uiSlider *s, int value)
-{
- // we need to inhibit sending of ::value-changed because this WILL send a ::value-changed otherwise
- g_signal_handler_block(s->range, s->onChangedSignal);
- gtk_range_set_value(s->range, value);
- g_signal_handler_unblock(s->range, s->onChangedSignal);
-}
-
-void uiSliderOnChanged(uiSlider *s, void (*f)(uiSlider *, void *), void *data)
-{
- s->onChanged = f;
- s->onChangedData = data;
-}
-
-uiSlider *uiNewSlider(int min, int max)
-{
- uiSlider *s;
- int temp;
-
- if (min >= max) {
- temp = min;
- min = max;
- max = temp;
- }
-
- uiUnixNewControl(uiSlider, s);
-
- s->widget = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, min, max, 1);
- s->range = GTK_RANGE(s->widget);
- s->scale = GTK_SCALE(s->widget);
-
- // ensure integers, just to be safe
- gtk_scale_set_digits(s->scale, 0);
-
- s->onChangedSignal = g_signal_connect(s->scale, "value-changed", G_CALLBACK(onChanged), s);
- uiSliderOnChanged(s, defaultOnChanged, NULL);
-
- return s;
-}