diff --git a/dgl/src/Layout.cpp b/dgl/src/Layout.cpp index 814ed849..9a58f183 100644 --- a/dgl/src/Layout.cpp +++ b/dgl/src/Layout.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Plugin Framework (DPF) - * Copyright (C) 2012-2024 Filipe Coelho + * Copyright (C) 2012-2025 Filipe Coelho * * Permission to use, copy, modify, and/or distribute this software for any purpose with * or without fee is hereby granted, provided that the above copyright notice and this @@ -26,9 +26,11 @@ typedef std::list::iterator VerticalLayoutIterator; // -------------------------------------------------------------------------------------------------------------------- template<> // horizontal -uint Layout::setAbsolutePos(int x, const int y, const uint padding) +uint Layout::setAbsolutePos(int x, int y, const uint padding) { uint maxHeight = 0; + y += padding; + x += padding; for (SubWidgetWithSizeHintIterator it=widgets.begin(), end=widgets.end(); it != end; ++it) { @@ -43,9 +45,11 @@ uint Layout::setAbsolutePos(int x, const int y, const uint padding) } template<> // vertical -uint Layout::setAbsolutePos(const int x, int y, const uint padding) +uint Layout::setAbsolutePos(int x, int y, const uint padding) { uint maxWidth = 0; + y += padding; + x += padding; for (SubWidgetWithSizeHintIterator it=widgets.begin(), end=widgets.end(); it != end; ++it) { @@ -63,10 +67,10 @@ template<> // horizontal void Layout::setSize(const uint width, const uint padding) { uint maxHeight = 0; - uint nonFixedWidth = width; + uint nonFixedWidth = width - padding * 2; uint numDynamiclySizedWidgets = 0; - for (SubWidgetWithSizeHintIterator it=widgets.begin(), end=widgets.end(); it != end; ++it) + for (SubWidgetWithSizeHintIterator it = widgets.begin(), end = widgets.end(); it != end; ++it) { SubWidgetWithSizeHint& s(*it); maxHeight = std::max(maxHeight, s.widget->getHeight()); @@ -96,7 +100,7 @@ template<> // vertical void Layout::setSize(const uint height, const uint padding) { uint biggestWidth = 0; - uint nonFixedHeight = height; + uint nonFixedHeight = height - padding * 2; uint numDynamiclySizedWidgets = 0; for (SubWidgetWithSizeHintIterator it=widgets.begin(), end=widgets.end(); it != end; ++it)