Timeline: nail the problem with calculating overall vertical space
In the end, I used the profile building pass to also calculate and sum up the vertical offsets. Seems to be the only sane approach to get really precise values, since adjacent upwards slopes can be combined at various places (and I do not want to use the actual drawing code for this calculation)
This commit is contained in:
parent
4d2766963b
commit
fa4a9014a1
6 changed files with 150 additions and 51 deletions
|
|
@ -40,13 +40,14 @@
|
||||||
* background is used within the track scopes
|
* background is used within the track scopes
|
||||||
*/
|
*/
|
||||||
.timeline__page > .timeline__body fork.timeline__fork {
|
.timeline__page > .timeline__body fork.timeline__fork {
|
||||||
margin: 2ex 0;
|
margin: 2ex;
|
||||||
|
padding: 10px;
|
||||||
border-style: inset;
|
border-style: inset;
|
||||||
border-color: IndianRed;
|
border-color: IndianRed;
|
||||||
background-color: Lime;
|
background-color: Lime;
|
||||||
}
|
}
|
||||||
fork.timeline__fork frame.timeline__ruler {
|
fork.timeline__fork frame.timeline__ruler {
|
||||||
margin: 3ex 0;
|
margin: 1ex;
|
||||||
border: 3px outset GoldenRod;
|
border: 3px outset GoldenRod;
|
||||||
background-color: DarkCyan;
|
background-color: DarkCyan;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -472,10 +472,9 @@ namespace timeline {
|
||||||
{
|
{
|
||||||
setupAdditionalTrackPadding_fromCSS();
|
setupAdditionalTrackPadding_fromCSS();
|
||||||
layout_.triggerDisplayEvaluation();
|
layout_.triggerDisplayEvaluation();
|
||||||
rootBody_->establishTrackSpace (profile_);
|
uint overallHeight = rootBody_->establishTrackSpace (profile_);
|
||||||
adjustCanvasHeight(layout_.getPixSpan().delta(),
|
uint rulerHeight = rootBody_->calcRulerHeight() + TrackBody::decoration.topMar;
|
||||||
rootBody_->calcHeight(),
|
adjustCanvasHeight(layout_.getPixSpan().delta(), overallHeight, rulerHeight);
|
||||||
rootBody_->calcRulerHeight());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@
|
||||||
|
|
||||||
//using util::_Fmt;
|
//using util::_Fmt;
|
||||||
using util::isnil;
|
using util::isnil;
|
||||||
|
using util::min;
|
||||||
//using util::contains;
|
//using util::contains;
|
||||||
//using Gtk::Widget;
|
//using Gtk::Widget;
|
||||||
//using sigc::mem_fun;
|
//using sigc::mem_fun;
|
||||||
|
|
@ -134,47 +135,98 @@ namespace timeline {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
/** helper to get the width of combined slope borders.
|
||||||
|
* Upwards slopes are combined up to a certain level;
|
||||||
|
* however, the actual width of such a combined border
|
||||||
|
* is defined through a class in the CSS stylesheet.
|
||||||
|
* The TrackBody::decoration.borders array holds the
|
||||||
|
* actual values read from the CSS.
|
||||||
|
*/
|
||||||
|
inline uint
|
||||||
|
combinedSlopeHeight (uint depth)
|
||||||
|
{
|
||||||
|
if (depth==0) return 0;
|
||||||
|
depth = min (depth, TrackBody::decoration.borders.size() - 1);
|
||||||
|
return TrackBody::decoration.borders[depth];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* recursively establish the screen space allocation for this structure of nested tracks.
|
* recursively establish the screen space allocation for this structure of nested tracks.
|
||||||
* The TrackProfile is an abstracted description of the sequence of track elements,
|
* For one, we'll have to find out about the total vertical space for each track, so to
|
||||||
* which constitute a vertical cross section through the track bodies
|
* establish the vertical starting position, which is required to place clips onto the canvas.
|
||||||
|
*
|
||||||
|
* Moreover we have to build the TrackProfile, which is an abstracted description of the sequence
|
||||||
|
* of track elements, akin to a vertical cross section through the track bodies. This profile is
|
||||||
|
* repeatedly "played back" to paint the background and overlays corresponding to each track.
|
||||||
|
*
|
||||||
|
* This function recursively processes the tree of track bodies...
|
||||||
* - pre: the given profile is built and complete up to the (upper side) start of the current track.
|
* - pre: the given profile is built and complete up to the (upper side) start of the current track.
|
||||||
* - post: the profile is elaborated for this track and its children, down to the lower end.
|
* - post: the profile is elaborated for this track and its children, down to the lower end.
|
||||||
* @todo 6/19 this very much looks like the "display evaluation pass" envisioned for the timeline::DisplayManager.
|
* @return total vertical extension required for this track with all its nested sub tracks.
|
||||||
* Need to find out if we'll need a dedicated evaluation pass and how to interconnect both.
|
|
||||||
*/
|
*/
|
||||||
void
|
uint
|
||||||
TrackBody::establishTrackSpace (TrackProfile& profile)
|
TrackBody::establishTrackSpace (TrackProfile& profile)
|
||||||
{
|
{
|
||||||
|
uint line=0;
|
||||||
bool topLevel = isnil (profile);
|
bool topLevel = isnil (profile);
|
||||||
if (topLevel)
|
if (topLevel)
|
||||||
{
|
{
|
||||||
// global setup for the profile
|
// global setup for the profile
|
||||||
|
line += decoration.topMar;
|
||||||
profile.append_prelude();
|
profile.append_prelude();
|
||||||
|
|
||||||
// The first Profile elements are always visible on top:
|
// The first Profile elements are always visible on top:
|
||||||
// Top-level rules and one additionally for the prelude
|
// Top-level rules and one additionally for the prelude
|
||||||
profile.pinnedPrefixCnt = 1 + rulers_.size();
|
profile.pinnedPrefixCnt = 1 + rulers_.size();
|
||||||
}
|
}
|
||||||
|
// adjust if preceded by a combined up-slope
|
||||||
|
line += combinedSlopeHeight (profile.getPrecedingSlopeUp());
|
||||||
|
|
||||||
|
// reserve space for the overview rulers
|
||||||
for (auto& ruler : rulers_)
|
for (auto& ruler : rulers_)
|
||||||
{
|
{
|
||||||
profile.append_ruler (ruler->calcHeight());
|
uint rulerHeight = ruler->calcHeight();
|
||||||
uint gapHeight = ruler->getGapHeight();
|
uint gapHeight = ruler->getGapHeight();
|
||||||
|
line += rulerHeight+gapHeight + decoration.ruler;
|
||||||
|
profile.append_ruler (rulerHeight);
|
||||||
if (gapHeight > 0)
|
if (gapHeight > 0)
|
||||||
profile.append_gap (gapHeight);
|
profile.append_gap (gapHeight);
|
||||||
}
|
}
|
||||||
|
////////TODO: store the current line as start-offset of the content area
|
||||||
|
|
||||||
|
// allocate space for the track content
|
||||||
|
line += this->contentHeight_ + decoration.content;
|
||||||
profile.append_content (this->contentHeight_);
|
profile.append_content (this->contentHeight_);
|
||||||
|
|
||||||
|
// account for the space required by nested sub-tracks
|
||||||
if (not isnil (subTracks_))
|
if (not isnil (subTracks_))
|
||||||
{
|
{
|
||||||
|
// account for a single slope one step down
|
||||||
|
line += decoration.borders[0]; // (downward slopes are never combined)
|
||||||
profile.addSlopeDown();
|
profile.addSlopeDown();
|
||||||
|
|
||||||
for (TrackBody* subTrack : subTracks_)
|
for (TrackBody* subTrack : subTracks_)
|
||||||
subTrack->establishTrackSpace (profile);
|
{
|
||||||
profile.addSlopeUp();
|
////////TODO: store the current line as start-offset for this track
|
||||||
}
|
line += subTrack->establishTrackSpace (profile);
|
||||||
|
}
|
||||||
|
|
||||||
|
profile.addSlopeUp(); // note: up-slopes might be combined
|
||||||
|
} // thus we'll add them one level higher
|
||||||
|
|
||||||
if (topLevel)
|
if (topLevel)
|
||||||
profile.append_coda (TIMELINE_BOTTOM_PADDING_px);
|
{
|
||||||
|
// adjust when reaching top-level after a combined up-slope
|
||||||
|
line += combinedSlopeHeight (profile.getPrecedingSlopeUp());
|
||||||
|
|
||||||
|
line += decoration.botMar + TIMELINE_BOTTOM_PADDING_px;
|
||||||
|
profile.append_coda (TIMELINE_BOTTOM_PADDING_px);
|
||||||
|
}
|
||||||
|
|
||||||
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -74,8 +74,8 @@ namespace timeline {
|
||||||
uint topMar = 0;
|
uint topMar = 0;
|
||||||
uint botMar = 0;
|
uint botMar = 0;
|
||||||
|
|
||||||
using Borders = std::array<uint, 5>;
|
using Borders = std::array<uint, 6>;
|
||||||
Borders borders{0,0,0,0,0};
|
Borders borders{0,0,0,0,0,0};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -110,7 +110,7 @@ namespace timeline {
|
||||||
~TrackBody();
|
~TrackBody();
|
||||||
|
|
||||||
void setTrackName (cuString&);
|
void setTrackName (cuString&);
|
||||||
void establishTrackSpace (TrackProfile&);
|
uint establishTrackSpace (TrackProfile&);
|
||||||
void attachSubTrack (TrackBody*);
|
void attachSubTrack (TrackBody*);
|
||||||
uint calcRulerHeight();
|
uint calcRulerHeight();
|
||||||
uint calcHeight();
|
uint calcHeight();
|
||||||
|
|
|
||||||
|
|
@ -159,6 +159,14 @@ namespace timeline {
|
||||||
append_close (1);
|
append_close (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint
|
||||||
|
getPrecedingSlopeUp()
|
||||||
|
{
|
||||||
|
if (lastEntryIs("close"))
|
||||||
|
return elements.back().accessArg<uint>();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool
|
bool
|
||||||
lastEntryIs (Literal expectedToken)
|
lastEntryIs (Literal expectedToken)
|
||||||
|
|
|
||||||
|
|
@ -22866,11 +22866,11 @@
|
||||||
<icon BUILTIN="hourglass"/>
|
<icon BUILTIN="hourglass"/>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1563143025272" ID="ID_31825370" MODIFIED="1566956325489" TEXT="Anzeige-Höhe steuern">
|
<node COLOR="#338800" CREATED="1563143025272" ID="ID_31825370" MODIFIED="1567112213024" TEXT="Anzeige-Höhe steuern">
|
||||||
<linktarget COLOR="#a37084" DESTINATION="ID_31825370" ENDARROW="Default" ENDINCLINATION="145;324;" ID="Arrow_ID_1599930326" SOURCE="ID_261041772" STARTARROW="Default" STARTINCLINATION="-943;-105;"/>
|
<linktarget COLOR="#a37084" DESTINATION="ID_31825370" ENDARROW="Default" ENDINCLINATION="145;324;" ID="Arrow_ID_1599930326" SOURCE="ID_261041772" STARTARROW="Default" STARTINCLINATION="-943;-105;"/>
|
||||||
<linktarget COLOR="#b75674" DESTINATION="ID_31825370" ENDARROW="Default" ENDINCLINATION="178;986;" ID="Arrow_ID_1663311989" SOURCE="ID_1608124774" STARTARROW="None" STARTINCLINATION="-248;-11;"/>
|
<linktarget COLOR="#b75674" DESTINATION="ID_31825370" ENDARROW="Default" ENDINCLINATION="178;986;" ID="Arrow_ID_1663311989" SOURCE="ID_1608124774" STARTARROW="None" STARTINCLINATION="-248;-11;"/>
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="button_ok"/>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1563143033085" ID="ID_149529437" MODIFIED="1563143047761" TEXT="woher kommt die Info?">
|
<node CREATED="1563143033085" ID="ID_149529437" MODIFIED="1567112222516" TEXT="woher kommt die Info?">
|
||||||
<icon BUILTIN="help"/>
|
<icon BUILTIN="help"/>
|
||||||
<node CREATED="1563144390094" ID="ID_1352488414" MODIFIED="1563144414266" TEXT="Quelle-1: zusammen mit dem Track-Head "ausgehandelt""/>
|
<node CREATED="1563144390094" ID="ID_1352488414" MODIFIED="1563144414266" TEXT="Quelle-1: zusammen mit dem Track-Head "ausgehandelt""/>
|
||||||
<node CREATED="1563144448477" ID="ID_545543746" MODIFIED="1563144464040" TEXT="Quelle-2: man kann die TrackBody-Struktur (rekursiv) fragen"/>
|
<node CREATED="1563144448477" ID="ID_545543746" MODIFIED="1563144464040" TEXT="Quelle-2: man kann die TrackBody-Struktur (rekursiv) fragen"/>
|
||||||
|
|
@ -22880,6 +22880,10 @@
|
||||||
<icon BUILTIN="idea"/>
|
<icon BUILTIN="idea"/>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
|
<node CREATED="1567112237035" ID="ID_1427979726" MODIFIED="1567112282407" TEXT="Quelle-4: beim Aufstellen des TrackProfile">
|
||||||
|
<arrowlink COLOR="#19b37d" DESTINATION="ID_1564197871" ENDARROW="Default" ENDINCLINATION="-60;-64;" ID="Arrow_ID_1251305334" STARTARROW="None" STARTINCLINATION="-169;0;"/>
|
||||||
|
<icon BUILTIN="forward"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node CREATED="1563144536346" ID="ID_681708047" MODIFIED="1563144548269" TEXT="wo muß sie gesetzt werden?">
|
<node CREATED="1563144536346" ID="ID_681708047" MODIFIED="1563144548269" TEXT="wo muß sie gesetzt werden?">
|
||||||
<node CREATED="1563144549497" ID="ID_1704331189" MODIFIED="1563144560069" TEXT="jeweils in jedem der beiden Canvas-Widgets">
|
<node CREATED="1563144549497" ID="ID_1704331189" MODIFIED="1563144560069" TEXT="jeweils in jedem der beiden Canvas-Widgets">
|
||||||
|
|
@ -22887,8 +22891,7 @@
|
||||||
<node CREATED="1563144650777" ID="ID_1603192919" MODIFIED="1563144652311" TEXT="Canvas::determineExtension()"/>
|
<node CREATED="1563144650777" ID="ID_1603192919" MODIFIED="1563144652311" TEXT="Canvas::determineExtension()"/>
|
||||||
<node CREATED="1563144669172" ID="ID_1489838072" MODIFIED="1563144675523" TEXT="Gtk::Layout::set_size(w,h)"/>
|
<node CREATED="1563144669172" ID="ID_1489838072" MODIFIED="1563144675523" TEXT="Gtk::Layout::set_size(w,h)"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1563144591112" ID="ID_1777300285" MODIFIED="1563145103711" TEXT="muß das vor dem Zeichnen passieren?">
|
<node COLOR="#435e98" CREATED="1563144591112" ID="ID_1777300285" MODIFIED="1567112136542" TEXT="muß das vor dem Zeichnen passieren?">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
|
||||||
<node CREATED="1563144864662" ID="ID_1195404065" MODIFIED="1563144993000" TEXT="vermutlich nicht">
|
<node CREATED="1563144864662" ID="ID_1195404065" MODIFIED="1563144993000" TEXT="vermutlich nicht">
|
||||||
<richcontent TYPE="NOTE"><html>
|
<richcontent TYPE="NOTE"><html>
|
||||||
<head>
|
<head>
|
||||||
|
|
@ -22962,6 +22965,14 @@
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
|
<node COLOR="#338800" CREATED="1567112155198" ID="ID_1564197871" MODIFIED="1567112274356" TEXT="Lösung: bei der Track-Profil-berechnung auch die Höhen mit berechnen">
|
||||||
|
<linktarget COLOR="#19b37d" DESTINATION="ID_1564197871" ENDARROW="Default" ENDINCLINATION="-60;-64;" ID="Arrow_ID_1251305334" SOURCE="ID_1427979726" STARTARROW="None" STARTINCLINATION="-169;0;"/>
|
||||||
|
<icon BUILTIN="button_ok"/>
|
||||||
|
<node CREATED="1567112179157" ID="ID_1902444378" MODIFIED="1567112191717" TEXT="weil man dann automatisch die korrekte Rechen-Struktur bekommt"/>
|
||||||
|
<node CREATED="1567112192681" ID="ID_1279312303" MODIFIED="1567112207325" TEXT="besonders kniffelig waren die variablen kombinierten up-Slopes">
|
||||||
|
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node CREATED="1554517044045" ID="ID_520113686" MODIFIED="1557498707230" TEXT="Farben bereitstellen">
|
<node CREATED="1554517044045" ID="ID_520113686" MODIFIED="1557498707230" TEXT="Farben bereitstellen">
|
||||||
|
|
@ -23889,9 +23900,9 @@
|
||||||
<node CREATED="1564955112027" ID="ID_1010819780" MODIFIED="1564955123894" TEXT="Integration in Zeichenvorgang insgesamt beachten"/>
|
<node CREATED="1564955112027" ID="ID_1010819780" MODIFIED="1564955123894" TEXT="Integration in Zeichenvorgang insgesamt beachten"/>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1566518983355" ID="ID_35592741" MODIFIED="1566519139548" TEXT="Zusammenspiel zw. Höhe und CSS">
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1566518983355" ID="ID_35592741" MODIFIED="1567112324220" TEXT="Zusammenspiel zw. Höhe und CSS">
|
||||||
<linktarget COLOR="#779be7" DESTINATION="ID_35592741" ENDARROW="Default" ENDINCLINATION="109;-329;" ID="Arrow_ID_66200016" SOURCE="ID_183446100" STARTARROW="None" STARTINCLINATION="479;0;"/>
|
<linktarget COLOR="#779be7" DESTINATION="ID_35592741" ENDARROW="Default" ENDINCLINATION="109;-329;" ID="Arrow_ID_66200016" SOURCE="ID_183446100" STARTARROW="None" STARTINCLINATION="479;0;"/>
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="pencil"/>
|
||||||
<node CREATED="1566518998190" ID="ID_284079883" MODIFIED="1566519017050" TEXT="Stylesheet bestimmt zusätzlichen Margin + Padding"/>
|
<node CREATED="1566518998190" ID="ID_284079883" MODIFIED="1566519017050" TEXT="Stylesheet bestimmt zusätzlichen Margin + Padding"/>
|
||||||
<node CREATED="1566519017878" ID="ID_30554429" MODIFIED="1566519029065" TEXT="diese müssen mit den Werten im TrackBody verrechnet werden">
|
<node CREATED="1566519017878" ID="ID_30554429" MODIFIED="1566519029065" TEXT="diese müssen mit den Werten im TrackBody verrechnet werden">
|
||||||
<node COLOR="#338800" CREATED="1566522092555" ID="ID_293262823" MODIFIED="1566524848312" TEXT="Konsequenz: TrackBody muß auch den Style abfragen">
|
<node COLOR="#338800" CREATED="1566522092555" ID="ID_293262823" MODIFIED="1566524848312" TEXT="Konsequenz: TrackBody muß auch den Style abfragen">
|
||||||
|
|
@ -23931,13 +23942,13 @@
|
||||||
<arrowlink COLOR="#2b75cc" DESTINATION="ID_1092949064" ENDARROW="Default" ENDINCLINATION="286;83;" ID="Arrow_ID_1686979270" STARTARROW="None" STARTINCLINATION="572;0;"/>
|
<arrowlink COLOR="#2b75cc" DESTINATION="ID_1092949064" ENDARROW="Default" ENDINCLINATION="286;83;" ID="Arrow_ID_1686979270" STARTARROW="None" STARTINCLINATION="572;0;"/>
|
||||||
<icon BUILTIN="idea"/>
|
<icon BUILTIN="idea"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1566524922429" ID="ID_1618879281" MODIFIED="1566524941579" TEXT="für den Overlay-Pass genau analoge Berechnungen machen">
|
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1566524922429" ID="ID_1618879281" MODIFIED="1567112334102" TEXT="für den Overlay-Pass genau analoge Berechnungen machen">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="flag-pink"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1566956214907" ID="ID_1608124774" MODIFIED="1566956325489" TEXT="Größen-Berechnung">
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1566956214907" ID="ID_1608124774" MODIFIED="1567112316137" TEXT="Größen-Berechnung">
|
||||||
<arrowlink COLOR="#9f91a7" DESTINATION="ID_261041772" ENDARROW="Default" ENDINCLINATION="-490;-44;" ID="Arrow_ID_462162449" STARTARROW="None" STARTINCLINATION="345;14;"/>
|
<arrowlink COLOR="#9f91a7" DESTINATION="ID_261041772" ENDARROW="Default" ENDINCLINATION="-490;-44;" ID="Arrow_ID_462162449" STARTARROW="None" STARTINCLINATION="345;14;"/>
|
||||||
<arrowlink COLOR="#b75674" DESTINATION="ID_31825370" ENDARROW="Default" ENDINCLINATION="178;986;" ID="Arrow_ID_1663311989" STARTARROW="None" STARTINCLINATION="-248;-11;"/>
|
<arrowlink COLOR="#b75674" DESTINATION="ID_31825370" ENDARROW="Default" ENDINCLINATION="178;986;" ID="Arrow_ID_1663311989" STARTARROW="None" STARTINCLINATION="-248;-11;"/>
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="pencil"/>
|
||||||
<node CREATED="1566956340002" ID="ID_1472575231" MODIFIED="1566956344957" TEXT="stimmen die Werte?">
|
<node CREATED="1566956340002" ID="ID_1472575231" MODIFIED="1566956344957" TEXT="stimmen die Werte?">
|
||||||
<node CREATED="1566957803903" ID="ID_474929251" MODIFIED="1566957807116" TEXT="beobachtet">
|
<node CREATED="1566957803903" ID="ID_474929251" MODIFIED="1566957807116" TEXT="beobachtet">
|
||||||
<node CREATED="1566957808335" ID="ID_1187167099" MODIFIED="1566957813234" TEXT="Größenberechnung">
|
<node CREATED="1566957808335" ID="ID_1187167099" MODIFIED="1566957813234" TEXT="Größenberechnung">
|
||||||
|
|
@ -23954,10 +23965,7 @@
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1566957944718" ID="ID_629892163" MODIFIED="1566957974050" TEXT="Befund: Zeichencode verbraucht zusätzlichen Platz">
|
<node COLOR="#338800" CREATED="1566958520767" ID="ID_350091895" MODIFIED="1567112014997" TEXT="diagnostisches Hilfs-drawing sollte Canvas-Größe als Bezug verwenden">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
|
||||||
</node>
|
|
||||||
<node COLOR="#338800" CREATED="1566958520767" ID="ID_350091895" MODIFIED="1567088347393" TEXT="diagnostisches Hilfs-drawing sollte Canvas-Größe als Bezug verwenden">
|
|
||||||
<richcontent TYPE="NOTE"><html>
|
<richcontent TYPE="NOTE"><html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
|
|
@ -23974,8 +23982,13 @@
|
||||||
</richcontent>
|
</richcontent>
|
||||||
<icon BUILTIN="button_ok"/>
|
<icon BUILTIN="button_ok"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1566958287015" ID="ID_1587873335" MODIFIED="1566958313029" TEXT="Verdacht: es fehlen die Slope-Borders">
|
<node CREATED="1566957944718" ID="ID_629892163" MODIFIED="1567112025398" TEXT="Befund: der reale Zeichencode verbraucht zusätzlichen Platz">
|
||||||
<icon BUILTIN="flag-pink"/>
|
<arrowlink COLOR="#ce2c4f" DESTINATION="ID_1587873335" ENDARROW="Default" ENDINCLINATION="-43;-72;" ID="Arrow_ID_1930337724" STARTARROW="None" STARTINCLINATION="40;43;"/>
|
||||||
|
<icon BUILTIN="forward"/>
|
||||||
|
</node>
|
||||||
|
<node COLOR="#435e98" CREATED="1566958287015" ID="ID_1587873335" MODIFIED="1567112048235" TEXT="Verdacht: es fehlen die Slope-Borders">
|
||||||
|
<linktarget COLOR="#ce2c4f" DESTINATION="ID_1587873335" ENDARROW="Default" ENDINCLINATION="-43;-72;" ID="Arrow_ID_1930337724" SOURCE="ID_629892163" STARTARROW="None" STARTINCLINATION="40;43;"/>
|
||||||
|
<icon BUILTIN="yes"/>
|
||||||
<node CREATED="1566958323689" ID="ID_604642616" MODIFIED="1566958330665" TEXT="TrackBody::calcHeight()"/>
|
<node CREATED="1566958323689" ID="ID_604642616" MODIFIED="1566958330665" TEXT="TrackBody::calcHeight()"/>
|
||||||
<node CREATED="1566958579858" ID="ID_1841811096" MODIFIED="1566958601472" TEXT="diese hängen nämlich von der Schachtelungstiefe ab"/>
|
<node CREATED="1566958579858" ID="ID_1841811096" MODIFIED="1566958601472" TEXT="diese hängen nämlich von der Schachtelungstiefe ab"/>
|
||||||
<node CREATED="1566958602561" ID="ID_106882219" MODIFIED="1566958625572" TEXT="Diskrepanz (45 Pixel) sieht plausibel aus"/>
|
<node CREATED="1566958602561" ID="ID_106882219" MODIFIED="1566958625572" TEXT="Diskrepanz (45 Pixel) sieht plausibel aus"/>
|
||||||
|
|
@ -23990,9 +24003,11 @@
|
||||||
</node>
|
</node>
|
||||||
<node CREATED="1567085476174" ID="ID_745197382" MODIFIED="1567085485153" TEXT="Prelude und Coda fehlen ebenfalls"/>
|
<node CREATED="1567085476174" ID="ID_745197382" MODIFIED="1567085485153" TEXT="Prelude und Coda fehlen ebenfalls"/>
|
||||||
</node>
|
</node>
|
||||||
<node CREATED="1567085499035" ID="ID_1732362754" MODIFIED="1567085511005" TEXT="wir brauchen Einzel-Offsets für jeden Track">
|
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1567085499035" ID="ID_1732362754" MODIFIED="1567112061359" TEXT="Beschluß: wir brauchen Einzel-Offsets für jeden Track">
|
||||||
|
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||||
|
<icon BUILTIN="yes"/>
|
||||||
<node CREATED="1567085512476" ID="ID_1140063837" MODIFIED="1567085514964" TEXT="warum?"/>
|
<node CREATED="1567085512476" ID="ID_1140063837" MODIFIED="1567085514964" TEXT="warum?"/>
|
||||||
<node CREATED="1567085515823" ID="ID_224781783" MODIFIED="1567085620489" TEXT="weil wir später Clips in den Track platzieren">
|
<node CREATED="1567085515823" ID="ID_224781783" MODIFIED="1567112084781" TEXT="weil wir später Clips in den Track platzieren">
|
||||||
<richcontent TYPE="NOTE"><html>
|
<richcontent TYPE="NOTE"><html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
|
|
@ -24012,15 +24027,16 @@
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
</richcontent>
|
</richcontent>
|
||||||
<linktarget COLOR="#5595df" DESTINATION="ID_224781783" ENDARROW="Default" ENDINCLINATION="-463;12;" ID="Arrow_ID_1285897355" SOURCE="ID_675568693" STARTARROW="None" STARTINCLINATION="40;-81;"/>
|
<linktarget COLOR="#5595df" DESTINATION="ID_224781783" ENDARROW="Default" ENDINCLINATION="-573;42;" ID="Arrow_ID_1285897355" SOURCE="ID_675568693" STARTARROW="None" STARTINCLINATION="47;-43;"/>
|
||||||
<icon BUILTIN="idea"/>
|
<icon BUILTIN="idea"/>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node CREATED="1567085534629" ID="ID_543607936" MODIFIED="1567085541209" TEXT="Einzel-Offsets pro Track">
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1567085534629" ID="ID_543607936" MODIFIED="1567111960367" TEXT="Einzel-Offsets pro Track">
|
||||||
<node CREATED="1567085546180" ID="ID_675568693" MODIFIED="1567085627922" TEXT="später benötigt">
|
<icon BUILTIN="flag-yellow"/>
|
||||||
<arrowlink COLOR="#5595df" DESTINATION="ID_224781783" ENDARROW="Default" ENDINCLINATION="-463;12;" ID="Arrow_ID_1285897355" STARTARROW="None" STARTINCLINATION="40;-81;"/>
|
<node CREATED="1567085546180" ID="ID_675568693" MODIFIED="1567112084781" TEXT="später benötigt">
|
||||||
|
<arrowlink COLOR="#5595df" DESTINATION="ID_224781783" ENDARROW="Default" ENDINCLINATION="-573;42;" ID="Arrow_ID_1285897355" STARTARROW="None" STARTINCLINATION="47;-43;"/>
|
||||||
<icon BUILTIN="info"/>
|
<icon BUILTIN="info"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1567085637546" ID="ID_682932701" MODIFIED="1567085645880" TEXT="sind im TrackBody zu speichern">
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1567085637546" ID="ID_682932701" MODIFIED="1567085645880" TEXT="sind im TrackBody zu speichern">
|
||||||
|
|
@ -24029,20 +24045,43 @@
|
||||||
<node COLOR="#338800" CREATED="1567085650636" ID="ID_394868232" MODIFIED="1567088360350" TEXT="brauche elaboriertere Storage für Dekorationen">
|
<node COLOR="#338800" CREATED="1567085650636" ID="ID_394868232" MODIFIED="1567088360350" TEXT="brauche elaboriertere Storage für Dekorationen">
|
||||||
<icon BUILTIN="button_ok"/>
|
<icon BUILTIN="button_ok"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1567085662725" ID="ID_1234980335" MODIFIED="1567085677794" TEXT="beim Profile-building pass mit berechnen">
|
<node COLOR="#338800" CREATED="1567085662725" ID="ID_1234980335" MODIFIED="1567111947683" TEXT="beim Profile-building pass mit berechnen">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="button_ok"/>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1567085681514" ID="ID_1776230312" MODIFIED="1567085692842" TEXT="line-Variable rekursiv mitführen">
|
<node COLOR="#338800" CREATED="1567085681514" ID="ID_1776230312" MODIFIED="1567111949735" TEXT="line-Variable rekursiv mitführen">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="button_ok"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1567085696585" ID="ID_104428046" MODIFIED="1567085711316" TEXT="Hilfsfunktion für Border-width">
|
<node COLOR="#338800" CREATED="1567085696585" ID="ID_104428046" MODIFIED="1567111943463" TEXT="Hilfsfunktion für Border-width">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="button_ok"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1567085713758" ID="ID_1794483413" MODIFIED="1567085728336" TEXT="Profil: vorausgehende border abfragen">
|
<node COLOR="#338800" CREATED="1567085713758" ID="ID_1794483413" MODIFIED="1567111945368" TEXT="Profil: vorausgehende border abfragen">
|
||||||
|
<icon BUILTIN="button_ok"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1567112357515" ID="ID_921918885" MODIFIED="1567112439946" TEXT="man könnte noch einen Margin pro Track einarbeiten">
|
||||||
|
<richcontent TYPE="NOTE"><html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
bisher verwende ich den nur im Prolog/Coda.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
könnte sinnvoll sein, um direkt benachbarte Spuren leicht voneinander abzusetzen
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
muß allerdings wirklich <i>außerhalb</i> der (inset) slopes eingebaut werden
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</richcontent>
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="flag-yellow"/>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1566956347881" ID="ID_1434222749" MODIFIED="1567112111879" TEXT="Koordinaten beachten">
|
||||||
<node CREATED="1566956347881" ID="ID_1434222749" MODIFIED="1566956359141" TEXT="Koordinaten beachten">
|
<icon BUILTIN="bell"/>
|
||||||
<node CREATED="1566956361471" ID="ID_1879544719" MODIFIED="1566956417944" TEXT="Vorsicht bei gemeinsam genormten Koordinaten">
|
<node CREATED="1566956361471" ID="ID_1879544719" MODIFIED="1566956417944" TEXT="Vorsicht bei gemeinsam genormten Koordinaten">
|
||||||
<richcontent TYPE="NOTE"><html>
|
<richcontent TYPE="NOTE"><html>
|
||||||
<head>
|
<head>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue