trase
Drawable.hpp File Reference
#include <array>
#include <memory>
#include <ostream>
#include <vector>
#include "util/BBox.hpp"
#include "util/Style.hpp"
#include "backend/BackendSVG.hpp"
Include dependency graph for Drawable.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  trase::FrameInfo
 A helper struct for Drawable that holds frame-related information. More...
 
class  trase::Drawable
 Base class for drawable objects in a figure. More...
 

Macros

#define TRASE_DISPATCH(backend_type)
 
#define TRASE_ANIMATED_DISPATCH(backend_type)
 
#define TRASE_DISPATCH_SVG
 
#define TRASE_DISPATCH_GL
 
#define TRASE_DISPATCH_BACKENDS
 

Macro Definition Documentation

◆ TRASE_ANIMATED_DISPATCH

#define TRASE_ANIMATED_DISPATCH (   backend_type)
Value:
void dispatch(backend_type &backend) override { \
if (m_times.size() == 1) { \
draw(backend, 0); \
} else { \
draw(backend); \
} \
for (auto &i : m_children) { \
i->dispatch(backend); \
} \
}

◆ TRASE_DISPATCH

#define TRASE_DISPATCH (   backend_type)
Value:
void dispatch(backend_type &backend, float time) override { \
draw(backend, time); \
for (auto &i : m_children) { \
i->dispatch(backend, time); \
} \
}

◆ TRASE_DISPATCH_BACKENDS

#define TRASE_DISPATCH_BACKENDS
Value:
TRASE_DISPATCH_SVG \
TRASE_DISPATCH_GL

◆ TRASE_DISPATCH_SVG

#define TRASE_DISPATCH_SVG
Value:
TRASE_DISPATCH(BackendSVG) \
TRASE_ANIMATED_DISPATCH(BackendSVG)