mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-02 17:09:26 +02:00
Table includes draw function for Minimize and Sync-lock icon
This commit is contained in:
parent
b4e38c2838
commit
86763341af
@ -5170,7 +5170,8 @@ std::pair< int, int > CalcItemY( const TrackInfo::TCPLine *pLines, unsigned iIte
|
|||||||
const TrackInfo::TCPLine commonTrackTCPBottomLines[] = {
|
const TrackInfo::TCPLine commonTrackTCPBottomLines[] = {
|
||||||
// The '0' avoids impinging on bottom line of TCP
|
// The '0' avoids impinging on bottom line of TCP
|
||||||
// Use -1 if you do want to do so.
|
// Use -1 if you do want to do so.
|
||||||
{ kItemSyncLock | kItemMinimize, kTrackInfoBtnSize, 0, nullptr },
|
{ kItemSyncLock | kItemMinimize, kTrackInfoBtnSize, 0,
|
||||||
|
&TrackInfo::MinimizeSyncLockDrawFunction },
|
||||||
{ 0, 0, 0, nullptr }
|
{ 0, 0, 0, nullptr }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -7396,6 +7397,53 @@ void TrackInfo::CloseTitleDrawFunction
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TrackInfo::MinimizeSyncLockDrawFunction
|
||||||
|
( wxDC *dc, const wxRect &rect, const Track *pTrack, int pressed, bool captured )
|
||||||
|
{
|
||||||
|
bool selected = pTrack ? pTrack->GetSelected() : true;
|
||||||
|
bool syncLockSelected = pTrack ? pTrack->IsSyncLockSelected() : true;
|
||||||
|
bool minimized = pTrack ? pTrack->GetMinimized() : false;
|
||||||
|
{
|
||||||
|
bool down = captured && (pressed == TrackPanel::IsMinimizing);
|
||||||
|
wxRect bev = rect;
|
||||||
|
GetMinimizeHorizontalBounds(rect, bev);
|
||||||
|
|
||||||
|
// Clear background to get rid of previous arrow
|
||||||
|
//AColor::MediumTrackInfo(dc, t->GetSelected());
|
||||||
|
//dc->DrawRectangle(bev);
|
||||||
|
|
||||||
|
AColor::Bevel2(*dc, !down, bev, selected);
|
||||||
|
|
||||||
|
#ifdef EXPERIMENTAL_THEMING
|
||||||
|
wxColour c = theTheme.Colour(clrTrackPanelText);
|
||||||
|
dc->SetBrush(c);
|
||||||
|
dc->SetPen(c);
|
||||||
|
#else
|
||||||
|
AColor::Dark(dc, selected);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
AColor::Arrow(*dc,
|
||||||
|
bev.x - 5 + bev.width / 2,
|
||||||
|
bev.y - 2 + bev.height / 2,
|
||||||
|
10,
|
||||||
|
minimized);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw the sync-lock indicator if this track is in a sync-lock selected group.
|
||||||
|
if (syncLockSelected)
|
||||||
|
{
|
||||||
|
wxRect syncLockIconRect = rect;
|
||||||
|
|
||||||
|
GetSyncLockHorizontalBounds( rect, syncLockIconRect );
|
||||||
|
wxBitmap syncLockBitmap(theTheme.Image(bmpSyncLockIcon));
|
||||||
|
// Icon is 12x12 and syncLockIconRect is 16x16.
|
||||||
|
dc->DrawBitmap(syncLockBitmap,
|
||||||
|
syncLockIconRect.x + 3,
|
||||||
|
syncLockIconRect.y + 2,
|
||||||
|
true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TrackPanel::DrawOutside(Track * t, wxDC * dc, const wxRect & rec)
|
void TrackPanel::DrawOutside(Track * t, wxDC * dc, const wxRect & rec)
|
||||||
{
|
{
|
||||||
bool bIsWave = (t->GetKind() == Track::Wave);
|
bool bIsWave = (t->GetKind() == Track::Wave);
|
||||||
@ -7441,23 +7489,8 @@ void TrackPanel::DrawOutside(Track * t, wxDC * dc, const wxRect & rec)
|
|||||||
|
|
||||||
bool captured = (t == mCapturedTrack);
|
bool captured = (t == mCapturedTrack);
|
||||||
|
|
||||||
mTrackInfo.DrawMinimize(dc, rect, t, (captured && mMouseCapture==IsMinimizing));
|
|
||||||
|
|
||||||
TrackInfo::DrawItems( dc, rect, *t, mMouseCapture, captured );
|
TrackInfo::DrawItems( dc, rect, *t, mMouseCapture, captured );
|
||||||
|
|
||||||
// Draw the sync-lock indicator if this track is in a sync-lock selected group.
|
|
||||||
if (t->IsSyncLockSelected())
|
|
||||||
{
|
|
||||||
wxRect syncLockIconRect;
|
|
||||||
mTrackInfo.GetSyncLockIconRect(rect, syncLockIconRect);
|
|
||||||
wxBitmap syncLockBitmap(theTheme.Image(bmpSyncLockIcon));
|
|
||||||
// Icon is 12x12 and syncLockIconRect is 16x16.
|
|
||||||
dc->DrawBitmap(syncLockBitmap,
|
|
||||||
syncLockIconRect.x + 3,
|
|
||||||
syncLockIconRect.y + 2,
|
|
||||||
true);
|
|
||||||
}
|
|
||||||
|
|
||||||
//mTrackInfo.DrawBordersWithin( dc, rect, *t );
|
//mTrackInfo.DrawBordersWithin( dc, rect, *t );
|
||||||
|
|
||||||
auto wt = bIsWave ? static_cast<WaveTrack*>(t) : nullptr;
|
auto wt = bIsWave ? static_cast<WaveTrack*>(t) : nullptr;
|
||||||
|
@ -99,6 +99,10 @@ public:
|
|||||||
( wxDC *dc, const wxRect &rect, const Track *pTrack, int pressed,
|
( wxDC *dc, const wxRect &rect, const Track *pTrack, int pressed,
|
||||||
bool captured );
|
bool captured );
|
||||||
|
|
||||||
|
static void MinimizeSyncLockDrawFunction
|
||||||
|
( wxDC *dc, const wxRect &rect, const Track *pTrack, int pressed,
|
||||||
|
bool captured );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int GetTrackInfoWidth() const;
|
int GetTrackInfoWidth() const;
|
||||||
static void SetTrackInfoFont(wxDC *dc);
|
static void SetTrackInfoFont(wxDC *dc);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user