X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fannotation.hpp;h=edc27bee4dfa52947477980622e137863aaa14f2;hb=9a5ef9a0d7966bf956f0b32bf3a57029a8d7d45a;hp=1bb9ad34c046a215321d6e276b3ddea6bb453106;hpb=462941e2626cef9855e810abdb0458e99ee1c5f1;p=pulseview.git diff --git a/pv/data/decode/annotation.hpp b/pv/data/decode/annotation.hpp index 1bb9ad34..edc27bee 100644 --- a/pv/data/decode/annotation.hpp +++ b/pv/data/decode/annotation.hpp @@ -23,6 +23,7 @@ #include #include +#include #include using std::vector; @@ -34,6 +35,7 @@ namespace data { namespace decode { class Row; +class RowData; class Annotation { @@ -41,25 +43,39 @@ public: typedef uint32_t Class; public: - Annotation(const srd_proto_data *const pdata, const Row *row); + Annotation(uint64_t start_sample, uint64_t end_sample, + const vector* texts, Class ann_class_id, const RowData *data); Annotation(Annotation&& a); Annotation& operator=(Annotation&& a); - ~Annotation(); + + const RowData* row_data() const; + const Row* row() const; uint64_t start_sample() const; uint64_t end_sample() const; + uint64_t length() const; + Class ann_class_id() const; + const QString ann_class_name() const; + const QString ann_class_description() const; + const vector* annotations() const; - const Row* row() const; + const QString longest_annotation() const; + + bool visible() const; + + const QColor color() const; + const QColor bright_color() const; + const QColor dark_color() const; bool operator<(const Annotation &other) const; private: uint64_t start_sample_; uint64_t end_sample_; - vector* annotations_; - const Row *row_; + const vector* texts_; Class ann_class_id_; + const RowData* data_; }; } // namespace decode