]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/hslider.cpp
Implement autosize() method for most widgets
[libs/gltk.git] / source / hslider.cpp
index e86cc4b17da02f56f8d26906eb2382ab59af0761..e855fcfb4d80bf6bf44bfa81dd12a039bc895f4a 100644 (file)
@@ -19,6 +19,22 @@ HSlider::HSlider():
        slider_size(1)
 { }
 
+void HSlider::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*3/2+margin.left+margin.right);
+               geom.h = std::max(geom.h, pgeom.h+margin.top+margin.bottom);
+       }
+}
+
 void HSlider::render_special(const Part &part) const
 {
        if(part.get_name()=="slider")