Lumiera  0.pre.03
»edit your freedom«
track-profile.hpp File Reference

Go to the source code of this file.

Description

Abstraction to build the layout for the track spaces within timeline display.

In Lumiera, tracks are arranged into a fork of nested shapes, which structure is parallelled into a nested structure of TrackBody elements. A tree walk over this structure yields a sequence of adjacent timeline elements, like overview rulers, content area and nested child track display. This sequence can then be transformed into suitable drawing instructions to create a 3D shaded display, clearly highlighting the complex structure of the track arrangement.

Todo:
WIP-WIP-WIP as of 6/2019

Definition in file track-profile.hpp.

#include "stage/gtk-base.hpp"
#include "lib/verb-visitor.hpp"
#include "lib/iter-explorer.hpp"
#include "lib/symbol.hpp"
#include "lib/util.hpp"
#include <utility>
#include <vector>

Classes

class  ProfileInterpreter
 
class  TrackProfile
 Description of the structure and arrangement of tracks for display in the UI. More...
 

Macros

#define TOKEN_BUILDER(_TOK_)
 

Namespaces

 stage
 Lumiera GTK UI implementation root.
 
 stage::timeline
 The timeline display and editing operations.
 

Macro Definition Documentation

◆ TOKEN_BUILDER

#define TOKEN_BUILDER (   _TOK_)
Value:
template<typename...ARGS> \
void \
append_ ## _TOK_ (ARGS&&... params)\
{ \
this->append (&ProfileInterpreter::_TOK_, STRINGIFY(_TOK_), forward<ARGS>(params)...); \
}
#define STRINGIFY(TOKEN)
this macro wraps its parameter into a cstring literal
Definition: util.hpp:508

Definition at line 121 of file track-profile.hpp.