X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fannotation.hpp;h=edc27bee4dfa52947477980622e137863aaa14f2;hp=2be8e88d989e4cddacaa18d9b86156ca875c4e95;hb=86d4b8e3e52a422fe3a6956d6bbef27f1859717b;hpb=6f925ba9d6faf1077b73c5a5808259576081716a diff --git a/pv/data/decode/annotation.hpp b/pv/data/decode/annotation.hpp index 2be8e88d..edc27bee 100644 --- a/pv/data/decode/annotation.hpp +++ b/pv/data/decode/annotation.hpp @@ -20,8 +20,10 @@ #ifndef PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP #define PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP -#include +#include +#include +#include #include using std::vector; @@ -32,21 +34,48 @@ namespace pv { namespace data { namespace decode { +class Row; +class RowData; + class Annotation { public: - Annotation(const srd_proto_data *const pdata); + typedef uint32_t Class; + +public: + 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); + + const RowData* row_data() const; + const Row* row() const; uint64_t start_sample() const; uint64_t end_sample() const; - int format() const; - const vector& annotations() 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 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_; - int format_; - vector annotations_; + const vector* texts_; + Class ann_class_id_; + const RowData* data_; }; } // namespace decode