X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fannotation.cpp;h=55caa2d7adbfb9810260811ef5b6c0b1372ef2f3;hb=81dc02212c05c99554194a15f9b584e6b500cda9;hp=7c720430e9d6cf7e6a688fd6c138cad2cd90589b;hpb=6f925ba9d6faf1077b73c5a5808259576081716a;p=pulseview.git diff --git a/pv/data/decode/annotation.cpp b/pv/data/decode/annotation.cpp index 7c720430..55caa2d7 100644 --- a/pv/data/decode/annotation.cpp +++ b/pv/data/decode/annotation.cpp @@ -24,7 +24,7 @@ extern "C" { #include #include -#include "annotation.hpp" +#include using std::vector; @@ -32,22 +32,25 @@ namespace pv { namespace data { namespace decode { -Annotation::Annotation(const srd_proto_data *const pdata) : +Annotation::Annotation(const srd_proto_data *const pdata, const Row *row) : start_sample_(pdata->start_sample), - end_sample_(pdata->end_sample) + end_sample_(pdata->end_sample), + row_(row) { assert(pdata); const srd_proto_data_annotation *const pda = (const srd_proto_data_annotation*)pdata->data; assert(pda); - format_ = pda->ann_class; + ann_class_ = (Class)(pda->ann_class); const char *const *annotations = (char**)pda->ann_text; while (*annotations) { annotations_.push_back(QString::fromUtf8(*annotations)); annotations++; } + + annotations_.shrink_to_fit(); } uint64_t Annotation::start_sample() const @@ -60,9 +63,9 @@ uint64_t Annotation::end_sample() const return end_sample_; } -int Annotation::format() const +Annotation::Class Annotation::ann_class() const { - return format_; + return ann_class_; } const vector& Annotation::annotations() const @@ -70,6 +73,16 @@ const vector& Annotation::annotations() const return annotations_; } +const Row* Annotation::row() const +{ + return row_; +} + +bool Annotation::operator<(const Annotation &other) const +{ + return (start_sample_ < other.start_sample_); +} + } // namespace decode } // namespace data } // namespace pv