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_);