projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Draw stacked decoder traces below the other PDs (avoids overlap).
[pulseview.git]
/
pv
/
view
/
decodetrace.cpp
diff --git
a/pv/view/decodetrace.cpp
b/pv/view/decodetrace.cpp
index cf5cd2ee35e1cc496f953a44b63fdd711756bdfc..c3ac3dabfabf04d7710f28a600790215e38d7573 100644
(file)
--- a/
pv/view/decodetrace.cpp
+++ b/
pv/view/decodetrace.cpp
@@
-47,8
+47,13
@@
extern "C" {
#include <pv/widgets/decodergroupbox.h>
#include <pv/widgets/decodermenu.h>
#include <pv/widgets/decodergroupbox.h>
#include <pv/widgets/decodermenu.h>
-using namespace boost;
-using namespace std;
+using boost::dynamic_pointer_cast;
+using boost::shared_ptr;
+using std::list;
+using std::max;
+using std::map;
+using std::min;
+using std::vector;
namespace pv {
namespace view {
namespace pv {
namespace view {
@@
-150,9
+155,18
@@
void DecodeTrace::paint_mid(QPainter &p, int left, int right)
assert(_decoder_stack);
vector<Annotation> annotations(_decoder_stack->annotations());
assert(_decoder_stack);
vector<Annotation> annotations(_decoder_stack->annotations());
- BOOST_FOREACH(const Annotation &a, annotations)
+
+ BOOST_FOREACH(const Annotation &a, annotations) {
+ // Every stacked PD is 60 pixels further down.
+ int y_stack_offset = a.pd_index() * 60;
+
+ // Every annotation row is 20 pixels further down.
+ int y_ann_row_offset = a.row() * 20;
+
draw_annotation(a, p, get_text_colour(), h, left, right,
draw_annotation(a, p, get_text_colour(), h, left, right,
- samples_per_pixel, pixels_offset, y);
+ samples_per_pixel, pixels_offset,
+ y + y_stack_offset + y_ann_row_offset);
+ }
draw_unresolved_period(p, h, left, right,
samples_per_pixel, pixels_offset);
draw_unresolved_period(p, h, left, right,
samples_per_pixel, pixels_offset);