Cut core/instrument/ui comment bloat ~49% (comments only, zero code change)
This commit is contained in:
@@ -1,17 +1,12 @@
|
||||
// curve_popup.h — PURE sheet geometry + dismissal test for the r11 velocity-curve popup
|
||||
// editor (Wave B, FB1). NO VST3, NO REAPER, NO SWELL/LICE types at the boundary. The mirror
|
||||
// of overflow_menu: the size-clamp / centering / title-row arithmetic lives here, unit-tested
|
||||
// at the clamps outside the DAW, while the editor shell draws the wash + sheet through the
|
||||
// L1 kit and routes clicks (close / curve box / outside-sheet dismiss) via these rects.
|
||||
// curve_popup.h — sheet geometry + dismissal test for the velocity-curve popup editor.
|
||||
// Mirror of overflow_menu; the shell draws through the L1 kit and routes clicks via
|
||||
// these rects.
|
||||
//
|
||||
// THE POPUP (CONTEXT.md §S-VIEW r11). Summoned by the mini curve-preview button, a CENTERED
|
||||
// SHEET over the Sample face (a 0.50-alpha bg/base wash behind it — lighter than Browse's
|
||||
// 0.82; a focused sub-editor, not a view change): width clamp(60% of window, 360..520),
|
||||
// height clamp(55% of window, 260..380). Inside: a ~22px title row ("VELOCITY -> AMP"
|
||||
// micro-caps left, an 18x18 Close button right) over the full-size curve box filling the
|
||||
// remainder. The curve box rect here is the BORDER rect — the shell derives the mapping box
|
||||
// through its ONE curveBoxFromRect formula (the landed inset grammar), so the popup editor
|
||||
// and the Zone-panel inline editor share coordinates by construction.
|
||||
// A centered sheet over the Sample face (a lighter wash than Browse's, since this is a
|
||||
// focused sub-editor, not a view change): width/height each clamp to a fraction of the
|
||||
// window within min/max bounds. A title row sits over the curve box. The curve box rect
|
||||
// here is the border rect — the shell derives the mapping box via its curveBoxFromRect
|
||||
// formula, so the popup editor and the Zone-panel inline editor share coordinates.
|
||||
|
||||
#pragma once
|
||||
|
||||
@@ -19,7 +14,7 @@
|
||||
|
||||
namespace reasampler::instrument::ui {
|
||||
|
||||
// Fixed popup metrics (spec r11), exposed so the shell and tests agree.
|
||||
// Fixed popup metrics, exposed so the shell and tests agree.
|
||||
inline constexpr int kCurvePopupMinW = 360;
|
||||
inline constexpr int kCurvePopupMaxW = 520;
|
||||
inline constexpr int kCurvePopupMinH = 260;
|
||||
@@ -29,20 +24,19 @@ inline constexpr int kCurvePopupCloseSize = 18;
|
||||
inline constexpr int kCurvePopupPad = 8; // sheet inner padding (title inset + box margins)
|
||||
|
||||
struct CurvePopupLayout {
|
||||
Rect sheet; // the bg/panel sheet, centered in the window
|
||||
Rect title; // the caption text rect (left part of the title row)
|
||||
Rect close; // the 18x18 Close (x) button, right-anchored in the title row
|
||||
Rect curveBox; // the full-size curve editor BORDER rect (shell insets via curveBoxFromRect)
|
||||
Rect sheet;
|
||||
Rect title;
|
||||
Rect close; // Close (x) button, right-anchored in the title row
|
||||
Rect curveBox; // full-size curve editor border rect (shell insets via curveBoxFromRect)
|
||||
};
|
||||
|
||||
// The popup geometry for a (w x h) window: sheet width clamp(60% w, 360..520) and height
|
||||
// clamp(55% h, 260..380) — each additionally capped at the window dimension so a degenerate
|
||||
// window never yields an overhanging sheet — centered; title row + close button at the top;
|
||||
// the curve box filling the remainder inside kCurvePopupPad margins. Pure.
|
||||
// Popup geometry for a (w x h) window: sheet width clamp(60% w, min..max) and height
|
||||
// clamp(55% h, min..max), each additionally capped at the window dimension so a
|
||||
// degenerate window never yields an overhanging sheet — centered.
|
||||
CurvePopupLayout computeCurvePopup(int w, int h);
|
||||
|
||||
// True when (x, y) lands OUTSIDE the sheet (on the wash) — the click-outside dismissal test.
|
||||
// The shell additionally gates on "no drag in flight" (spec). Pure.
|
||||
// True when (x, y) lands outside the sheet (on the wash) — the click-outside dismissal
|
||||
// test. The shell additionally gates on "no drag in flight".
|
||||
bool popupOutsideSheet(const CurvePopupLayout& layout, int x, int y);
|
||||
|
||||
} // namespace reasampler::instrument::ui
|
||||
|
||||
Reference in New Issue
Block a user