X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fannotation.hpp;h=edc27bee4dfa52947477980622e137863aaa14f2;hp=f1e2ef35975bb30d27015c64d08f51a8b25ef103;hb=86d4b8e3e52a422fe3a6956d6bbef27f1859717b;hpb=2acdb232d6bb452cfdfaea3ef5218fb4da592329
diff --git a/pv/data/decode/annotation.hpp b/pv/data/decode/annotation.hpp
index f1e2ef35..edc27bee 100644
--- a/pv/data/decode/annotation.hpp
+++ b/pv/data/decode/annotation.hpp
@@ -14,42 +14,72 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see .
*/
-#ifndef PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_H
-#define PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_H
+#ifndef PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP
+#define PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP
-#include
+#include
+#include
+#include
#include
+using std::vector;
+
struct srd_proto_data;
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 std::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_;
- std::vector annotations_;
+ const vector* texts_;
+ Class ann_class_id_;
+ const RowData* data_;
};
} // namespace decode
} // namespace data
} // namespace pv
-#endif // PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_H
+#endif // PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP