Q-W2v: split VST god-modules — editor 8 face-axis TUs (+pure layout hoist), processor 3 TUs, component_state_io codec split (extension drops the voice engine), zone_params.h, core/wire putLE; formats frozen, 61/61 green
This commit is contained in:
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "core/instrument/ui/browser_scroll.h"
|
||||
|
||||
#include "core/instrument/ui/editor_geometry.h" // kPad / kTitleHeight / kNavButtonWidth (Q-W2v hoist)
|
||||
|
||||
#include <algorithm>
|
||||
#include <cctype>
|
||||
|
||||
@@ -155,4 +157,25 @@ std::vector<int> filterNameIndices(const std::vector<std::string>& names,
|
||||
return out;
|
||||
}
|
||||
|
||||
// The Browse-modal regions (hoisted from the editor shell, Q-W2v/T2-06 — body verbatim;
|
||||
// the band metrics come from editor_geometry, the search height from searchBoxRect).
|
||||
BrowseModal computeBrowseModal(int w, int h) {
|
||||
constexpr int kBrowseFooterH = 30;
|
||||
BrowseModal m;
|
||||
const int titleH = (std::min)(kTitleHeight, h);
|
||||
m.title = Rect::ltrb(0, 0, w, titleH);
|
||||
m.back = Rect::ltrb(w - kPad - kNavButtonWidth, 2, w - kPad, (std::max)(2, titleH - 2));
|
||||
// Search box below the title, spanning the width (searchBoxRect lays it out from 0).
|
||||
const Rect sb = searchBoxRect(w);
|
||||
m.search = Rect::ltrb(kPad, titleH, w - kPad, titleH + sb.height);
|
||||
const int footerTop = (std::max)(m.search.bottom(), h - kBrowseFooterH);
|
||||
m.content = Rect::ltrb(0, m.search.bottom(), w, footerTop);
|
||||
// Footer: Cancel (left) + Load (right).
|
||||
const int fTop = footerTop + 3;
|
||||
const int fBot = (std::max)(fTop, h - 3);
|
||||
m.cancel = Rect::ltrb(kPad, fTop, kPad + 90, fBot);
|
||||
m.confirm = Rect::ltrb(w - kPad - 90, fTop, w - kPad, fBot);
|
||||
return m;
|
||||
}
|
||||
|
||||
} // namespace reasampler::instrument::ui
|
||||
|
||||
Reference in New Issue
Block a user