# HG changeset patch # User Chris Cannam # Date 1574344999 0 # Node ID 045063dcd2bcc09120c385411dc26fda0247899c # Parent e79731086b0f1f2d59ecdaac91bb201f65b435a8# Parent e95cefd4aa81b49dc789f1216ff4058f82ba46ec Merge diff -r e79731086b0f -r 045063dcd2bc layer/BoxLayer.cpp --- a/layer/BoxLayer.cpp Thu Nov 21 14:02:57 2019 +0000 +++ b/layer/BoxLayer.cpp Thu Nov 21 14:03:19 2019 +0000 @@ -540,7 +540,8 @@ // Profiler profiler("BoxLayer::paint", true); - int x0 = rect.left() - 40, x1 = rect.right(); + int x0 = rect.left() - 40; + int x1 = x0 + rect.width() + 80; sv_frame_t wholeFrame0 = v->getFrameForX(0); sv_frame_t wholeFrame1 = v->getFrameForX(v->getPaintWidth()); diff -r e79731086b0f -r 045063dcd2bc layer/Colour3DPlotRenderer.cpp --- a/layer/Colour3DPlotRenderer.cpp Thu Nov 21 14:02:57 2019 +0000 +++ b/layer/Colour3DPlotRenderer.cpp Thu Nov 21 14:03:19 2019 +0000 @@ -480,7 +480,7 @@ if (!model) return magRange; int x0 = rect.left(); - int x1 = rect.right() + 1; + int x1 = x0 + rect.width(); int h = v->getPaintHeight(); diff -r e79731086b0f -r 045063dcd2bc layer/NoteLayer.cpp --- a/layer/NoteLayer.cpp Thu Nov 21 14:02:57 2019 +0000 +++ b/layer/NoteLayer.cpp Thu Nov 21 14:03:19 2019 +0000 @@ -714,7 +714,9 @@ // Profiler profiler("NoteLayer::paint", true); - int x0 = rect.left(), x1 = rect.right(); + int x0 = rect.left(); + int x1 = x0 + rect.width(); + sv_frame_t frame0 = v->getFrameForX(x0); sv_frame_t frame1 = v->getFrameForX(x1); diff -r e79731086b0f -r 045063dcd2bc layer/RegionLayer.cpp --- a/layer/RegionLayer.cpp Thu Nov 21 14:02:57 2019 +0000 +++ b/layer/RegionLayer.cpp Thu Nov 21 14:03:19 2019 +0000 @@ -849,7 +849,8 @@ // Profiler profiler("RegionLayer::paint", true); - int x0 = rect.left() - 40, x1 = rect.right(); + int x0 = rect.left() - 40; + int x1 = x0 + rect.width() + 80; sv_frame_t wholeFrame0 = v->getFrameForX(0); sv_frame_t wholeFrame1 = v->getFrameForX(v->getPaintWidth()); diff -r e79731086b0f -r 045063dcd2bc layer/TextLayer.cpp --- a/layer/TextLayer.cpp Thu Nov 21 14:02:57 2019 +0000 +++ b/layer/TextLayer.cpp Thu Nov 21 14:03:19 2019 +0000 @@ -299,7 +299,9 @@ // Profiler profiler("TextLayer::paint", true); - int x0 = rect.left(), x1 = rect.right(); + int x0 = rect.left(); + int x1 = x0 + rect.width(); + int overlap = ViewManager::scalePixelSize(150); sv_frame_t frame0 = v->getFrameForX(x0 - overlap); sv_frame_t frame1 = v->getFrameForX(x1 + overlap); diff -r e79731086b0f -r 045063dcd2bc layer/TimeInstantLayer.cpp --- a/layer/TimeInstantLayer.cpp Thu Nov 21 14:02:57 2019 +0000 +++ b/layer/TimeInstantLayer.cpp Thu Nov 21 14:03:19 2019 +0000 @@ -321,11 +321,20 @@ // Profiler profiler("TimeInstantLayer::paint", true); - int x0 = rect.left(), x1 = rect.right(); + int x0 = rect.left(); + int x1 = x0 + rect.width(); - sv_frame_t frame0 = v->getFrameForX(x0); + sv_frame_t resolution = model->getResolution(); + + sv_frame_t frame0 = v->getFrameForX(x0) - resolution; sv_frame_t frame1 = v->getFrameForX(x1); +#ifdef DEBUG_TIME_INSTANT_LAYER + SVCERR << "TimeInstantLayer[" << this << "]::paint: x0 = " + << x0 << ", x1 = " << x1 << ", frame0 = " << frame0 + << ", frame1 = " << frame1 << endl; +#endif + int overspill = 0; if (m_plotStyle == PlotSegmentation) { // We need to start painting at the prior point, so we can @@ -334,7 +343,13 @@ } EventVector points(model->getEventsWithin(frame0, frame1 - frame0, - overspill)); + overspill)); + +#ifdef DEBUG_TIME_INSTANT_LAYER + SVCERR << "TimeInstantLayer[" << this << "]::paint: have " << points.size() + << " point(s) with overspill = " << overspill << " from model " + << getModel() << endl; +#endif bool odd = false; if (m_plotStyle == PlotSegmentation && !points.empty()) { @@ -364,9 +379,6 @@ oddBrushColour.setAlpha(100); } -// SVDEBUG << "TimeInstantLayer::paint: resolution is " -// << model->getResolution() << " frames" << endl; - QPoint localPos; sv_frame_t illuminateFrame = -1; @@ -388,8 +400,18 @@ ++j; int x = v->getXForFrame(p.getFrame()); + +#ifdef DEBUG_TIME_INSTANT_LAYER + SVCERR << "point frame = " << p.getFrame() << " -> x = " << x << endl; +#endif + if (x == prevX && m_plotStyle == PlotInstants && - p.getFrame() != illuminateFrame) continue; + p.getFrame() != illuminateFrame) { +#ifdef DEBUG_TIME_INSTANT_LAYER + SVCERR << "(skipping)" << endl; +#endif + continue; + } int iw = v->getXForFrame(p.getFrame() + model->getResolution()) - x; if (iw < 2) { @@ -410,6 +432,10 @@ paint.setPen(brushColour); } +#ifdef DEBUG_TIME_INSTANT_LAYER + SVCERR << "m_plotStyle = " << m_plotStyle << ", iw = " << iw << endl; +#endif + if (m_plotStyle == PlotInstants) { if (iw > 1) { paint.drawRect(x, 0, iw - 1, v->getPaintHeight() - 1); @@ -516,7 +542,11 @@ } void -TimeInstantLayer::drawEnd(LayerGeometryProvider *, QMouseEvent *) +TimeInstantLayer::drawEnd(LayerGeometryProvider *, QMouseEvent * +#ifdef DEBUG_TIME_INSTANT_LAYER + e +#endif + ) { #ifdef DEBUG_TIME_INSTANT_LAYER cerr << "TimeInstantLayer::drawEnd(" << e->x() << ")" << endl; @@ -623,7 +653,11 @@ } void -TimeInstantLayer::editEnd(LayerGeometryProvider *, QMouseEvent *) +TimeInstantLayer::editEnd(LayerGeometryProvider *, QMouseEvent * +#ifdef DEBUG_TIME_INSTANT_LAYER + e +#endif + ) { #ifdef DEBUG_TIME_INSTANT_LAYER cerr << "TimeInstantLayer::editEnd(" << e->x() << ")" << endl; diff -r e79731086b0f -r 045063dcd2bc layer/TimeValueLayer.cpp --- a/layer/TimeValueLayer.cpp Thu Nov 21 14:02:57 2019 +0000 +++ b/layer/TimeValueLayer.cpp Thu Nov 21 14:03:19 2019 +0000 @@ -915,7 +915,8 @@ // Profiler profiler("TimeValueLayer::paint", true); - int x0 = rect.left(), x1 = rect.right(); + int x0 = rect.left(); + int x1 = x0 + rect.width(); sv_frame_t frame0 = v->getFrameForX(x0); sv_frame_t frame1 = v->getFrameForX(x1); if (m_derivative) --frame0;