21 #ifndef PULSEVIEW_PV_VIEW_DECODETRACE_HPP
22 #define PULSEVIEW_PV_VIEW_DECODETRACE_HPP
31 #include <QSignalMapper>
56 class DecoderGroupBox;
69 const std::shared_ptr<pv::data::decode::Decoder>
decoder_;
87 std::shared_ptr<pv::data::DecoderStack> decoder_stack,
92 const std::shared_ptr<pv::data::DecoderStack>&
decoder()
const;
128 void draw_annotations(std::vector<pv::data::decode::Annotation> annotations,
134 size_t base_colour)
const;
137 QPainter &p,
int h,
int y,
size_t base_colour)
const;
140 QColor fill, QColor outline,
int h,
double x,
int y)
const;
143 QColor fill, QColor outline,
int h,
double start,
144 double end,
int y)
const;
146 void draw_error(QPainter &p,
const QString &message,
161 std::pair<uint64_t, uint64_t>
get_sample_range(
int x_start,
int x_end)
const;
168 std::shared_ptr<pv::data::decode::Decoder> &dec,
169 QWidget *parent, QFormLayout *form);
172 const std::shared_ptr<pv::data::decode::Decoder> &dec,
173 const srd_channel *
const pdch);
176 std::shared_ptr<data::decode::Decoder> &dec);
202 std::list< std::shared_ptr<pv::binding::Decoder> >
217 #endif // PULSEVIEW_PV_VIEW_DECODETRACE_HPP
QPoint point(const QRect &rect) const
void hover_point_changed()
void on_delete_decoder(int index)
std::pair< int, int > v_extents() const
static const QColor NoDecodeColour
DecodeTrace(pv::Session &session, std::shared_ptr< pv::data::DecoderStack > decoder_stack, int index)
std::list< ChannelSelector > channel_selectors_
static const QColor OutlineColours[16]
void on_channel_selected(int)
void draw_unresolved_period(QPainter &p, int h, int left, int right) const
QSignalMapper delete_mapper_
void commit_decoder_channels(std::shared_ptr< data::decode::Decoder > &dec)
void draw_instant(const pv::data::decode::Annotation &a, QPainter &p, QColor fill, QColor outline, int h, double x, int y) const
void populate_popup_form(QWidget *parent, QFormLayout *form)
static const int ArrowSize
static const QColor ErrorBgColour
const std::shared_ptr< pv::data::decode::Decoder > decoder_
void draw_range(const pv::data::decode::Annotation &a, QPainter &p, QColor fill, QColor outline, int h, double start, double end, int y) const
std::vector< data::decode::Row > visible_rows_
void create_decoder_form(int index, std::shared_ptr< pv::data::decode::Decoder > &dec, QWidget *parent, QFormLayout *form)
void draw_annotation_block(std::vector< pv::data::decode::Annotation > a, QPainter &p, int h, int y, size_t base_colour) const
void draw_annotations(std::vector< pv::data::decode::Annotation > annotations, QPainter &p, int h, const ViewItemPaintParams &pp, int y, size_t base_colour)
static const double EndCapWidth
void draw_annotation(const pv::data::decode::Annotation &a, QPainter &p, int text_height, const ViewItemPaintParams &pp, int y, size_t base_colour) const
void on_new_decode_data()
void on_stack_decoder(srd_decoder *decoder)
const std::shared_ptr< pv::data::DecoderStack > & decoder() const
const srd_channel * pdch_
std::list< std::shared_ptr< pv::binding::Decoder > > bindings_
QMenu * create_context_menu(QWidget *parent)
QSignalMapper show_hide_mapper_
void paint_mid(QPainter &p, const ViewItemPaintParams &pp)
QComboBox * create_channel_selector(QWidget *parent, const std::shared_ptr< pv::data::decode::Decoder > &dec, const srd_channel *const pdch)
int get_row_at_point(const QPoint &point)
void draw_error(QPainter &p, const QString &message, const ViewItemPaintParams &pp)
static const QColor Colours[16]
std::pair< uint64_t, uint64_t > get_sample_range(int x_start, int x_end) const
std::shared_ptr< pv::data::DecoderStack > decoder_stack_
void paint_back(QPainter &p, const ViewItemPaintParams &pp)
void paint_fore(QPainter &p, const ViewItemPaintParams &pp)
static const int DrawPadding
std::vector< pv::widgets::DecoderGroupBox * > decoder_forms_
std::pair< double, double > get_pixels_offset_samples_per_pixel() const
const QString get_annotation_at_point(const QPoint &point)
void on_show_hide_decoder(int index)
static const QColor DecodeColours[4]