Lumiera
0.pre.03
»edit your freedom«
|
#include "stage/timeline/stave-bracket-widget.hpp"
Helper widget to handle display of the structure of track nesting in the timeline header pane.
For each TrackHeadWidget, the connected cells in the first grid column are populated with this component, indicating connectivity and layout constraints. The actual drawing is based on Cairo, and implemented in the virtual draw() function.
Definition at line 67 of file stave-bracket-widget.hpp.
Public Member Functions | |
void | addConnector (uint offset) |
Request to draw a connector to the nested sub-Track's stave bracket. More... | |
void | clearConnectors () |
Private Types | |
using | _Base = Gtk::DrawingArea |
Private Member Functions | |
void | get_preferred_width_for_height_vfunc (int, int &, int &) const override |
The structural outline adapts flexible in vertical direction, but requires a proportional horizontal size for proper drawing. More... | |
void | get_preferred_width_vfunc (int &, int &) const override |
Gtk::SizeRequestMode | get_request_mode_vfunc () const final |
indicate layout oriented towards vertical extension | |
bool | on_draw (CairoC cox) override |
Custom drawing: a »stave bracket« to indicate track scope. More... | |
Private Attributes | |
std::vector< uint > | connectors_ |
|
inline |
Request to draw a connector to the nested sub-Track's stave bracket.
offset | vertical location where the sub-Track starts, relative to the start of this stave bracket's start |
Definition at line 105 of file stave-bracket-widget.hpp.
|
overrideprivate |
Custom drawing: a »stave bracket« to indicate track scope.
The layout is controlled by settings in the CSS style context
Definition at line 363 of file stave-bracket-widget.cpp.
References stage::timeline::anonymous_namespace{stave-bracket-widget.cpp}::anchorLeft(), stage::timeline::anonymous_namespace{stave-bracket-widget.cpp}::anchorLower(), stage::timeline::anonymous_namespace{stave-bracket-widget.cpp}::anchorUpper(), stage::timeline::anonymous_namespace{stave-bracket-widget.cpp}::connect(), stage::timeline::anonymous_namespace{stave-bracket-widget.cpp}::determineScale(), stage::timeline::anonymous_namespace{stave-bracket-widget.cpp}::drawBar(), and stage::timeline::anonymous_namespace{stave-bracket-widget.cpp}::drawCap().
|
overrideprivate |
The structural outline adapts flexible in vertical direction, but requires a proportional horizontal size for proper drawing.
The horizontal requisition is based on the font in CSS style context.
Definition at line 399 of file stave-bracket-widget.cpp.
References stage::timeline::anonymous_namespace{stave-bracket-widget.cpp}::calcDesiredWidth(), and stage::timeline::anonymous_namespace{stave-bracket-widget.cpp}::calcRequiredWidth().