@@ -59,6 +59,21 @@ void CPosInfoView::OnInitialUpdate()
5959 CScrollView::OnInitialUpdate ();
6060}
6161
62+ static void DrawDiffPosLines (CDC *pDC, CRect *frameRect, bool *flags, int n)
63+ {
64+ int top = frameRect->top + 1 ;
65+ int left = frameRect->left + 1 ;
66+ int right = frameRect->right - 1 ;
67+
68+ for (int i = 0 ; i < n; i++) {
69+ if (flags[i] == false )
70+ continue ;
71+
72+ pDC->MoveTo (left, top + i);
73+ pDC->LineTo (right, top + i);
74+ }
75+ }
76+
6277void CPosInfoView::DrawEachRect (CDC* pDC,
6378 ComparerPane *pane,
6479 CRect *frameRect,
@@ -83,9 +98,19 @@ void CPosInfoView::DrawEachRect(CDC* pDC,
8398 pDC->FillSolidRect (frameRect, frameColor);
8499 pDC->Draw3dRect (frameRect, Q1UI_COLOR_SURFACE, Q1UI_COLOR_SURFACE);
85100
86- // Per-row red diff lines have been replaced by the pink grid overlay in
87- // ComparerView. Pilot keeps the frame tiles for video-frame selection but
88- // no longer draws the per-row indicators.
101+ // Keep the timeline overview for video sources; the pink overlay only
102+ // describes differences in the currently displayed frame.
103+ if (parseDone) {
104+ CPen *prev = pDC->SelectObject (mDiffPen );
105+ IFrmCmpStrategy *frmCmpStrategy = pDoc->mFrmCmpStrategy ;
106+ list<RLC> diffRLC[QPLANES];
107+
108+ if (frmCmpStrategy && mFileScanThread ->copyDiffRLC (i, diffRLC)) {
109+ frmCmpStrategy->FlagTotalDiffLine (diffRLC, mDiffFlags , mPosLinesPerFrame );
110+ DrawDiffPosLines (pDC, frameRect, mDiffFlags , mPosLinesPerFrame );
111+ }
112+ pDC->SelectObject (prev);
113+ }
89114
90115 const COLORREF curIdColor = Q1UI_COLOR_ACCENT;
91116 COLORREF preColor;
0 commit comments