aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/gwin/slider.h24
-rw-r--r--src/gwin/slider.c7
2 files changed, 31 insertions, 0 deletions
diff --git a/include/gwin/slider.h b/include/gwin/slider.h
index c22dc5f4..9a51d042 100644
--- a/include/gwin/slider.h
+++ b/include/gwin/slider.h
@@ -142,6 +142,16 @@ void gwinSetSliderStyle(GHandle gh, const GSliderDrawStyle *pStyle);
void gwinSliderDraw(GHandle gh);
/**
+ * @brief Enable or disable a button
+ *
+ * @param[in] gh The window handle (must be a slider window)
+ * @param[in] enabled Enable or disable the slider
+ *
+ * @api
+ */
+void gwinSliderSetEnabled(GHandle gh, bool_t enabled);
+
+/**
* @brief Set the callback routine to perform a custom slider drawing.
*
* @param[in] gh The window handle (must be a slider window)
@@ -153,6 +163,20 @@ void gwinSliderDraw(GHandle gh);
void gwinSetSliderCustom(GHandle gh, GSliderDrawFunction fn, void *param);
/**
+ * @brief Enable a slider
+ *
+ * @api
+ */
+#define gwinEnableSlider(gh) gwinSetSliderEnabled( ((GSliderObject *)(gh)), TRUE)
+
+/**
+ * @brief Disable a slider
+ *
+ * @api
+ */
+#define gwinDisableSlider(gh) gwinSetSliderEnabled( ((GSliderObject *)(gh)), FALSE)
+
+/**
* @brief Get the current slider position.
* @return The slider position
*
diff --git a/src/gwin/slider.c b/src/gwin/slider.c
index 7f1e36bc..1f252d77 100644
--- a/src/gwin/slider.c
+++ b/src/gwin/slider.c
@@ -241,6 +241,13 @@ void gwinSetSliderCustom(GHandle gh, GSliderDrawFunction fn, void *param) {
#undef gsw
}
+void gwinSliderSetEnabled(GHandle gh, bool_t enabled) {
+ if (gh->type != GW_SLIDER)
+ return;
+
+ gh->enabled = enabled;
+}
+
void gwinSliderDraw_Std(GHandle gh, bool_t isVertical, coord_t thumbpos, const GSliderDrawStyle *pstyle, void *param) {
(void) param;