X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fannotation.cpp;h=f8a5c47b66236a8be66327a2c9ea05568970749f;hp=829bdbaf9a700b645f9fb55d6b7bdf0a725855ca;hb=HEAD;hpb=ae30ff422a495a6b1a4ad2893566628863ea222b diff --git a/pv/data/decode/annotation.cpp b/pv/data/decode/annotation.cpp index 829bdbaf..f8a5c47b 100644 --- a/pv/data/decode/annotation.cpp +++ b/pv/data/decode/annotation.cpp @@ -17,9 +17,7 @@ * along with this program; if not, see . */ -extern "C" { #include -} #include #include @@ -35,7 +33,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 +64,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 +84,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 +102,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 +120,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_);