X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fannotation.hpp;h=aab5119c4b94596071cc01a4c7ddeb4bf439c580;hb=4efbe9b6675847dcf670bbdbe86f320e5321be09;hp=e599bdd447343e75254fe00aa879109a6feb52da;hpb=f54e68b03d5d24c7787962fcc701d8d52b0ec8ab;p=pulseview.git diff --git a/pv/data/decode/annotation.hpp b/pv/data/decode/annotation.hpp index e599bdd4..aab5119c 100644 --- a/pv/data/decode/annotation.hpp +++ b/pv/data/decode/annotation.hpp @@ -17,14 +17,17 @@ * along with this program; if not, see . */ -#ifndef PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP -#define PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP +#ifndef PULSEVIEW_PV_DATA_DECODE_ANNOTATION_HPP +#define PULSEVIEW_PV_DATA_DECODE_ANNOTATION_HPP #include #include +#include #include +#include "pv/data/decode/row.hpp" + using std::vector; struct srd_proto_data; @@ -33,41 +36,48 @@ namespace pv { namespace data { namespace decode { -class Row; +class RowData; class Annotation { public: - typedef uint32_t Class; - -public: - Annotation(const srd_proto_data *const pdata, const Row *row); + Annotation(uint64_t start_sample, uint64_t end_sample, + const vector* texts, uint32_t ann_class_id, const RowData *data); Annotation(Annotation&& a); Annotation& operator=(Annotation&& a); - ~Annotation(); + + const RowData* row_data() const; + const Row* row() const; uint64_t start_sample() const; uint64_t end_sample() const; + uint64_t length() const; - Class ann_class_id() const; + uint32_t 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; - const Row* row() 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_; - vector* annotations_; - const Row *row_; - Class ann_class_id_; + const vector* texts_; + uint32_t ann_class_id_; + const RowData* data_; }; } // namespace decode } // namespace data } // namespace pv -#endif // PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP +#endif // PULSEVIEW_PV_DATA_DECODE_ANNOTATION_HPP