]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/hslider.cpp
Refactor filling from Part to Alignment
[libs/gltk.git] / source / hslider.cpp
index d764797971029c08da73015f391e6ab6a9867795..3b68dacfa1b142eafe31851ed6f8dfc6fcd5d64e 100644 (file)
@@ -59,13 +59,15 @@ void HSlider::render_special(const Part &part) const
 {
        if(part.get_name()=="slider")
        {
-               const Geometry &pgeom=part.get_geometry();
-               unsigned gw=pgeom.w;
-               unsigned gh=(part.get_fill_y() ? geom.h : pgeom.h);
+               Alignment align=part.get_alignment();
+               align.x=(value-min)/(max-min);
+
+               Geometry pgeom=part.get_geometry();
+               align.apply(pgeom, geom, part.get_margin());
+
                GL::push_matrix();
-               GL::translate((geom.w-gw)*(value-min)/(max-min), (geom.h-gh)*(part.get_alignment().y+1)/2, 0);
-               const Graphic *graphic=part.get_graphic(state);
-               graphic->render(gw, gh);
+               GL::translate(pgeom.x, pgeom.y, 0);
+               part.get_graphic(state)->render(pgeom.w, pgeom.h);
                GL::pop_matrix();
        }
 }