Lay the develop view out by coordinate, so the column can sit below
Slint cannot turn a layout on its side, and that is what D-N7 asks for. So the HorizontalLayout holding the rail, the canvas and the develop column becomes a plain Rectangle and each of the three states its own x, y, width and height. With `column-below` false those come out where the layout put them to the pixel — a HorizontalLayout has no spacing or padding of its own, the rail and the column took their declared widths at the two edges, and the canvas was the only child that stretched. The alternative was the column subtree declared twice under two `if`s, which is four hundred lines of bindings copied, in a file whose own notes record a conditional child in a layout as the shape that has produced binding loops here before. The column is the same column either way: the same contents, the same Flickable, the same toggle. `panel-visible` collapses the dock's height exactly as it collapsed the column's width, so `column-width` and `dock-height` are each zero unless the column is both open and on that axis, and the canvas can subtract both without asking which case it is in. The stack inside stretches to the dock's width on its own — a layout that is the direct child of a Rectangle fills it, and the Flickable's viewport was already bound to its own width. Nothing is reflowed; N9 does that. `dock-height` is mandated in style.yaml for the reason `panel-width` beside it is, on the other axis: a dock that sizes itself to its contents is a photograph that changes height when a caption wraps. 480 until N6 measures the device. The seam follows the column round: a hairline down its left edge beside the photograph, along its top edge under it, so it stays between the two.
This commit is contained in:
@@ -235,6 +235,25 @@ lengths:
|
||||
`column.min-width` and read it off the running app; there is no way to
|
||||
get the number out of the layout engine short of asking it.
|
||||
|
||||
dock-height:
|
||||
value: 480
|
||||
doc: |
|
||||
The same column, docked under the photograph on a tall window (D-N7).
|
||||
|
||||
Mandated for the reason `panel-width` above is, on the other axis: a dock
|
||||
that sizes itself to its contents is a photograph that changes height
|
||||
when a caption wraps, and the photograph is the thing being judged.
|
||||
|
||||
480 is room for the pinned instruments — about 260 of histogram and
|
||||
capture metadata, per N4 — with a group of sliders under them, chosen
|
||||
against what has to fit *above* it: a 3:2 frame across a 900px dock is
|
||||
600 tall, and 480 below it still leaves that frame its height on the
|
||||
tablet at either of the two scale factors Android might report.
|
||||
|
||||
Provisional until N6 measures the device. Every figure behind it was
|
||||
computed at a guessed density, and the guess moves the available height
|
||||
by 200px.
|
||||
|
||||
|
||||
_roll:
|
||||
section: the photo roll
|
||||
|
||||
Reference in New Issue
Block a user