]> sigrok.org Git - pulseview.git/blobdiff - pv/data/decode/decoder.cpp
Move row/annotation color management out of DecodeTrace
[pulseview.git] / pv / data / decode / decoder.cpp
index 0f12fec8bd753024c53c859f4a44427bfb7a5f81..600382feddb576346f9c835b44934a1cd049670b 100644 (file)
@@ -36,8 +36,9 @@ namespace pv {
 namespace data {
 namespace decode {
 
-Decoder::Decoder(const srd_decoder *const dec) :
+Decoder::Decoder(const srd_decoder *const dec, uint8_t stack_level) :
        srd_decoder_(dec),
+       stack_level_(stack_level),
        visible_(true),
        decoder_inst_(nullptr)
 {
@@ -96,6 +97,11 @@ const srd_decoder* Decoder::get_srd_decoder() const
        return srd_decoder_;
 }
 
+uint8_t Decoder::get_stack_level() const
+{
+       return stack_level_;
+}
+
 const char* Decoder::name() const
 {
        return srd_decoder_->name;
@@ -264,6 +270,14 @@ AnnotationClass* Decoder::get_ann_class_by_id(size_t id)
        return &(ann_classes_[id]);
 }
 
+const AnnotationClass* Decoder::get_ann_class_by_id(size_t id) const
+{
+       if (id >= ann_classes_.size())
+               return nullptr;
+
+       return &(ann_classes_[id]);
+}
+
 uint32_t Decoder::get_binary_class_count() const
 {
        return bin_classes_.size();