X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Frow.hpp;h=000bdf9e6b935c8ee838367c7a5c8460badfcca9;hp=34bb2373e844babd768335d4d8a335a227696b0c;hb=ae30ff422a495a6b1a4ad2893566628863ea222b;hpb=1ed996b433f3391f54846784d76da4fe6b07500f diff --git a/pv/data/decode/row.hpp b/pv/data/decode/row.hpp index 34bb2373..000bdf9e 100644 --- a/pv/data/decode/row.hpp +++ b/pv/data/decode/row.hpp @@ -22,7 +22,10 @@ #include -#include "annotation.hpp" +#include + +#include +#include struct srd_decoder; struct srd_decoder_annotation_row; @@ -31,27 +34,52 @@ namespace pv { namespace data { namespace decode { +#define DECODE_COLOR_SATURATION (180) /* 0-255 */ +#define DECODE_COLOR_VALUE (170) /* 0-255 */ + +struct AnnotationClass; +class Decoder; + class Row { public: Row(); - Row(int index, const srd_decoder *decoder, - const srd_decoder_annotation_row *row = nullptr); + Row(uint32_t index, Decoder* decoder, + const srd_decoder_annotation_row* srd_row = nullptr); - const srd_decoder* decoder() const; - const srd_decoder_annotation_row* row() const; + const Decoder* decoder() const; + const srd_decoder_annotation_row* get_srd_row() const; const QString title() const; - const QString class_name() const; - int index() const; + const QString description() const; + vector ann_classes() const; + uint32_t index() const; + + bool visible() const; + void set_visible(bool visible); - bool operator<(const Row &other) const; + void set_base_color(QColor base_color); + const QColor color() const; + const QColor get_class_color(uint32_t ann_class_id) const; + const QColor get_bright_class_color(uint32_t ann_class_id) const; + const QColor get_dark_class_color(uint32_t ann_class_id) const; + + bool has_hidden_classes() const; + + bool operator<(const Row& other) const; + bool operator==(const Row& other) const; private: - int index_; - const srd_decoder *decoder_; - const srd_decoder_annotation_row *row_; + uint32_t index_; + Decoder* decoder_; + const srd_decoder_annotation_row* srd_row_; + bool visible_; + + QColor color_; + map ann_class_color_; + map ann_bright_class_color_; + map ann_dark_class_color_; }; } // namespace decode