diff --git a/libs/widgets/ardour_spacer.cc b/libs/widgets/ardour_spacer.cc index 6058c89646..d71fa120ac 100644 --- a/libs/widgets/ardour_spacer.cc +++ b/libs/widgets/ardour_spacer.cc @@ -17,6 +17,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include + #include "widgets/ardour_spacer.h" using namespace ArdourWidgets; @@ -31,13 +33,13 @@ ArdourScalingSpacer::ArdourScalingSpacer (int natural_width, int natural_height) ArdourVSpacer::ArdourVSpacer (float r) : CairoWidget () - , ratio (r) + , _ratio (std::min (1.f, r)) { } ArdourHSpacer::ArdourHSpacer (float r) : CairoWidget () - , ratio (r) + , _ratio (std::min (1.f, r)) { } diff --git a/libs/widgets/widgets/ardour_spacer.h b/libs/widgets/widgets/ardour_spacer.h index 7d078c6e97..cf8a03368a 100644 --- a/libs/widgets/widgets/ardour_spacer.h +++ b/libs/widgets/widgets/ardour_spacer.h @@ -60,9 +60,13 @@ public: protected: void render (Cairo::RefPtr const& ctx, cairo_rectangle_t*) { + if (_ratio < 0) { + return; + } + float height = get_height(); - float h = height * ratio; + float h = height * _ratio; float t = .5f * (height - h); ctx->rectangle (0, t, 1, h); uint32_t c = UIConfigurationBase::instance().color ("neutral:backgroundest"); @@ -76,7 +80,8 @@ protected: CairoWidget::on_size_request (req); } - float ratio; +private: + float _ratio; }; class LIBWIDGETS_API ArdourHSpacer : public CairoWidget @@ -87,9 +92,13 @@ public: protected: void render (Cairo::RefPtr const& ctx, cairo_rectangle_t*) { + if (_ratio < 0) { + return; + } + float width = get_width(); - float w = width * ratio; + float w = width * _ratio; float t = .5f * (width - w); ctx->rectangle (t, 0, w, 1); uint32_t c = UIConfigurationBase::instance().color ("neutral:backgroundest"); @@ -103,7 +112,8 @@ protected: CairoWidget::on_size_request (req); } - float ratio; +private: + float _ratio; }; class LIBWIDGETS_API ArdourDropShadow : public CairoWidget