/* * IntervalTickProperties.hh * * Created on: Jan 26, 2015 * Author: AKKA */ #ifndef INTERVALTICKPROPERTIES_HH_ #define INTERVALTICKPROPERTIES_HH_ #include #include #include #include "Label.hh" #include "Font.hh" #include "SymbolProperties.hh" namespace plot { /* Enumerate to define the drawing mode of the interval tick */ enum class IntervalTickMode { NONE = 0, SYMBOL_ONLY = 1, INTERVAL_INDEX = 2, START_TIME = 3, START_STOP_TIME = 4 }; /** * IntervalTick properties. */ class IntervalTickProperties { public: friend std::ostream& operator<<(std::ostream& out_, const IntervalTickProperties& prop_); /* * Dumps properties for test. */ void dump(std::ostream& out_, std::string& prefix_); IntervalTickProperties() : _mode(IntervalTickMode::NONE), _symbol(), _color(), _font("sans-serif", 11) { } IntervalTickProperties(const IntervalTickProperties& pIntervalTickProperties_) : _mode(pIntervalTickProperties_._mode), _symbol(pIntervalTickProperties_._symbol), _color(pIntervalTickProperties_._color), _font(pIntervalTickProperties_.getFont()) { } IntervalTickProperties& operator=(const IntervalTickProperties& pIntervalTickProperties_) { _mode = pIntervalTickProperties_._mode; _symbol = pIntervalTickProperties_._symbol; _color = pIntervalTickProperties_._color; _font = pIntervalTickProperties_.getFont(); return *this; } virtual ~IntervalTickProperties() { } IntervalTickMode& getMode() { return _mode; } void setMode(const IntervalTickMode& mode) { _mode = mode; } const Font& getFont() const { return _font; } void setFont(const Font& font) { _font = font; } SymbolProperties& getSymbol() { return _symbol; } void setSymbol(const SymbolProperties& symbol) { _symbol = symbol; } Color& getColor() { return _color; } void setColor(const Color& color) { _color = color; } private: IntervalTickMode _mode; SymbolProperties _symbol; Color _color; Font _font; }; } /* namespace plot */ #endif /* INTERVALTICKPROPERTIES_HH_ */