X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fvslider.cpp;h=6bc1553ded3ad8df6f9e5e24eeeb48f582a1f3de;hb=f0b600c3b1739f7e088da6ab8eb7c2e67adf592c;hp=4776e674a809b679e9bb7c0af6df48e3b400d8df;hpb=08b66dd1b4478fef61525ad2dad1a1fb54eab0f0;p=libs%2Fgltk.git diff --git a/source/vslider.cpp b/source/vslider.cpp index 4776e67..6bc1553 100644 --- a/source/vslider.cpp +++ b/source/vslider.cpp @@ -8,7 +8,8 @@ namespace Msp { namespace GLtk { -VSlider::VSlider() +VSlider::VSlider(): + total_margin(0) { } void VSlider::autosize_special(const Part &part, Geometry &ageom) const @@ -63,7 +64,7 @@ void VSlider::pointer_motion(int, int y) void VSlider::on_geometry_change() { - drag_area_size = geom.h-slider_size; + drag_area_size = geom.h-total_margin; } void VSlider::on_style_change() @@ -72,7 +73,12 @@ void VSlider::on_style_change() return; if(const Part *slider_part = style->get_part("slider")) + { slider_size = slider_part->get_geometry().h; + const Sides &margin = slider_part->get_margin(); + drag_area_offset = margin.bottom; + total_margin = margin.bottom+margin.top; + } on_geometry_change(); }