X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fannotation.cpp;h=7f2334788f70f93c2a734d680c90d6a8b957d293;hp=829bdbaf9a700b645f9fb55d6b7bdf0a725855ca;hb=1e948182f3f9353bd74875a37cacc833312a8c8e;hpb=ae30ff422a495a6b1a4ad2893566628863ea222b diff --git a/pv/data/decode/annotation.cpp b/pv/data/decode/annotation.cpp index 829bdbaf..7f233478 100644 --- a/pv/data/decode/annotation.cpp +++ b/pv/data/decode/annotation.cpp @@ -35,7 +35,7 @@ namespace data { namespace decode { Annotation::Annotation(uint64_t start_sample, uint64_t end_sample, - const vector* texts, Class ann_class_id, const RowData *data) : + const vector* texts, uint32_t ann_class_id, const RowData *data) : start_sample_(start_sample), end_sample_(end_sample), texts_(texts), @@ -66,6 +66,11 @@ Annotation& Annotation::operator=(Annotation&& a) return *this; } +const RowData* Annotation::row_data() const +{ + return data_; +} + const Row* Annotation::row() const { return data_->row(); @@ -81,7 +86,12 @@ uint64_t Annotation::end_sample() const return end_sample_; } -Annotation::Class Annotation::ann_class_id() const +uint64_t Annotation::length() const +{ + return end_sample_ - start_sample_; +} + +uint32_t Annotation::ann_class_id() const { return ann_class_id_; } @@ -94,6 +104,14 @@ const QString Annotation::ann_class_name() const return QString(ann_class->name); } +const QString Annotation::ann_class_description() const +{ + const AnnotationClass* ann_class = + data_->row()->decoder()->get_ann_class_by_id(ann_class_id_); + + return QString(ann_class->description); +} + const vector* Annotation::annotations() const { return texts_; @@ -104,6 +122,14 @@ const QString Annotation::longest_annotation() const return texts_->front(); } +bool Annotation::visible() const +{ + const Row* row = data_->row(); + + return (row->visible() && row->class_is_visible(ann_class_id_) + && row->decoder()->visible()); +} + const QColor Annotation::color() const { return data_->row()->get_class_color(ann_class_id_);