]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/slider.h
Simplify constructors with C++11
[libs/gltk.git] / source / slider.h
index 4260564a9f9985d80a0a7dc9171ae506beda6eaa..70c5fc59b2882d948f7ceb543465bde4127e0895 100644 (file)
@@ -2,6 +2,7 @@
 #define MSP_GLTK_SLIDER_H_
 
 #include <sigc++/sigc++.h>
+#include "mspgltk_api.h"
 #include "widget.h"
 
 namespace Msp {
@@ -12,10 +13,10 @@ Sliders are used to adjust numeric values visually.  This class provides the
 common interface and logic for sliders but can't be instantiated.  Use HSlider
 or VSlider depending on which direction you want the slider to be in.
 */
-class Slider: public Widget
+class MSPGLTK_API Slider: public Widget
 {
 public:
-       class Loader: public DataFile::DerivedObjectLoader<Slider, Widget::Loader>
+       class MSPGLTK_API Loader: public DataFile::DerivedObjectLoader<Slider, Widget::Loader>
        {
        public:
                Loader(Slider &);
@@ -33,19 +34,20 @@ public:
 
 protected:
        Direction dir;
-       double min, max;
-       double value;
-       double step;
-       double page_size;
-
-       bool dragging;
-       double drag_start_pos;
-       double drag_start_value;
-       unsigned drag_area_size;
-       unsigned drag_area_offset;
-       unsigned slider_min_size;
-       unsigned slider_size;
-       unsigned total_margin;
+       double min = 0.0;
+       double max = 1.0;
+       double value = 0.0;
+       double step = 0.1;
+       double page_size = 0.25;
+
+       bool dragging = false;
+       double drag_start_pos = 0.0;
+       double drag_start_value = 0.0;
+       unsigned drag_area_size = 0;
+       unsigned drag_area_offset = 0;
+       unsigned slider_min_size = 1;
+       unsigned slider_size = 1;
+       unsigned total_margin = 0;
 
        Slider(Direction);
 
@@ -71,7 +73,7 @@ protected:
 };
 
 
-class VSlider: public Slider
+class MSPGLTK_API VSlider: public Slider
 {
 public:
        VSlider(): Slider(VERTICAL) { }
@@ -79,7 +81,7 @@ public:
        virtual const char *get_class() const { return "vslider"; }
 };
 
-class HSlider: public Slider
+class MSPGLTK_API HSlider: public Slider
 {
 public:
        HSlider(): Slider(HORIZONTAL) { }