]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/vslider.cpp
Refactor widget autosizing
[libs/gltk.git] / source / vslider.cpp
index 6a21c5301ad6eb45a51d2ff201ababb271a02f21..53c8f511db5060816972a1c5f21fe5ae974361f9 100644 (file)
@@ -12,19 +12,14 @@ VSlider::VSlider():
        slider_size(1)
 { }
 
-void VSlider::autosize()
+void VSlider::autosize_special(const Part &part, Geometry &ageom)
 {
-       if(!style)
-               return;
-
-       Widget::autosize();
-
-       if(const Part *slider_part = style->get_part("slider"))
+       if(part.get_name()=="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);
+               const Sides &margin = part.get_margin();
+               const Geometry &pgeom = part.get_geometry();
+               ageom.w = std::max(ageom.w, pgeom.w+margin.left+margin.right);
+               ageom.h = std::max(ageom.h, pgeom.h*3/2+margin.top+margin.bottom);
        }
 }