-LogicSignal::LogicSignal(shared_ptr<pv::device::DevInst> dev_inst,
- const sr_channel *const probe, shared_ptr<data::Logic> data) :
- Signal(dev_inst, probe),
- _data(data),
- _trigger_none(NULL),
- _trigger_rising(NULL),
- _trigger_high(NULL),
- _trigger_falling(NULL),
- _trigger_low(NULL),
- _trigger_change(NULL)
+QColor LogicSignal::TriggerMarkerBackgroundColour = QColor(0xED, 0xD4, 0x00);
+const int LogicSignal::TriggerMarkerPadding = 2;
+const char* LogicSignal::TriggerMarkerIcons[8] = {
+ nullptr,
+ ":/icons/trigger-marker-low.svg",
+ ":/icons/trigger-marker-high.svg",
+ ":/icons/trigger-marker-rising.svg",
+ ":/icons/trigger-marker-falling.svg",
+ ":/icons/trigger-marker-change.svg",
+ nullptr,
+ nullptr
+};
+
+QCache<QString, const QIcon> LogicSignal::icon_cache_;
+QCache<QString, const QPixmap> LogicSignal::pixmap_cache_;
+
+LogicSignal::LogicSignal(
+ pv::Session &session,
+ shared_ptr<devices::Device> device,
+ shared_ptr<Channel> channel,
+ shared_ptr<data::Logic> data) :
+ Signal(session, channel),
+ device_(device),
+ data_(data),
+ trigger_none_(nullptr),
+ trigger_rising_(nullptr),
+ trigger_high_(nullptr),
+ trigger_falling_(nullptr),
+ trigger_low_(nullptr),
+ trigger_change_(nullptr)