Age | Commit message (Collapse) | Author |
|
Rect::empty instead.
This commit includes Rect::operator bool() which might be a candidate for removal in a future commit, in an attempt
to make the meaning clearer
|
|
|
|
Paul Davis was responsible for introducing almost all of this.
|
|
position of the group.
They also do NOT need to consider scroll offset
|
|
This reverts commit 8f823388d9bd5aa8e297ab05be8c9fb323518945.
|
|
The problem this is avoiding makes absolutely no sense. Either I'm dumb, or
something is more deeply wrong with scroll group bounding boxes, or both, but I
don't care anymore. This works. Viva release mode.
|
|
|
|
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
|
|
class; rename Group as "Layout" and retain only drawing semantics
|
|
Items no longer need a parent group (they require a Canvas pointer instead), so all constructors have been rationalized
and have two variants, one with a parent and one with a canvas.
All Items now inherit from Fill and Outline, to banish diagonal inheritance and virtual base classes and all that.
There were zero changes to the Ardour GUI arising from these changes.
|
|
scroll group.
This stops tracks from appearing to scroll up under the rulers, among other things.
|
|
ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
|
|
mostly tweaks relating to how scroll offsets are used during rendering.
Event handling offsets still require work.
|
|
|
|
The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.
Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.
|