]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/vslider.cpp
Implement autosize() method for most widgets
[libs/gltk.git] / source / vslider.cpp
index 65cac69846f9763efc2dead8fddc06e04bde8048..874c38346c9e75a496058540ce1ec5b399685ec1 100644 (file)
@@ -19,6 +19,22 @@ VSlider::VSlider():
        slider_size(1)
 { }
 
+void VSlider::autosize()
+{
+       if(!style)
+               return;
+
+       Widget::autosize();
+
+       if(const Part *slider_part = style->get_part("slider"))
+       {
+               const Sides &margin = slider_part->get_margin();
+               const Geometry &pgeom = slider_part->get_geometry();
+               geom.w = std::max(geom.w, pgeom.w+margin.left+margin.right);
+               geom.h = std::max(geom.h, pgeom.h*3/2+margin.top+margin.bottom);
+       }
+}
+
 void VSlider::render_special(const Part &part) const
 {
        if(part.get_name()=="slider")