mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-29 14:48:39 +02:00
Fix ghost image on track panel
Thanks to David for tracking down the cause, the ghost has been banished.
This commit is contained in:
parent
b9bc4521fe
commit
b19ed258e9
@ -8426,23 +8426,21 @@ void TrackPanel::SeekLeftOrRight
|
|||||||
// negative to move backward.
|
// negative to move backward.
|
||||||
double TrackPanel::GridMove(double t, int minPix)
|
double TrackPanel::GridMove(double t, int minPix)
|
||||||
{
|
{
|
||||||
NumericTextCtrl ttc(NumericConverter::TIME, this, wxID_ANY, wxT(""), 0.0, GetProject()->GetRate());
|
NumericConverter nc(NumericConverter::TIME, GetProject()->GetSelectionFormat(), t, GetProject()->GetRate());
|
||||||
ttc.SetFormatName(GetProject()->GetSelectionFormat());
|
|
||||||
ttc.SetValue(t);
|
|
||||||
|
|
||||||
// Try incrementing/decrementing the value; if we've moved far enough we're
|
// Try incrementing/decrementing the value; if we've moved far enough we're
|
||||||
// done
|
// done
|
||||||
double result;
|
double result;
|
||||||
minPix >= 0 ? ttc.Increment() : ttc.Decrement();
|
minPix >= 0 ? nc.Increment() : nc.Decrement();
|
||||||
result = ttc.GetValue();
|
result = nc.GetValue();
|
||||||
if (std::abs(mViewInfo->TimeToPosition(result) - mViewInfo->TimeToPosition(t))
|
if (std::abs(mViewInfo->TimeToPosition(result) - mViewInfo->TimeToPosition(t))
|
||||||
>= abs(minPix))
|
>= abs(minPix))
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
// Otherwise, move minPix pixels, then snap to the time.
|
// Otherwise, move minPix pixels, then snap to the time.
|
||||||
result = mViewInfo->OffsetTimeByPixels(t, minPix);
|
result = mViewInfo->OffsetTimeByPixels(t, minPix);
|
||||||
ttc.SetValue(result);
|
nc.SetValue(result);
|
||||||
result = ttc.GetValue();
|
result = nc.GetValue();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1836,7 +1836,8 @@ void AdornedRulerPanel::OnErase(wxEraseEvent & WXUNUSED(evt))
|
|||||||
|
|
||||||
void AdornedRulerPanel::OnPaint(wxPaintEvent & WXUNUSED(evt))
|
void AdornedRulerPanel::OnPaint(wxPaintEvent & WXUNUSED(evt))
|
||||||
{
|
{
|
||||||
wxBufferedPaintDC dc(this);
|
// wxBufferedPaintDC dc(this);
|
||||||
|
wxPaintDC dc(this);
|
||||||
|
|
||||||
DoDrawBorder(&dc);
|
DoDrawBorder(&dc);
|
||||||
|
|
||||||
@ -1845,6 +1846,8 @@ void AdornedRulerPanel::OnPaint(wxPaintEvent & WXUNUSED(evt))
|
|||||||
DoDrawSelection(&dc);
|
DoDrawSelection(&dc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DoDrawMarks(&dc, true);
|
||||||
|
|
||||||
if (mIndType >= 0)
|
if (mIndType >= 0)
|
||||||
{
|
{
|
||||||
DoDrawIndicator(&dc);
|
DoDrawIndicator(&dc);
|
||||||
@ -1855,8 +1858,6 @@ void AdornedRulerPanel::OnPaint(wxPaintEvent & WXUNUSED(evt))
|
|||||||
DrawQuickPlayIndicator(&dc, false);
|
DrawQuickPlayIndicator(&dc, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
DoDrawMarks(&dc, true);
|
|
||||||
|
|
||||||
if (mViewInfo->selectedRegion.isPoint())
|
if (mViewInfo->selectedRegion.isPoint())
|
||||||
{
|
{
|
||||||
DoDrawCursor(&dc);
|
DoDrawCursor(&dc);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user