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 labelUnselectedPen
 
static wxPen labelSelectedPen
 
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 860 of file AColor.cpp.

861{
862 ReInit();
863 theTheme.Publish({});
864}
THEME_API Theme theTheme
Definition: Theme.cpp:82
static void ReInit()
Definition: AColor.cpp:515
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 160 of file AColor.cpp.

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

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 266 of file AColor.cpp.

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

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 294 of file AColor.cpp.

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

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 340 of file AColor.cpp.

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

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

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 285 of file AColor.cpp.

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

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 451 of file AColor.cpp.

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

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 435 of file AColor.cpp.

436{
437 if (!inited)
438 Init();
439 int index = (int) selected;
440 auto &brush = highlight ? AColor::uglyBrush : darkBrush[index];
441 dc->SetBrush( brush );
442 auto &pen = highlight ? AColor::uglyPen : darkPen[index];
443 dc->SetPen( pen );
444}
static wxBrush darkBrush[2]
Definition: AColor.h:99
static wxBrush uglyBrush
Definition: AColor.h:142
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 687 of file AColor.cpp.

688{
689 if (channel >= 1 && channel <= 16) {
690 const int *colors = AColor_midicolors[channel - 1];
691
692 dc->SetPen(wxPen(wxColour(colors[0] / 2,
693 colors[1] / 2,
694 colors[2] / 2), 1, wxPENSTYLE_SOLID));
695 dc->SetBrush(wxBrush(wxColour(colors[0] / 2,
696 colors[1] / 2,
697 colors[2] / 2), wxBRUSHSTYLE_SOLID));
698 } else {
699 dc->SetPen(wxPen(wxColour(102, 102, 102), 1, wxPENSTYLE_SOLID));
700 dc->SetBrush(wxBrush(wxColour(102, 102, 102), wxBRUSHSTYLE_SOLID));
701 }
702
703}
const int AColor_midicolors[16][3]
Definition: AColor.cpp:633

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 235 of file AColor.cpp.

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

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 325 of file AColor.cpp.

326{
327 DrawNinePatch(dc, bitmap, r);
328}

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 308 of file AColor.cpp.

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

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 460 of file AColor.cpp.

461{
462 if (!inited)
463 Init();
464 int index = (int) bIsNotRecording;
465 dc->SetPen(indicatorPen[index]);
466 dc->SetBrush(indicatorBrush[index]);
467}
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 545 of file AColor.cpp.

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

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

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 669 of file AColor.cpp.

670{
671 if (channel >= 1 && channel <= 16) {
672 const int *colors = AColor_midicolors[channel - 1];
673
674 dc->SetPen(wxPen(wxColour(127 + colors[0] / 2,
675 127 + colors[1] / 2,
676 127 + colors[2] / 2), 1, wxPENSTYLE_SOLID));
677 dc->SetBrush(wxBrush(wxColour(127 + colors[0] / 2,
678 127 + colors[1] / 2,
679 127 + colors[2] / 2), wxBRUSHSTYLE_SOLID));
680 } else {
681 dc->SetPen(wxPen(wxColour(204, 204, 204), 1, wxPENSTYLE_SOLID));
682 dc->SetBrush(wxBrush(wxColour(204, 204, 204), wxBRUSHSTYLE_SOLID));
683 }
684
685}

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 187 of file AColor.cpp.

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

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(), anonymous_namespace{WaveformView.cpp}::DrawMinMaxRMS(), 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 194 of file AColor.cpp.

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

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 420 of file AColor.cpp.

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

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 429 of file AColor.cpp.

430{
431 UseThemeColour( dc, selected ? clrTrackInfoSelected : clrTrackInfo );
432}

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 653 of file AColor.cpp.

654{
655 if (channel >= 1 && channel <= 16) {
656 const int *colors = AColor_midicolors[channel - 1];
657
658 dc->SetPen(wxPen(wxColour(colors[0],
659 colors[1], colors[2]), 1, wxPENSTYLE_SOLID));
660 dc->SetBrush(wxBrush(wxColour(colors[0],
661 colors[1], colors[2]), wxBRUSHSTYLE_SOLID));
662 } else {
663 dc->SetPen(wxPen(wxColour(153, 153, 153), 1, wxPENSTYLE_SOLID));
664 dc->SetBrush(wxBrush(wxColour(153, 153, 153), wxBRUSHSTYLE_SOLID));
665 }
666
667}

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 483 of file AColor.cpp.

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

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 709 of file AColor.cpp.

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

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 515 of file AColor.cpp.

516{
517 inited=false;
518 Init();
521}
static void PreComputeGradient()
Definition: AColor.cpp:709

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 476 of file AColor.cpp.

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

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 498 of file AColor.cpp.

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

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 469 of file AColor.cpp.

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

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 446 of file AColor.cpp.

447{
448 UseThemeColour( dc, selected ? clrMediumSelected : clrTrackBackground );
449}

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 368 of file AColor.cpp.

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

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(), anonymous_namespace{TrackPanel.cpp}::DrawTrackName(), 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 388 of file AColor.cpp.

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

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 136 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 138 of file AColor.h.

Referenced by GetColorGradient(), and PreComputeGradient().

◆ gradientSteps

const int AColor::gradientSteps = 256
static

Definition at line 137 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

◆ labelSelectedPen

wxPen AColor::labelSelectedPen
static

Definition at line 125 of file AColor.h.

Referenced by Init().

◆ labelSurroundPen

wxPen AColor::labelSurroundPen
static

Definition at line 127 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 126 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

◆ labelUnselectedPen

wxPen AColor::labelUnselectedPen
static

Definition at line 124 of file AColor.h.

Referenced by Init().

◆ 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 130 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 146 of file AColor.h.

Referenced by UseThemeColour().

◆ sparePen

wxPen AColor::sparePen
staticprivate

Definition at line 145 of file AColor.h.

Referenced by UseThemeColour().

◆ tooltipBrush

wxBrush AColor::tooltipBrush
static

Definition at line 133 of file AColor.h.

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

◆ tooltipPen

wxPen AColor::tooltipPen
static

Definition at line 132 of file AColor.h.

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

◆ trackFocusPens

wxPen AColor::trackFocusPens
static

Definition at line 129 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: