VSE: Add option to limit timeline view height

When height is limited, it is defined by space occupied by strips,
but at least channels 1 to 7 will be always visible. This allows it to
easily overview timeline content by zooming out to maximum extent in Y
axis and panning in X axis.

More channels can be "created" on demand by moving strip to higher
channel. When strip is removed and highest channel becomes empty, view
will stay as is until it is moved down. Then new highest point is
remembered and it is not possible to pan upwards until strip is moved to
higher channel.

Limiting takes into account height of scrubbing and markers area as
well as scrollers. This means that when zoomed out to maximum extent,
no strips are obstructed by fixed UI element.

Fixes T57976

Reviewed By: Severin

Differential Revision: https://developer.blender.org/D14263
This commit is contained in:
2022-04-28 16:07:57 +02:00
parent b1b153b88c
commit 17769489d9
11 changed files with 193 additions and 17 deletions

View File

@@ -445,7 +445,7 @@ void SEQ_timeline_expand_boundbox(const ListBase *seqbase, rctf *rect)
rect->xmax = seq->enddisp + 1;
}
if (rect->ymax < seq->machine) {
rect->ymax = seq->machine + 2;
rect->ymax = seq->machine;
}
}
}