Audacity 3.2.0
Public Types | Static Public Member Functions | Static Public Attributes | Static Private Attributes | List of all members
AColor Class Reference

AColor Manages color brushes and pens. More...

#include <AColor.h>

Public Types

enum  ColorGradientChoice {
  ColorGradientUnselected = 0 , ColorGradientTimeSelected , ColorGradientTimeAndFrequencySelected , ColorGradientEdge ,
  ColorGradientTotal
}
 

Static Public Member Functions

static void Init ()
 
static void ReInit ()
 
static void Arrow (wxDC &dc, wxCoord x, wxCoord y, int width, bool down=true)
 
static void Line (wxDC &dc, wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
 
static void Lines (wxDC &dc, size_t nPoints, const wxPoint points[])
 
static void DrawFocus (wxDC &dc, wxRect &r)
 
static void Bevel (wxDC &dc, bool up, const wxRect &r)
 
static void Bevel2 (wxDC &dc, bool up, const wxRect &r, bool bSel=false, bool bHighlight=false)
 
static void DrawHStretch (wxDC &dc, const wxRect &rect, wxBitmap &bitmap)
 
static void DrawFrame (wxDC &dc, const wxRect &r, wxBitmap &bitmap)
 
static void ButtonStretch (wxDC &dc, bool up, const wxRect &r, bool selected=false, bool highlight=false)
 Draw a button that fills a given rect. More...
 
static void BevelTrackInfo (wxDC &dc, bool up, const wxRect &r, bool highlight=false)
 
static wxColour Blend (const wxColour &c1, const wxColour &c2)
 
static void UseThemeColour (wxDC *dc, int iBrush, int iPen=-1, int alpha=255)
 
static void UseThemeColour (wxGraphicsContext *gc, int iBrush, int iPen=-1, int alpha=255)
 
static void TrackPanelBackground (wxDC *dc, bool selected)
 
static void Light (wxDC *dc, bool selected, bool highlight=false)
 
static void Medium (wxDC *dc, bool selected)
 
static void MediumTrackInfo (wxDC *dc, bool selected)
 
static void Dark (wxDC *dc, bool selected, bool highlight=false)
 
static void CursorColor (wxDC *dc)
 
static void IndicatorColor (wxDC *dc, bool bIsNotRecording)
 
static void Mute (wxDC *dc, bool on, bool selected, bool soloing)
 
static void Solo (wxDC *dc, bool on, bool selected)
 
static void MIDIChannel (wxDC *dc, int channel)
 
static void LightMIDIChannel (wxDC *dc, int channel)
 
static void DarkMIDIChannel (wxDC *dc, int channel)
 
static void TrackFocusPen (wxDC *dc, int level)
 
static void SnapGuidePen (wxDC *dc)
 
static void PreComputeGradient ()
 
static void ApplyUpdatedImages ()
 

Static Public Attributes

static wxBrush lightBrush [2]
 
static wxBrush mediumBrush [2]
 
static wxBrush darkBrush [2]
 
static wxPen lightPen [2]
 
static wxPen mediumPen [2]
 
static wxPen darkPen [2]
 
static wxPen cursorPen
 
static wxPen indicatorPen [2]
 
static wxBrush indicatorBrush [2]
 
static wxBrush playRegionBrush [1]
 
static wxBrush muteBrush [2]
 
static wxBrush soloBrush
 
static wxPen clippingPen
 
static wxPen envelopePen
 
static wxPen WideEnvelopePen
 
static wxBrush envelopeBrush
 
static wxBrush labelTextNormalBrush
 
static wxBrush labelTextEditBrush
 
static wxBrush labelUnselectedBrush
 
static wxBrush labelSelectedBrush
 
static wxBrush labelSyncLockSelBrush
 
static wxPen labelSyncLockSelPen
 
static wxPen labelSurroundPen
 
static wxPen trackFocusPens [3]
 
static wxPen snapGuidePen
 
static wxPen tooltipPen
 
static wxBrush tooltipBrush
 
static bool gradient_inited = 0
 
static const int colorSchemes = 4
 
static const int gradientSteps = 256
 
static unsigned char gradient_pre [ColorGradientTotal][colorSchemes][gradientSteps][3]
 
static wxPen uglyPen
 
static wxBrush uglyBrush
 

Static Private Attributes

static wxPen sparePen
 
static wxBrush spareBrush
 
static bool inited = false
 

Detailed Description

AColor Manages color brushes and pens.

It is also a place to document colour usage policy in Audacity

Definition at line 25 of file AColor.h.

Member Enumeration Documentation

◆ ColorGradientChoice

Enumerator
ColorGradientUnselected 
ColorGradientTimeSelected 
ColorGradientTimeAndFrequencySelected 
ColorGradientEdge 
ColorGradientTotal 

Definition at line 28 of file AColor.h.

28 {
33
34 ColorGradientTotal // keep me last
35 };
@ ColorGradientTotal
Definition: AColor.h:34
@ ColorGradientUnselected
Definition: AColor.h:29
@ ColorGradientTimeAndFrequencySelected
Definition: AColor.h:31
@ ColorGradientEdge
Definition: AColor.h:32
@ ColorGradientTimeSelected
Definition: AColor.h:30

Member Function Documentation

◆ ApplyUpdatedImages()

void AColor::ApplyUpdatedImages ( )
static

Definition at line 853 of file AColor.cpp.

854{
855 ReInit();
856 theTheme.Publish({});
857}
THEME_API Theme theTheme
Definition: Theme.cpp:82
static void ReInit()
Definition: AColor.cpp:513
CallbackReturn Publish(const Message &message)
Send a message to connected callbacks.
Definition: Observer.h:207

References Observer::Publisher< Message, NotifyAll >::Publish(), ReInit(), and theTheme.

Referenced by ThemePrefs::Cancel(), GUIPrefs::Commit(), ThemePrefs::Commit(), ThemePrefs::OnLoadThemeCache(), ThemePrefs::OnLoadThemeComponents(), and ThemePrefs::OnReadThemeInternal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Arrow()

void AColor::Arrow ( wxDC &  dc,
wxCoord  x,
wxCoord  y,
int  width,
bool  down = true 
)
static

Definition at line 158 of file AColor.cpp.

159{
160 if (width & 0x01) {
161 width--;
162 }
163
164 wxPoint pt[3];
165 int half = width / 2;
166
167 if (down) {
168 pt[0].x = 0; pt[0].y = 0;
169 pt[1].x = width; pt[1].y = 0;
170 pt[2].x = half; pt[2].y = half;
171 }
172 else {
173 pt[0].x = 0; pt[0].y = half;
174 pt[1].x = half; pt[1].y = 0;
175 pt[2].x = width; pt[2].y = half;
176 }
177
178 dc.DrawPolygon(3, pt, x, y);
179}

Referenced by CommonTrackInfo::CloseTitleDrawFunction(), NumericTextCtrl::Layout(), and CommonTrackInfo::MinimizeSyncLockDrawFunction().

Here is the caller graph for this function:

◆ Bevel()

void AColor::Bevel ( wxDC &  dc,
bool  up,
const wxRect &  r 
)
static

Definition at line 264 of file AColor.cpp.

265{
266 if (up)
267 AColor::Light(&dc, false);
268 else
269 AColor::Dark(&dc, false);
270
271 AColor::Line(dc, r.x, r.y, r.x + r.width, r.y);
272 AColor::Line(dc, r.x, r.y, r.x, r.y + r.height);
273
274 if (!up)
275 AColor::Light(&dc, false);
276 else
277 AColor::Dark(&dc, false);
278
279 AColor::Line(dc, r.x + r.width, r.y, r.x + r.width, r.y + r.height);
280 AColor::Line(dc, r.x, r.y + r.height, r.x + r.width, r.y + r.height);
281}
static void Line(wxDC &dc, wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
Definition: AColor.cpp:185
static void Light(wxDC *dc, bool selected, bool highlight=false)
Definition: AColor.cpp:407
static void Dark(wxDC *dc, bool selected, bool highlight=false)
Definition: AColor.cpp:433

References Dark(), Light(), and Line().

Referenced by Grabber::DrawGrabber(), NumericTextCtrl::Layout(), MixerBoard::LoadMusicalInstruments(), MixerTrackCluster::OnPaint(), MeterPanel::OnPaint(), audacity::cloud::ShareAudioToolbar::Repaint(), AudioSetupToolBar::Repaint(), and ControlToolBar::Repaint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Bevel2()

void AColor::Bevel2 ( wxDC &  dc,
bool  up,
const wxRect &  r,
bool  bSel = false,
bool  bHighlight = false 
)
static

Definition at line 292 of file AColor.cpp.

293{
294 auto& Bmp = theTheme.Bitmap( GetButtonImageIndex(up, bSel, bHighlight) );
295 wxMemoryDC memDC;
296 memDC.SelectObject(Bmp);
297
298 int h = std::min(r.height, Bmp.GetHeight());
299
300 dc.Blit( r.x,r.y,r.width/2, h, &memDC, 0, 0, wxCOPY, true );
301 int r2 = r.width - r.width/2;
302 dc.Blit( r.x+r.width/2,r.y,r2, h, &memDC,
303 Bmp.GetWidth() - r2, 0, wxCOPY, true );
304}
int min(int a, int b)
wxBitmap & Bitmap(int iIndex)
int GetButtonImageIndex(bool up, bool selected, bool highlight)
Definition: AColor.cpp:136

References ThemeBase::Bitmap(), anonymous_namespace{AColor.cpp}::GetButtonImageIndex(), min(), and theTheme.

Referenced by CommonTrackInfo::CloseTitleDrawFunction(), CommonTrackInfo::DrawCloseButton(), MixerBoard::MakeButtonBitmap(), CommonTrackInfo::MinimizeSyncLockDrawFunction(), and anonymous_namespace{PlayableTrackControls.cpp}::MuteOrSoloDrawFunction().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BevelTrackInfo()

void AColor::BevelTrackInfo ( wxDC &  dc,
bool  up,
const wxRect &  r,
bool  highlight = false 
)
static

Definition at line 338 of file AColor.cpp.

339{
340 // Note that the actually drawn rectangle extends one pixel right of and
341 // below the given
342
343 wxColour col;
344 col = Blend( theTheme.Colour( clrTrackInfo ), up ? wxColour( 255,255,255):wxColour(0,0,0));
345
346 wxPen pen( highlight ? uglyPen : col );
347 dc.SetPen( pen );
348
349 dc.DrawLine(r.x, r.y, r.x + r.width, r.y);
350 dc.DrawLine(r.x, r.y, r.x, r.y + r.height);
351
352 col = Blend( theTheme.Colour( clrTrackInfo ), up ? wxColour(0,0,0): wxColour(255,255,255));
353
354 pen.SetColour( col );
355 dc.SetPen( highlight ? uglyPen : pen );
356
357 dc.DrawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
358 dc.DrawLine(r.x, r.y + r.height, r.x + r.width, r.y + r.height);
359}
static wxColour Blend(const wxColour &c1, const wxColour &c2)
Definition: AColor.cpp:329
static wxPen uglyPen
Definition: AColor.h:139
wxColour & Colour(int iIndex)

References Blend(), ThemeBase::Colour(), theTheme, and uglyPen.

Referenced by WaveChannelVRulerControls::DoDraw(), AdornedRulerPanel::DoDrawEdge(), anonymous_namespace{TrackPanel.cpp}::EmptyPanelRect::Draw(), LabelTrackVRulerControls::Draw(), TimeTrackVRulerControls::Draw(), and CommonTrackControls::Draw().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Blend()

wxColour AColor::Blend ( const wxColour &  c1,
const wxColour &  c2 
)
static

Definition at line 329 of file AColor.cpp.

330{
331 wxColour c3(
332 (c1.Red() + c2.Red())/2,
333 (c1.Green() + c2.Green())/2,
334 (c1.Blue() + c2.Blue())/2);
335 return c3;
336}

Referenced by BevelTrackInfo().

Here is the caller graph for this function:

◆ ButtonStretch()

void AColor::ButtonStretch ( wxDC &  dc,
bool  up,
const wxRect &  r,
bool  selected = false,
bool  highlight = false 
)
static

Draw a button that fills a given rect.

Definition at line 283 of file AColor.cpp.

284{
286 dc,
287 theTheme.Bitmap(GetButtonImageIndex(up, selected, highlight)),
288 r
289 );
290}
void DrawNinePatch(wxDC &dc, wxBitmap &bitmap, const wxRect &r)
Definition: AColor.cpp:82

References ThemeBase::Bitmap(), anonymous_namespace{AColor.cpp}::DrawNinePatch(), anonymous_namespace{AColor.cpp}::GetButtonImageIndex(), and theTheme.

Referenced by anonymous_namespace{PlayableTrackControls.cpp}::EffectsDrawFunction().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CursorColor()

void AColor::CursorColor ( wxDC *  dc)
static

Definition at line 449 of file AColor.cpp.

450{
451 if (!inited)
452 Init();
453
454 dc->SetLogicalFunction(wxCOPY);
455 dc->SetPen(cursorPen);
456}
static bool inited
Definition: AColor.h:145
static wxPen cursorPen
Definition: AColor.h:104
static void Init()
Definition: AColor.cpp:543

References cursorPen, Init(), and inited.

Referenced by anonymous_namespace{TrackPanel.cpp}::VRulersAndChannels::Draw(), and TrackArt::DrawCursor().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Dark()

void AColor::Dark ( wxDC *  dc,
bool  selected,
bool  highlight = false 
)
static

Definition at line 433 of file AColor.cpp.

434{
435 if (!inited)
436 Init();
437 int index = (int) selected;
438 auto &brush = highlight ? AColor::uglyBrush : darkBrush[index];
439 dc->SetBrush( brush );
440 auto &pen = highlight ? AColor::uglyPen : darkPen[index];
441 dc->SetPen( pen );
442}
static wxBrush darkBrush[2]
Definition: AColor.h:99
static wxBrush uglyBrush
Definition: AColor.h:140
static wxPen darkPen[2]
Definition: AColor.h:102

References darkBrush, darkPen, Init(), inited, uglyBrush, and uglyPen.

Referenced by Bevel(), Grabber::DrawGrabber(), anonymous_namespace{WaveformView.cpp}::DrawTimeSlider(), ToolBarResizer::OnPaint(), and ToolDock::OnPaint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DarkMIDIChannel()

void AColor::DarkMIDIChannel ( wxDC *  dc,
int  channel 
)
static

Definition at line 680 of file AColor.cpp.

681{
682 if (channel >= 1 && channel <= 16) {
683 const int *colors = AColor_midicolors[channel - 1];
684
685 dc->SetPen(wxPen(wxColour(colors[0] / 2,
686 colors[1] / 2,
687 colors[2] / 2), 1, wxPENSTYLE_SOLID));
688 dc->SetBrush(wxBrush(wxColour(colors[0] / 2,
689 colors[1] / 2,
690 colors[2] / 2), wxBRUSHSTYLE_SOLID));
691 } else {
692 dc->SetPen(wxPen(wxColour(102, 102, 102), 1, wxPENSTYLE_SOLID));
693 dc->SetBrush(wxBrush(wxColour(102, 102, 102), wxBRUSHSTYLE_SOLID));
694 }
695
696}
const int AColor_midicolors[16][3]
Definition: AColor.cpp:626

References AColor_midicolors.

Referenced by anonymous_namespace{NoteTrackControls.cpp}::DrawLabelControls(), and anonymous_namespace{NoteTrackView.cpp}::DrawNoteTrack().

Here is the caller graph for this function:

◆ DrawFocus()

void AColor::DrawFocus ( wxDC &  dc,
wxRect &  r 
)
static

Definition at line 233 of file AColor.cpp.

234{
235 // draw the pixels manually: note that to behave in the same manner as
236 // DrawRect(), we must exclude the bottom and right borders from the
237 // rectangle
238 wxCoord x1 = rect.GetLeft(),
239 y1 = rect.GetTop(),
240 x2 = rect.GetRight(),
241 y2 = rect.GetBottom();
242
243 // -1 for brush, so it just sets the pen colour, and does not change the brush.
244 UseThemeColour( &dc, -1, clrTrackPanelText );
245
246 wxCoord z;
247 for ( z = x1 + 1; z < x2; z += 2 )
248 dc.DrawPoint(z, y1);
249
250 wxCoord shift = z == x2 ? 0 : 1;
251 for ( z = y1 + shift; z < y2; z += 2 )
252 dc.DrawPoint(x2, z);
253
254 shift = z == y2 ? 0 : 1;
255 for ( z = x2 - shift; z > x1; z -= 2 )
256 dc.DrawPoint(z, y2);
257
258 shift = z == x1 ? 0 : 1;
259 for ( z = y2 - shift; z > y1; z -= 2 )
260 dc.DrawPoint(x1, z);
261
262}
static void UseThemeColour(wxDC *dc, int iBrush, int iPen=-1, int alpha=255)
Definition: AColor.cpp:366

References UseThemeColour().

Referenced by KeyView::OnDrawBackground(), anonymous_namespace{RealtimeEffectPanel.cpp}::RealtimeEffectControl::OnPaint(), AButton::OnPaint(), ASlider::OnPaint(), ListNavigationPanel::OnPaint(), anonymous_namespace{RealtimeEffectPanel.cpp}::HyperLinkCtrlWrapper::OnPaint(), auStaticText::OnPaint(), and MeterPanel::OnPaint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DrawFrame()

void AColor::DrawFrame ( wxDC &  dc,
const wxRect &  r,
wxBitmap &  bitmap 
)
static

Definition at line 323 of file AColor.cpp.

324{
325 DrawNinePatch(dc, bitmap, r);
326}

References anonymous_namespace{AColor.cpp}::DrawNinePatch().

Referenced by AButton::OnPaint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DrawHStretch()

void AColor::DrawHStretch ( wxDC &  dc,
const wxRect &  rect,
wxBitmap &  bitmap 
)
static

Definition at line 306 of file AColor.cpp.

307{
308 wxMemoryDC srcDC;
309 srcDC.SelectObject(bitmap);
310
311 const auto sh = bitmap.GetHeight();
312 const auto dh = rect.height;
313 const auto w0 = std::min((bitmap.GetWidth() - 1) / 2, rect.width / 2);
314 const auto dx0 = rect.x;
315 const auto dx1 = rect.x + w0;
316 const auto dx2 = rect.x + rect.width - w0;
317
318 dc.StretchBlit(dx0, rect.y, w0, dh, &srcDC, 0, 0, w0, sh);
319 dc.StretchBlit(dx1, rect.y, rect.width - w0 * 2, dh, &srcDC, w0, 0, 1, sh);
320 dc.StretchBlit(dx2, rect.y, w0, dh, &srcDC, bitmap.GetWidth() - w0, 0, w0, sh);
321}

References min().

Referenced by AButton::OnPaint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IndicatorColor()

void AColor::IndicatorColor ( wxDC *  dc,
bool  bIsNotRecording 
)
static

Definition at line 458 of file AColor.cpp.

459{
460 if (!inited)
461 Init();
462 int index = (int) bIsNotRecording;
463 dc->SetPen(indicatorPen[index]);
464 dc->SetBrush(indicatorBrush[index]);
465}
static wxBrush indicatorBrush[2]
Definition: AColor.h:106
static wxPen indicatorPen[2]
Definition: AColor.h:105

References indicatorBrush, indicatorPen, Init(), and inited.

Referenced by AdornedRulerPanel::TrackPanelGuidelineOverlay::Draw(), and PlayIndicatorOverlayBase::Draw().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Init()

void AColor::Init ( )
static

Definition at line 543 of file AColor.cpp.

544{
545 if (inited)
546 return;
547
548 wxColour light = theTheme.Colour( clrLight );
549 // wxSystemSettings::GetColour(wxSYS_COLOUR_3DHIGHLIGHT);
550 wxColour med = theTheme.Colour( clrMedium );
551 // wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
552 wxColour dark = theTheme.Colour( clrDark );
553 // wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW);
554
555 wxColour lightSelected = theTheme.Colour( clrLightSelected );
556 wxColour medSelected = theTheme.Colour( clrMediumSelected );
557 wxColour darkSelected = theTheme.Colour( clrDarkSelected );
558
559
560 clippingPen.SetColour(0xCC, 0x11, 0x00);
561
562 theTheme.SetPenColour( envelopePen, clrEnvelope );
563 theTheme.SetPenColour( WideEnvelopePen, clrEnvelope );
564 theTheme.SetBrushColour( envelopeBrush, clrEnvelope );
565
566 WideEnvelopePen.SetWidth( 3 );
567
568 theTheme.SetBrushColour( labelTextNormalBrush, clrLabelTextNormalBrush );
569 theTheme.SetBrushColour( labelTextEditBrush, clrLabelTextEditBrush );
570 theTheme.SetBrushColour( labelUnselectedBrush, clrLabelUnselectedBrush );
571 theTheme.SetBrushColour( labelSelectedBrush, clrLabelSelectedBrush );
573 theTheme.SetPenColour( labelSyncLockSelPen, clrSyncLockSel );
574 theTheme.SetPenColour( labelSurroundPen, clrLabelSurroundPen );
575
576 // These colors were modified to avoid using reserved colors red and green
577 // for the buttons.
578 theTheme.SetBrushColour( muteBrush[0], clrMuteButtonActive);
579 theTheme.SetBrushColour( muteBrush[1], clrMuteButtonVetoed);
580 theTheme.SetBrushColour( soloBrush, clrMuteButtonActive);
581
582 cursorPen.SetColour( CursorColour() );
583 theTheme.SetPenColour( indicatorPen[0], clrRecordingPen);
584 theTheme.SetPenColour( indicatorPen[1], clrPlaybackPen);
585 theTheme.SetBrushColour( indicatorBrush[0], clrRecordingBrush);
586 theTheme.SetBrushColour( indicatorBrush[1], clrPlaybackBrush);
587
588 theTheme.SetBrushColour( playRegionBrush[0],clrRulerRecordingBrush);
589
590 //Determine tooltip color
591 tooltipPen.SetColour( wxSystemSettingsNative::GetColour(wxSYS_COLOUR_INFOTEXT) );
592 tooltipBrush.SetColour( wxSystemSettingsNative::GetColour(wxSYS_COLOUR_INFOBK) );
593
594 uglyPen.SetColour( wxColour{ 0, 255, 0 } ); // saturated green
595 uglyBrush.SetColour( wxColour{ 255, 0, 255 } ); // saturated magenta
596
597 // A tiny gradient of yellow surrounding the current focused track
598 theTheme.SetPenColour( trackFocusPens[0], clrTrackFocus0);
599 theTheme.SetPenColour( trackFocusPens[1], clrTrackFocus1);
600 theTheme.SetPenColour( trackFocusPens[2], clrTrackFocus2);
601
602 // A vertical line indicating that the selection or sliding has
603 // been snapped to the nearest boundary.
604 theTheme.SetPenColour( snapGuidePen, clrSnapGuide);
605
606 // unselected
607 lightBrush[0].SetColour(light);
608 mediumBrush[0].SetColour(med);
609 darkBrush[0].SetColour(dark);
610 lightPen[0].SetColour(light);
611 mediumPen[0].SetColour(med);
612 darkPen[0].SetColour(dark);
613
614 // selected
615 lightBrush[1].SetColour(lightSelected);
616 mediumBrush[1].SetColour(medSelected);
617 darkBrush[1].SetColour(darkSelected);
618 lightPen[1].SetColour(lightSelected);
619 mediumPen[1].SetColour(medSelected);
620 darkPen[1].SetColour(darkSelected);
621
622 inited = true;
623}
wxColour CursorColour()
Definition: AColor.cpp:528
static wxBrush mediumBrush[2]
Definition: AColor.h:98
static wxBrush labelSelectedBrush
Definition: AColor.h:122
static wxPen trackFocusPens[3]
Definition: AColor.h:127
static wxPen clippingPen
Definition: AColor.h:113
static wxPen WideEnvelopePen
Definition: AColor.h:116
static wxBrush lightBrush[2]
Definition: AColor.h:97
static wxBrush playRegionBrush[1]
Definition: AColor.h:108
static wxPen labelSurroundPen
Definition: AColor.h:125
static wxBrush muteBrush[2]
Definition: AColor.h:110
static wxPen tooltipPen
Definition: AColor.h:130
static wxPen lightPen[2]
Definition: AColor.h:100
static wxPen mediumPen[2]
Definition: AColor.h:101
static wxBrush envelopeBrush
Definition: AColor.h:117
static wxBrush labelTextNormalBrush
Definition: AColor.h:119
static wxBrush labelTextEditBrush
Definition: AColor.h:120
static wxBrush labelSyncLockSelBrush
Definition: AColor.h:123
static wxPen envelopePen
Definition: AColor.h:115
static wxBrush tooltipBrush
Definition: AColor.h:131
static wxBrush soloBrush
Definition: AColor.h:111
static wxBrush labelUnselectedBrush
Definition: AColor.h:121
static wxPen snapGuidePen
Definition: AColor.h:128
static wxPen labelSyncLockSelPen
Definition: AColor.h:124
void SetBrushColour(wxBrush &Brush, int iIndex)
void SetPenColour(wxPen &Pen, int iIndex)

References clippingPen, ThemeBase::Colour(), CursorColour(), cursorPen, darkBrush, darkPen, envelopeBrush, envelopePen, indicatorBrush, indicatorPen, inited, labelSelectedBrush, labelSurroundPen, labelSyncLockSelBrush, labelSyncLockSelPen, labelTextEditBrush, labelTextNormalBrush, labelUnselectedBrush, lightBrush, lightPen, mediumBrush, mediumPen, muteBrush, playRegionBrush, ThemeBase::SetBrushColour(), ThemeBase::SetPenColour(), snapGuidePen, soloBrush, theTheme, tooltipBrush, tooltipPen, trackFocusPens, uglyBrush, uglyPen, and WideEnvelopePen.

Referenced by CursorColor(), Dark(), IndicatorColor(), Light(), Medium(), Mute(), AudacityApp::OnInit(), ReInit(), SnapGuidePen(), Solo(), TrackFocusPen(), and UseThemeColour().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Light()

void AColor::Light ( wxDC *  dc,
bool  selected,
bool  highlight = false 
)
static

Definition at line 407 of file AColor.cpp.

408{
409 if (!inited)
410 Init();
411 int index = (int) selected;
412 auto &brush = highlight ? AColor::uglyBrush : lightBrush[index];
413 dc->SetBrush( brush );
414 auto &pen = highlight ? AColor::uglyPen : lightPen[index];
415 dc->SetPen( pen );
416}

References Init(), inited, lightBrush, lightPen, uglyBrush, and uglyPen.

Referenced by Bevel(), AdornedRulerPanel::TrackPanelGuidelineOverlay::Draw(), Grabber::DrawGrabber(), and anonymous_namespace{WaveformView.cpp}::DrawTimeSlider().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LightMIDIChannel()

void AColor::LightMIDIChannel ( wxDC *  dc,
int  channel 
)
static

Definition at line 662 of file AColor.cpp.

663{
664 if (channel >= 1 && channel <= 16) {
665 const int *colors = AColor_midicolors[channel - 1];
666
667 dc->SetPen(wxPen(wxColour(127 + colors[0] / 2,
668 127 + colors[1] / 2,
669 127 + colors[2] / 2), 1, wxPENSTYLE_SOLID));
670 dc->SetBrush(wxBrush(wxColour(127 + colors[0] / 2,
671 127 + colors[1] / 2,
672 127 + colors[2] / 2), wxBRUSHSTYLE_SOLID));
673 } else {
674 dc->SetPen(wxPen(wxColour(204, 204, 204), 1, wxPENSTYLE_SOLID));
675 dc->SetBrush(wxBrush(wxColour(204, 204, 204), wxBRUSHSTYLE_SOLID));
676 }
677
678}

References AColor_midicolors.

Referenced by anonymous_namespace{NoteTrackControls.cpp}::DrawLabelControls(), and anonymous_namespace{NoteTrackView.cpp}::DrawNoteTrack().

Here is the caller graph for this function:

◆ Line()

void AColor::Line ( wxDC &  dc,
wxCoord  x1,
wxCoord  y1,
wxCoord  x2,
wxCoord  y2 
)
static

Definition at line 185 of file AColor.cpp.

186{
187 const wxPoint points[] { { x1, y1 }, { x2, y2 } };
188 Lines( dc, 2, points );
189}
static void Lines(wxDC &dc, size_t nPoints, const wxPoint points[])
Definition: AColor.cpp:192

References Lines().

Referenced by Bevel(), AdornedRulerPanel::DoDrawEdge(), AdornedRulerPanel::TrackPanelGuidelineOverlay::Draw(), EditCursorOverlay::Draw(), PlayIndicatorOverlayBase::Draw(), LabelTrackView::Draw(), anonymous_namespace{TrackPanel.cpp}::VRulersAndChannels::Draw(), anonymous_namespace{TrackPanel.cpp}::LabeledChannelGroup::Draw(), TrackPanelResizerCell::Draw(), NoteTrackVRulerControls::Draw(), ChannelVRulerControls::Draw(), Ruler::Draw(), WaveChannelSubView::DrawBoldBoundaries(), TrackArt::DrawClipEdges(), CommonTrackInfo::DrawCloseButton(), TrackArt::DrawCursor(), anonymous_namespace{WaveformView.cpp}::DrawEnvLine(), Grabber::DrawGrabber(), Ruler::DrawGrid(), anonymous_namespace{TimeTrackView.cpp}::DrawHorzRulerAndCurve(), anonymous_namespace{WaveformView.cpp}::DrawIndividualSamples(), anonymous_namespace{NoteTrackControls.cpp}::DrawLabelControls(), LabelTrackView::DrawLines(), MeterPanel::DrawMeterBar(), TrackArt::DrawNegativeOffsetTrackArrows(), anonymous_namespace{NoteTrackView.cpp}::DrawNoteBackground(), anonymous_namespace{NoteTrackView.cpp}::DrawNoteTrack(), FrequencyPlotDialog::DrawPlot(), TrackArt::DrawSnapLines(), anonymous_namespace{WaveformView.cpp}::DrawTimeSlider(), LWSlider::DrawToBitmap(), anonymous_namespace{WaveformView.cpp}::DrawWaveformBackground(), KeyView::OnDrawBackground(), KeyView::OnDrawItem(), EqualizationPanel::OnPaint(), ExportMixerPanel::OnPaint(), ToolBarResizer::OnPaint(), ToolDock::OnPaint(), EffectAutoDuck::Panel::OnPaint(), EffectCompressorPanel::OnPaint(), EffectScienFilterPanel::OnPaint(), MeterPanel::OnPaint(), ToolFrame::OnPaint(), and FrequencyPlotDialog::PlotPaint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Lines()

void AColor::Lines ( wxDC &  dc,
size_t  nPoints,
const wxPoint  points[] 
)
static

Definition at line 192 of file AColor.cpp.

193{
194 if ( nPoints <= 1 ) {
195 if (nPoints == 1)
196 dc.DrawPoint( points[0] );
197 return;
198 }
199
200 for (size_t ii = 0; ii < nPoints - 1; ++ii) {
201 const auto &p1 = points[ii];
202 const auto &p2 = points[ii + 1];
203
204 // As of 2.8.9 (possibly earlier), wxDC::DrawLine() on the Mac draws the
205 // last point since it is now based on the NEW wxGraphicsContext system.
206 // Make the other platforms do the same thing since the other platforms
207 // "may" follow they get wxGraphicsContext going.
208
209 // PRL: as of 3.1.1, I still observe that on Mac, the last point is
210 // included, contrary to what documentation says. Also that on Windows,
211 // sometimes it is the first point that is excluded.
212
213#if defined(__WXMAC__) || defined(__WXGTK3__)
214 dc.DrawLine(p1, p2);
215#else
216 dc.DrawPoint(p1);
217 if ( p1 != p2 ) {
218 dc.DrawLine(p1, p2);
219 }
220#endif
221 }
222
223#if defined(__WXMAC__) || defined(__WXGTK3__)
224 ;
225#else
226 dc.DrawPoint( points[ nPoints - 1 ] );
227#endif
228}

Referenced by Line(), and EffectAutoDuck::Panel::OnPaint().

Here is the caller graph for this function:

◆ Medium()

void AColor::Medium ( wxDC *  dc,
bool  selected 
)
static

Definition at line 418 of file AColor.cpp.

419{
420 if (!inited)
421 Init();
422 int index = (int) selected;
423 dc->SetBrush(mediumBrush[index]);
424 dc->SetPen(mediumPen[index]);
425}

References Init(), inited, mediumBrush, and mediumPen.

Referenced by Grabber::DrawGrabber().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MediumTrackInfo()

void AColor::MediumTrackInfo ( wxDC *  dc,
bool  selected 
)
static

Definition at line 427 of file AColor.cpp.

428{
429 UseThemeColour( dc, selected ? clrTrackInfoSelected : clrTrackInfo );
430}

References UseThemeColour().

Referenced by TrackPanelResizerCell::Draw(), ChannelVRulerControls::Draw(), CommonTrackControls::Draw(), anonymous_namespace{PlayableTrackControls.cpp}::MuteOrSoloDrawFunction(), and MixerTrackCluster::OnPaint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MIDIChannel()

void AColor::MIDIChannel ( wxDC *  dc,
int  channel 
)
static

Definition at line 646 of file AColor.cpp.

647{
648 if (channel >= 1 && channel <= 16) {
649 const int *colors = AColor_midicolors[channel - 1];
650
651 dc->SetPen(wxPen(wxColour(colors[0],
652 colors[1], colors[2]), 1, wxPENSTYLE_SOLID));
653 dc->SetBrush(wxBrush(wxColour(colors[0],
654 colors[1], colors[2]), wxBRUSHSTYLE_SOLID));
655 } else {
656 dc->SetPen(wxPen(wxColour(153, 153, 153), 1, wxPENSTYLE_SOLID));
657 dc->SetBrush(wxBrush(wxColour(153, 153, 153), wxBRUSHSTYLE_SOLID));
658 }
659
660}

References AColor_midicolors.

Referenced by anonymous_namespace{NoteTrackControls.cpp}::DrawLabelControls(), and anonymous_namespace{NoteTrackView.cpp}::DrawNoteTrack().

Here is the caller graph for this function:

◆ Mute()

void AColor::Mute ( wxDC *  dc,
bool  on,
bool  selected,
bool  soloing 
)
static

Definition at line 481 of file AColor.cpp.

482{
483 if (!inited)
484 Init();
485 int index = (int) selected;
486 if (on) {
487 dc->SetPen(*wxBLACK_PEN);
488 dc->SetBrush(muteBrush[(int) soloing]);
489 }
490 else {
491 dc->SetPen(*wxTRANSPARENT_PEN);
492 dc->SetBrush(mediumBrush[index]);
493 }
494}

References Init(), inited, mediumBrush, and muteBrush.

Referenced by anonymous_namespace{PlayableTrackControls.cpp}::MuteOrSoloDrawFunction().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PreComputeGradient()

void AColor::PreComputeGradient ( )
static

Definition at line 702 of file AColor.cpp.

702 {
703 if (gradient_inited) return;
704 gradient_inited = 1;
705
706 // Keep in correspondence with enum SpectrogramSettings::ColorScheme
707
708 // colorScheme 0: Color (New)
709 std::copy_n(&specColormap[0][0], gradientSteps * 3, &gradient_pre[ColorGradientUnselected][0][0][0]);
710 std::copy_n(&selColormap[0][0], gradientSteps * 3, &gradient_pre[ColorGradientTimeSelected][0][0][0]);
712 std::fill_n(&gradient_pre[ColorGradientEdge][0][0][0], gradientSteps * 3, 0);
713
714
715 for (int selected = 0; selected < ColorGradientTotal; selected++) {
716 // Get color scheme from Theme
717 const int gsteps = 4;
718 float gradient[gsteps + 1][3];
719 theTheme.Colour( clrSpectro1 ) = theTheme.Colour( clrUnselected );
720 theTheme.Colour( clrSpectro1Sel ) = theTheme.Colour( clrSelected );
721 int clrFirst = (selected == ColorGradientUnselected ) ? clrSpectro1 : clrSpectro1Sel;
722 for(int j=0;j<(gsteps+1);j++){
723 wxColour c = theTheme.Colour( clrFirst+j );
724 gradient[ j] [0] = c.Red()/255.0;
725 gradient[ j] [1] = c.Green()/255.0;
726 gradient[ j] [2] = c.Blue()/255.0;
727 }
728
729 // colorScheme 1: Color (from theme)
730 for (int i = 0; i<gradientSteps; i++) {
731 float r, g, b;
732 float value = float(i)/gradientSteps;
733
734 int left = (int)(value * gsteps);
735 int right = (left == gsteps ? gsteps : left + 1);
736
737 float rweight = (value * gsteps) - left;
738 float lweight = 1.0 - rweight;
739
740 r = (gradient[left][0] * lweight) + (gradient[right][0] * rweight);
741 g = (gradient[left][1] * lweight) + (gradient[right][1] * rweight);
742 b = (gradient[left][2] * lweight) + (gradient[right][2] * rweight);
743
744 switch (selected) {
746 // not dimmed
747 break;
748
750 float temp;
751 temp = r;
752 r = g;
753 g = b;
754 b = temp;
755 break;
756
758 // partly dimmed
759 r *= 0.75f;
760 g *= 0.75f;
761 b *= 0.75f;
762 break;
763
764
765 // For now edge colour is just black (or white if grey-scale)
766 // Later we might invert or something else funky.
768 // fully dimmed
769 r = 0;
770 g = 0;
771 b = 0;
772 break;
773 }
774 gradient_pre[selected][1][i][0] = (unsigned char) (255 * r);
775 gradient_pre[selected][1][i][1] = (unsigned char) (255 * g);
776 gradient_pre[selected][1][i][2] = (unsigned char) (255 * b);
777 }
778
779 // colorScheme 3: Inverse Grayscale
780 for (int i = 0; i < gradientSteps; i++) {
781 float r, g, b;
782 float value = float(i) / gradientSteps;
783
784 r = g = b = value;
785
786 switch (selected) {
788 // not dimmed
789 break;
790
792 // else fall through to SAME grayscale colour as normal selection.
793 // The white lines show it up clearly enough.
794
796 // partly dimmed
797 r = r * 0.75f + 0.25f;
798 g = g * 0.75f + 0.25f;
799 b = b * 0.75f + 0.25f;
800 break;
801
803 r = 1.0f;
804 g = 1.0f;
805 b = 1.0f;
806 break;
807 }
808 gradient_pre[selected][3][i][0] = (unsigned char)(255 * r);
809 gradient_pre[selected][3][i][1] = (unsigned char)(255 * g);
810 gradient_pre[selected][3][i][2] = (unsigned char)(255 * b);
811 }
812
813 // colorScheme 2: Grayscale (=Old grayscale)
814 for (int i = 0; i<gradientSteps; i++) {
815 float r, g, b;
816 float value = float(i)/gradientSteps;
817
818 r = g = b = 0.84 - 0.84 * value;
819
820 switch (selected) {
822 // not dimmed
823 break;
824
826 // else fall through to SAME grayscale colour as normal selection.
827 // The white lines show it up clearly enough.
828
830 // partly dimmed
831 r *= 0.75f;
832 g *= 0.75f;
833 b *= 0.75f;
834 break;
835
836
837 // For now edge colour is just black (or white if grey-scale)
838 // Later we might invert or something else funky.
840 // fully dimmed
841 r = 1.0f;
842 g = 1.0f;
843 b = 1.0f;
844 break;
845 }
846 gradient_pre[selected][2][i][0] = (unsigned char) (255 * r);
847 gradient_pre[selected][2][i][1] = (unsigned char) (255 * g);
848 gradient_pre[selected][2][i][2] = (unsigned char) (255 * b);
849 }
850 }
851}
const unsigned char specColormap[256][3]
const unsigned char freqSelColormap[256][3]
const unsigned char selColormap[256][3]
static const int gradientSteps
Definition: AColor.h:135
static unsigned char gradient_pre[ColorGradientTotal][colorSchemes][gradientSteps][3]
Definition: AColor.h:136
static bool gradient_inited
Definition: AColor.h:133

References ColorGradientEdge, ColorGradientTimeAndFrequencySelected, ColorGradientTimeSelected, ColorGradientTotal, ColorGradientUnselected, ThemeBase::Colour(), freqSelColormap, gradient_inited, gradient_pre, gradientSteps, selColormap, specColormap, and theTheme.

Referenced by anonymous_namespace{SpectrumView.cpp}::DrawClipSpectrum(), and ReInit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReInit()

void AColor::ReInit ( )
static

Definition at line 513 of file AColor.cpp.

514{
515 inited=false;
516 Init();
519}
static void PreComputeGradient()
Definition: AColor.cpp:702

References gradient_inited, Init(), inited, and PreComputeGradient().

Referenced by ApplyUpdatedImages().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SnapGuidePen()

void AColor::SnapGuidePen ( wxDC *  dc)
static

Definition at line 474 of file AColor.cpp.

475{
476 if (!inited)
477 Init();
478 dc->SetPen(snapGuidePen);
479}

References Init(), inited, and snapGuidePen.

Referenced by AdornedRulerPanel::TrackPanelGuidelineOverlay::Draw(), and TrackArt::DrawSnapLines().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Solo()

void AColor::Solo ( wxDC *  dc,
bool  on,
bool  selected 
)
static

Definition at line 496 of file AColor.cpp.

497{
498 if (!inited)
499 Init();
500 int index = (int) selected;
501 if (on) {
502 dc->SetPen(*wxBLACK_PEN);
503 dc->SetBrush(soloBrush);
504 }
505 else {
506 dc->SetPen(*wxTRANSPARENT_PEN);
507 dc->SetBrush(mediumBrush[index]);
508 }
509}

References Init(), inited, mediumBrush, and soloBrush.

Referenced by anonymous_namespace{PlayableTrackControls.cpp}::MuteOrSoloDrawFunction().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TrackFocusPen()

void AColor::TrackFocusPen ( wxDC *  dc,
int  level 
)
static

Definition at line 467 of file AColor.cpp.

468{
469 if (!inited)
470 Init();
471 dc->SetPen(trackFocusPens[level]);
472}

References Init(), inited, and trackFocusPens.

Referenced by anonymous_namespace{TrackPanel.cpp}::LabeledChannelGroup::Draw().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TrackPanelBackground()

void AColor::TrackPanelBackground ( wxDC *  dc,
bool  selected 
)
static

Definition at line 444 of file AColor.cpp.

445{
446 UseThemeColour( dc, selected ? clrMediumSelected : clrTrackBackground );
447}

References UseThemeColour().

Referenced by anonymous_namespace{TrackPanel.cpp}::EmptyCell::Draw(), TrackPanelResizerCell::Draw(), and BackgroundCell::Draw().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UseThemeColour() [1/2]

void AColor::UseThemeColour ( wxDC *  dc,
int  iBrush,
int  iPen = -1,
int  alpha = 255 
)
static

Definition at line 366 of file AColor.cpp.

367{
368 if (!inited)
369 Init();
370 // do nothing if no colours set.
371 if( (iBrush == -1) && ( iPen ==-1))
372 return;
373 wxColour col = wxColour(0,0,0);
374 if( iBrush !=-1 ){
375 col = theTheme.Colour( iBrush );
376 col.Set( col.Red(), col.Green(), col.Blue(), alpha);
377 spareBrush.SetColour( col );
378 dc->SetBrush( spareBrush );
379 }
380 if( iPen != -1)
381 col = theTheme.Colour( iPen );
382 sparePen.SetColour( col );
383 dc->SetPen( sparePen );
384}
static wxPen sparePen
Definition: AColor.h:143
static wxBrush spareBrush
Definition: AColor.h:144

References ThemeBase::Colour(), Init(), inited, spareBrush, sparePen, and theTheme.

Referenced by AdornedRulerPanel::DoDrawBackground(), anonymous_namespace{TrackPanel.cpp}::EmptyPanelRect::Draw(), TrackArt::DrawClipAffordance(), TrackArt::DrawClipEdges(), TrackArt::DrawClipFolded(), DrawFocus(), anonymous_namespace{TimeTrackView.cpp}::DrawHorzRulerAndCurve(), LWSlider::DrawToBitmap(), MixerBoard::MakeButtonBitmap(), MediumTrackInfo(), and TrackPanelBackground().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UseThemeColour() [2/2]

void AColor::UseThemeColour ( wxGraphicsContext *  gc,
int  iBrush,
int  iPen = -1,
int  alpha = 255 
)
static

Definition at line 386 of file AColor.cpp.

387{
388 if (!inited)
389 Init();
390 // do nothing if no colours set.
391 if( (iBrush == -1) && ( iPen ==-1))
392 return;
393 wxColour col = wxColour(0,0,0);
394 if( iBrush !=-1 ){
395 col = theTheme.Colour( iBrush );
396 col.Set( col.Red(), col.Green(), col.Blue(), alpha);
397 spareBrush.SetColour( col );
398 gc->SetBrush( spareBrush );
399 }
400 if( iPen != -1)
401 col = theTheme.Colour( iPen );
402 sparePen.SetColour( col );
403 gc->SetPen( sparePen );
404}

References ThemeBase::Colour(), Init(), inited, spareBrush, sparePen, and theTheme.

Here is the call graph for this function:

Member Data Documentation

◆ clippingPen

wxPen AColor::clippingPen
static

Definition at line 113 of file AColor.h.

Referenced by Init().

◆ colorSchemes

const int AColor::colorSchemes = 4
static

Definition at line 134 of file AColor.h.

Referenced by SpectrogramSettings::GetColorSchemeNames().

◆ cursorPen

wxPen AColor::cursorPen
static

Definition at line 104 of file AColor.h.

Referenced by CursorColor(), and Init().

◆ darkBrush

wxBrush AColor::darkBrush
static

Definition at line 99 of file AColor.h.

Referenced by Dark(), and Init().

◆ darkPen

wxPen AColor::darkPen
static

Definition at line 102 of file AColor.h.

Referenced by Dark(), and Init().

◆ envelopeBrush

wxBrush AColor::envelopeBrush
static

Definition at line 117 of file AColor.h.

Referenced by EnvelopeEditor::DrawPoints(), Init(), and ExportMixerPanel::OnPaint().

◆ envelopePen

wxPen AColor::envelopePen
static

◆ gradient_inited

bool AColor::gradient_inited = 0
static

◆ gradient_pre

unsigned char AColor::gradient_pre
static

Definition at line 136 of file AColor.h.

Referenced by GetColorGradient(), and PreComputeGradient().

◆ gradientSteps

const int AColor::gradientSteps = 256
static

Definition at line 135 of file AColor.h.

Referenced by GetColorGradient(), and PreComputeGradient().

◆ indicatorBrush

wxBrush AColor::indicatorBrush
static

Definition at line 106 of file AColor.h.

Referenced by IndicatorColor(), and Init().

◆ indicatorPen

wxPen AColor::indicatorPen
static

Definition at line 105 of file AColor.h.

Referenced by IndicatorColor(), and Init().

◆ inited

bool AColor::inited = false
staticprivate

◆ labelSelectedBrush

wxBrush AColor::labelSelectedBrush
static

◆ labelSurroundPen

wxPen AColor::labelSurroundPen
static

Definition at line 125 of file AColor.h.

Referenced by LabelTrackView::Draw(), and Init().

◆ labelSyncLockSelBrush

wxBrush AColor::labelSyncLockSelBrush
static

Definition at line 123 of file AColor.h.

Referenced by Init().

◆ labelSyncLockSelPen

wxPen AColor::labelSyncLockSelPen
static

Definition at line 124 of file AColor.h.

Referenced by Init().

◆ labelTextEditBrush

wxBrush AColor::labelTextEditBrush
static

Definition at line 120 of file AColor.h.

Referenced by LabelTrackView::Draw(), and Init().

◆ labelTextNormalBrush

wxBrush AColor::labelTextNormalBrush
static

Definition at line 119 of file AColor.h.

Referenced by LabelTrackView::Draw(), and Init().

◆ labelUnselectedBrush

wxBrush AColor::labelUnselectedBrush
static

◆ lightBrush

wxBrush AColor::lightBrush
static

Definition at line 97 of file AColor.h.

Referenced by Init(), and Light().

◆ lightPen

wxPen AColor::lightPen
static

Definition at line 100 of file AColor.h.

Referenced by Init(), and Light().

◆ mediumBrush

wxBrush AColor::mediumBrush
static

Definition at line 98 of file AColor.h.

Referenced by Init(), Medium(), Mute(), and Solo().

◆ mediumPen

wxPen AColor::mediumPen
static

Definition at line 101 of file AColor.h.

Referenced by Init(), and Medium().

◆ muteBrush

wxBrush AColor::muteBrush
static

Definition at line 110 of file AColor.h.

Referenced by Init(), and Mute().

◆ playRegionBrush

wxBrush AColor::playRegionBrush
static

Definition at line 108 of file AColor.h.

Referenced by Init(), and ExportMixerPanel::OnPaint().

◆ snapGuidePen

wxPen AColor::snapGuidePen
static

Definition at line 128 of file AColor.h.

Referenced by Init(), and SnapGuidePen().

◆ soloBrush

wxBrush AColor::soloBrush
static

Definition at line 111 of file AColor.h.

Referenced by Init(), and Solo().

◆ spareBrush

wxBrush AColor::spareBrush
staticprivate

Definition at line 144 of file AColor.h.

Referenced by UseThemeColour().

◆ sparePen

wxPen AColor::sparePen
staticprivate

Definition at line 143 of file AColor.h.

Referenced by UseThemeColour().

◆ tooltipBrush

wxBrush AColor::tooltipBrush
static

Definition at line 131 of file AColor.h.

Referenced by Init(), and TipWindow::OnPaint().

◆ tooltipPen

wxPen AColor::tooltipPen
static

Definition at line 130 of file AColor.h.

Referenced by Init(), and TipWindow::OnPaint().

◆ trackFocusPens

wxPen AColor::trackFocusPens
static

Definition at line 127 of file AColor.h.

Referenced by Init(), and TrackFocusPen().

◆ uglyBrush

wxBrush AColor::uglyBrush
static

◆ uglyPen

wxPen AColor::uglyPen
static

◆ WideEnvelopePen

wxPen AColor::WideEnvelopePen
static

Definition at line 116 of file AColor.h.

Referenced by Init(), and EffectCompressorPanel::OnPaint().


The documentation for this class was generated from the following files: