Audacity  3.0.3
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 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 PlayRegionColor (wxDC *dc, bool locked)
 
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 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 wxPen playRegionPen [2]
 
static wxBrush playRegionBrush [2]
 
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.

Member Function Documentation

◆ Arrow()

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

Definition at line 85 of file AColor.cpp.

86 {
87  if (width & 0x01) {
88  width--;
89  }
90 
91  wxPoint pt[3];
92  int half = width / 2;
93 
94  if (down) {
95  pt[0].x = 0; pt[0].y = 0;
96  pt[1].x = width; pt[1].y = 0;
97  pt[2].x = half; pt[2].y = half;
98  }
99  else {
100  pt[0].x = 0; pt[0].y = half;
101  pt[1].x = half; pt[1].y = 0;
102  pt[2].x = width; pt[2].y = half;
103  }
104 
105  dc.DrawPolygon(3, pt, x, y);
106 }

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

Here is the caller graph for this function:

◆ Bevel()

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

Definition at line 191 of file AColor.cpp.

192 {
193  if (up)
194  AColor::Light(&dc, false);
195  else
196  AColor::Dark(&dc, false);
197 
198  AColor::Line(dc, r.x, r.y, r.x + r.width, r.y);
199  AColor::Line(dc, r.x, r.y, r.x, r.y + r.height);
200 
201  if (!up)
202  AColor::Light(&dc, false);
203  else
204  AColor::Dark(&dc, false);
205 
206  AColor::Line(dc, r.x + r.width, r.y, r.x + r.width, r.y + r.height);
207  AColor::Line(dc, r.x, r.y + r.height, r.x + r.width, r.y + r.height);
208 }

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

Referenced by BevelTrackInfo(), Grabber::DrawGrabber(), NumericTextCtrl::Layout(), MixerBoard::LoadMusicalInstruments(), MixerTrackCluster::OnPaint(), MeterPanel::OnPaint(), 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 210 of file AColor.cpp.

212 {
213  int index = 0;
214  // There are eight button states in the TCP.
215  // A theme might not differentiate between them all. That's up to
216  // the theme designer.
217  // Button highlighted (i.e. hovered over) or not.
218  // Track selected or not
219  // Button up or down.
220  // Highlight in most themes is lighter than not highlighted.
221  if ( bHighlight && bSel)
222  index = up ? bmpHiliteUpButtonExpandSel : bmpHiliteButtonExpandSel;
223  else if ( bHighlight )
224  index = up ? bmpHiliteUpButtonExpand : bmpHiliteButtonExpand;
225  else if( bSel )
226  index = up ? bmpUpButtonExpandSel : bmpDownButtonExpandSel;
227  else
228  index = up ? bmpUpButtonExpand : bmpDownButtonExpand;
229 
230  wxBitmap & Bmp = theTheme.Bitmap( index );
231  wxMemoryDC memDC;
232  memDC.SelectObject(Bmp);
233  int h = wxMin( r.height, Bmp.GetHeight() );
234 
235 
236  dc.Blit( r.x,r.y,r.width/2, h, &memDC, 0, 0, wxCOPY, true );
237  int r2 = r.width - r.width/2;
238  dc.Blit( r.x+r.width/2,r.y,r2, h, &memDC,
239  Bmp.GetWidth() - r2, 0, wxCOPY, true );
240 }

References ThemeBase::Bitmap(), and theTheme.

Referenced by TrackInfo::CloseTitleDrawFunction(), TrackInfo::DrawCloseButton(), MixerBoard::MakeButtonBitmap(), TrackInfo::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 251 of file AColor.cpp.

252 {
253 #ifndef EXPERIMENTAL_THEMING
254  Bevel( dc, up, r );
255 #else
256  // Note that the actually drawn rectangle extends one pixel right of and
257  // below the given
258 
259  wxColour col;
260  col = Blend( theTheme.Colour( clrTrackInfo ), up ? wxColour( 255,255,255):wxColour(0,0,0));
261 
262  wxPen pen( highlight ? uglyPen : col );
263  dc.SetPen( pen );
264 
265  dc.DrawLine(r.x, r.y, r.x + r.width, r.y);
266  dc.DrawLine(r.x, r.y, r.x, r.y + r.height);
267 
268  col = Blend( theTheme.Colour( clrTrackInfo ), up ? wxColour(0,0,0): wxColour(255,255,255));
269 
270  pen.SetColour( col );
271  dc.SetPen( highlight ? uglyPen : pen );
272 
273  dc.DrawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
274  dc.DrawLine(r.x, r.y + r.height, r.x + r.width, r.y + r.height);
275 #endif
276 }

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

Referenced by WaveTrackVRulerControls::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 242 of file AColor.cpp.

243 {
244  wxColour c3(
245  (c1.Red() + c2.Red())/2,
246  (c1.Green() + c2.Green())/2,
247  (c1.Blue() + c2.Blue())/2);
248  return c3;
249 }

Referenced by BevelTrackInfo().

Here is the caller graph for this function:

◆ CursorColor()

void AColor::CursorColor ( wxDC *  dc)
static

Definition at line 374 of file AColor.cpp.

375 {
376  if (!inited)
377  Init();
378 
379  dc->SetLogicalFunction(wxCOPY);
380  dc->SetPen(cursorPen);
381 }

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

355 {
356  if (!inited)
357  Init();
358  int index = (int) selected;
359  auto &brush = highlight ? AColor::uglyBrush : darkBrush[index];
360  dc->SetBrush( brush );
361  auto &pen = highlight ? AColor::uglyPen : darkPen[index];
362  dc->SetPen( pen );
363 }

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

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

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

619 {
620  if (channel >= 1 && channel <= 16) {
621  const int *colors = AColor_midicolors[channel - 1];
622 
623  dc->SetPen(wxPen(wxColour(colors[0] / 2,
624  colors[1] / 2,
625  colors[2] / 2), 1, wxPENSTYLE_SOLID));
626  dc->SetBrush(wxBrush(wxColour(colors[0] / 2,
627  colors[1] / 2,
628  colors[2] / 2), wxBRUSHSTYLE_SOLID));
629  } else {
630  dc->SetPen(wxPen(wxColour(102, 102, 102), 1, wxPENSTYLE_SOLID));
631  dc->SetBrush(wxBrush(wxColour(102, 102, 102), wxBRUSHSTYLE_SOLID));
632  }
633 
634 }

References AColor_midicolors.

Referenced by NoteTrack::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 160 of file AColor.cpp.

161 {
162  // draw the pixels manually: note that to behave in the same manner as
163  // DrawRect(), we must exclude the bottom and right borders from the
164  // rectangle
165  wxCoord x1 = rect.GetLeft(),
166  y1 = rect.GetTop(),
167  x2 = rect.GetRight(),
168  y2 = rect.GetBottom();
169 
170  // -1 for brush, so it just sets the pen colour, and does not change the brush.
171  UseThemeColour( &dc, -1, clrTrackPanelText );
172 
173  wxCoord z;
174  for ( z = x1 + 1; z < x2; z += 2 )
175  dc.DrawPoint(z, y1);
176 
177  wxCoord shift = z == x2 ? 0 : 1;
178  for ( z = y1 + shift; z < y2; z += 2 )
179  dc.DrawPoint(x2, z);
180 
181  shift = z == y2 ? 0 : 1;
182  for ( z = x2 - shift; z > x1; z -= 2 )
183  dc.DrawPoint(z, y2);
184 
185  shift = z == x1 ? 0 : 1;
186  for ( z = y2 - shift; z > y1; z -= 2 )
187  dc.DrawPoint(x1, z);
188 
189 }

References UseThemeColour().

Referenced by KeyView::OnDrawBackground(), AButton::OnPaint(), ASlider::OnPaint(), and MeterPanel::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 383 of file AColor.cpp.

384 {
385  if (!inited)
386  Init();
387  int index = (int) bIsNotRecording;
388  dc->SetPen(indicatorPen[index]);
389  dc->SetBrush(indicatorBrush[index]);
390 }

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

Referenced by AdornedRulerPanel::DoDrawIndicator(), AdornedRulerPanel::QuickPlayIndicatorOverlay::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 476 of file AColor.cpp.

477 {
478  if (inited)
479  return;
480 
481  wxColour light = theTheme.Colour( clrLight );
482  // wxSystemSettings::GetColour(wxSYS_COLOUR_3DHIGHLIGHT);
483  wxColour med = theTheme.Colour( clrMedium );
484  // wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
485  wxColour dark = theTheme.Colour( clrDark );
486  // wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW);
487 
488  wxColour lightSelected = theTheme.Colour( clrLightSelected );
489  wxColour medSelected = theTheme.Colour( clrMediumSelected );
490  wxColour darkSelected = theTheme.Colour( clrDarkSelected );
491 
492 
493  clippingPen.SetColour(0xCC, 0x11, 0x00);
494 
495  theTheme.SetPenColour( envelopePen, clrEnvelope );
496  theTheme.SetPenColour( WideEnvelopePen, clrEnvelope );
497  theTheme.SetBrushColour( envelopeBrush, clrEnvelope );
498 
499  WideEnvelopePen.SetWidth( 3 );
500 
501  theTheme.SetBrushColour( labelTextNormalBrush, clrLabelTextNormalBrush );
502  theTheme.SetBrushColour( labelTextEditBrush, clrLabelTextEditBrush );
503  theTheme.SetBrushColour( labelUnselectedBrush, clrLabelUnselectedBrush );
504  theTheme.SetBrushColour( labelSelectedBrush, clrLabelSelectedBrush );
505  theTheme.SetBrushColour( labelSyncLockSelBrush, clrSyncLockSel );
506  theTheme.SetPenColour( labelUnselectedPen, clrLabelUnselectedPen );
507  theTheme.SetPenColour( labelSelectedPen, clrLabelSelectedPen );
508  theTheme.SetPenColour( labelSyncLockSelPen, clrSyncLockSel );
509  theTheme.SetPenColour( labelSurroundPen, clrLabelSurroundPen );
510 
511  // These colors were modified to avoid using reserved colors red and green
512  // for the buttons.
513  theTheme.SetBrushColour( muteBrush[0], clrMuteButtonActive);
514  theTheme.SetBrushColour( muteBrush[1], clrMuteButtonVetoed);
515  theTheme.SetBrushColour( soloBrush, clrMuteButtonActive);
516 
517  cursorPen.SetColour( CursorColour() );
518  theTheme.SetPenColour( indicatorPen[0], clrRecordingPen);
519  theTheme.SetPenColour( indicatorPen[1], clrPlaybackPen);
520  theTheme.SetBrushColour( indicatorBrush[0], clrRecordingBrush);
521  theTheme.SetBrushColour( indicatorBrush[1], clrPlaybackBrush);
522 
523  theTheme.SetBrushColour( playRegionBrush[0],clrRulerRecordingBrush);
524  theTheme.SetPenColour( playRegionPen[0], clrRulerRecordingPen);
525  theTheme.SetBrushColour( playRegionBrush[1],clrRulerPlaybackBrush);
526  theTheme.SetPenColour( playRegionPen[1], clrRulerPlaybackPen);
527 
528  //Determine tooltip color
529  tooltipPen.SetColour( wxSystemSettingsNative::GetColour(wxSYS_COLOUR_INFOTEXT) );
530  tooltipBrush.SetColour( wxSystemSettingsNative::GetColour(wxSYS_COLOUR_INFOBK) );
531 
532  uglyPen.SetColour( wxColour{ 0, 255, 0 } ); // saturated green
533  uglyBrush.SetColour( wxColour{ 255, 0, 255 } ); // saturated magenta
534 
535  // A tiny gradient of yellow surrounding the current focused track
536  theTheme.SetPenColour( trackFocusPens[0], clrTrackFocus0);
537  theTheme.SetPenColour( trackFocusPens[1], clrTrackFocus1);
538  theTheme.SetPenColour( trackFocusPens[2], clrTrackFocus2);
539 
540  // A vertical line indicating that the selection or sliding has
541  // been snapped to the nearest boundary.
542  theTheme.SetPenColour( snapGuidePen, clrSnapGuide);
543 
544  // unselected
545  lightBrush[0].SetColour(light);
546  mediumBrush[0].SetColour(med);
547  darkBrush[0].SetColour(dark);
548  lightPen[0].SetColour(light);
549  mediumPen[0].SetColour(med);
550  darkPen[0].SetColour(dark);
551 
552  // selected
553  lightBrush[1].SetColour(lightSelected);
554  mediumBrush[1].SetColour(medSelected);
555  darkBrush[1].SetColour(darkSelected);
556  lightPen[1].SetColour(lightSelected);
557  mediumPen[1].SetColour(medSelected);
558  darkPen[1].SetColour(darkSelected);
559 
560  inited = true;
561 }

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, playRegionPen, ThemeBase::SetBrushColour(), ThemeBase::SetPenColour(), snapGuidePen, soloBrush, theTheme, tooltipBrush, tooltipPen, trackFocusPens, uglyBrush, uglyPen, and WideEnvelopePen.

Referenced by CursorColor(), Dark(), IndicatorColor(), Light(), Medium(), Mute(), AudacityApp::OnInit(), PlayRegionColor(), 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 324 of file AColor.cpp.

325 {
326  if (!inited)
327  Init();
328  int index = (int) selected;
329  auto &brush = highlight ? AColor::uglyBrush : lightBrush[index];
330  dc->SetBrush( brush );
331  auto &pen = highlight ? AColor::uglyPen : lightPen[index];
332  dc->SetPen( pen );
333 }

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

Referenced by Bevel(), AdornedRulerPanel::QuickPlayIndicatorOverlay::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 600 of file AColor.cpp.

601 {
602  if (channel >= 1 && channel <= 16) {
603  const int *colors = AColor_midicolors[channel - 1];
604 
605  dc->SetPen(wxPen(wxColour(127 + colors[0] / 2,
606  127 + colors[1] / 2,
607  127 + colors[2] / 2), 1, wxPENSTYLE_SOLID));
608  dc->SetBrush(wxBrush(wxColour(127 + colors[0] / 2,
609  127 + colors[1] / 2,
610  127 + colors[2] / 2), wxBRUSHSTYLE_SOLID));
611  } else {
612  dc->SetPen(wxPen(wxColour(204, 204, 204), 1, wxPENSTYLE_SOLID));
613  dc->SetBrush(wxBrush(wxColour(204, 204, 204), wxBRUSHSTYLE_SOLID));
614  }
615 
616 }

References AColor_midicolors.

Referenced by NoteTrack::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 112 of file AColor.cpp.

113 {
114  const wxPoint points[] { { x1, y1 }, { x2, y2 } };
115  Lines( dc, 2, points );
116 }

References Lines().

Referenced by Bevel(), AdornedRulerPanel::DoDrawEdge(), AdornedRulerPanel::QuickPlayIndicatorOverlay::Draw(), EditCursorOverlay::Draw(), PlayIndicatorOverlayBase::Draw(), LabelTrackView::Draw(), anonymous_namespace{TrackPanel.cpp}::VRulersAndChannels::Draw(), anonymous_namespace{TrackPanel.cpp}::LabeledChannelGroup::Draw(), TrackPanelResizerCell::Draw(), NoteTrackVRulerControls::Draw(), TrackVRulerControls::Draw(), Ruler::Draw(), SnapManager::Draw(), WaveTrackSubView::DrawBoldBoundaries(), TrackArt::DrawClipEdges(), TrackInfo::DrawCloseButton(), TrackArt::DrawCursor(), anonymous_namespace{WaveformView.cpp}::DrawEnvLine(), Grabber::DrawGrabber(), Ruler::DrawGrid(), anonymous_namespace{TimeTrackView.cpp}::DrawHorzRulerAndCurve(), anonymous_namespace{WaveformView.cpp}::DrawIndividualSamples(), NoteTrack::DrawLabelControls(), LabelTrackView::DrawLines(), MeterPanel::DrawMeterBar(), anonymous_namespace{WaveformView.cpp}::DrawMinMaxRMS(), TrackArt::DrawNegativeOffsetTrackArrows(), anonymous_namespace{NoteTrackView.cpp}::DrawNoteBackground(), anonymous_namespace{NoteTrackView.cpp}::DrawNoteTrack(), FrequencyPlotDialog::DrawPlot(), anonymous_namespace{WaveformView.cpp}::DrawTimeSlider(), LWSlider::DrawToBitmap(), anonymous_namespace{WaveformView.cpp}::DrawWaveformBackground(), KeyView::OnDrawBackground(), KeyView::OnDrawItem(), EqualizationPanel::OnPaint(), ExportMixerPanel::OnPaint(), ToolBarResizer::OnPaint(), ToolDock::OnPaint(), EffectAutoDuckPanel::OnPaint(), EffectCompressorPanel::OnPaint(), EffectScienFilterPanel::OnPaint(), MeterPanel::OnPaint(), ToolFrame::OnPaint(), AudacityPrintout::OnPrintPage(), 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 119 of file AColor.cpp.

120 {
121  if ( nPoints <= 1 ) {
122  if (nPoints == 1)
123  dc.DrawPoint( points[0] );
124  return;
125  }
126 
127  for (size_t ii = 0; ii < nPoints - 1; ++ii) {
128  const auto &p1 = points[ii];
129  const auto &p2 = points[ii + 1];
130 
131  // As of 2.8.9 (possibly earlier), wxDC::DrawLine() on the Mac draws the
132  // last point since it is now based on the NEW wxGraphicsContext system.
133  // Make the other platforms do the same thing since the other platforms
134  // "may" follow they get wxGraphicsContext going.
135 
136  // PRL: as of 3.1.1, I still observe that on Mac, the last point is
137  // included, contrary to what documentation says. Also that on Windows,
138  // sometimes it is the first point that is excluded.
139 
140 #if defined(__WXMAC__) || defined(__WXGTK3__)
141  dc.DrawLine(p1, p2);
142 #else
143  dc.DrawPoint(p1);
144  if ( p1 != p2 ) {
145  dc.DrawLine(p1, p2);
146  }
147 #endif
148  }
149 
150 #if defined(__WXMAC__) || defined(__WXGTK3__)
151  ;
152 #else
153  dc.DrawPoint( points[ nPoints - 1 ] );
154 #endif
155 }

Referenced by Line(), and EffectAutoDuckPanel::OnPaint().

Here is the caller graph for this function:

◆ Medium()

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

Definition at line 335 of file AColor.cpp.

336 {
337  if (!inited)
338  Init();
339  int index = (int) selected;
340  dc->SetBrush(mediumBrush[index]);
341  dc->SetPen(mediumPen[index]);
342 }

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

Referenced by Grabber::DrawGrabber(), and MediumTrackInfo().

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

345 {
346 #ifdef EXPERIMENTAL_THEMING
347  UseThemeColour( dc, selected ? clrTrackInfoSelected : clrTrackInfo );
348 #else
349  Medium( dc, selected );
350 #endif
351 }

References Medium(), and UseThemeColour().

Referenced by TrackPanelResizerCell::Draw(), CommonTrackControls::Draw(), TrackVRulerControls::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 584 of file AColor.cpp.

585 {
586  if (channel >= 1 && channel <= 16) {
587  const int *colors = AColor_midicolors[channel - 1];
588 
589  dc->SetPen(wxPen(wxColour(colors[0],
590  colors[1], colors[2]), 1, wxPENSTYLE_SOLID));
591  dc->SetBrush(wxBrush(wxColour(colors[0],
592  colors[1], colors[2]), wxBRUSHSTYLE_SOLID));
593  } else {
594  dc->SetPen(wxPen(wxColour(153, 153, 153), 1, wxPENSTYLE_SOLID));
595  dc->SetBrush(wxBrush(wxColour(153, 153, 153), wxBRUSHSTYLE_SOLID));
596  }
597 
598 }

References AColor_midicolors.

Referenced by NoteTrack::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 414 of file AColor.cpp.

415 {
416  if (!inited)
417  Init();
418  int index = (int) selected;
419  if (on) {
420  dc->SetPen(*wxBLACK_PEN);
421  dc->SetBrush(muteBrush[(int) soloing]);
422  }
423  else {
424  dc->SetPen(*wxTRANSPARENT_PEN);
425  dc->SetBrush(mediumBrush[index]);
426  }
427 }

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:

◆ PlayRegionColor()

void AColor::PlayRegionColor ( wxDC *  dc,
bool  locked 
)
static

Definition at line 392 of file AColor.cpp.

393 {
394  if (!inited)
395  Init();
396  dc->SetPen(playRegionPen[(int)locked]);
397  dc->SetBrush(playRegionBrush[(int)locked]);
398 }

References Init(), inited, playRegionBrush, and playRegionPen.

Referenced by AdornedRulerPanel::DoDrawPlayRegion().

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

◆ PreComputeGradient()

void AColor::PreComputeGradient ( )
static

Definition at line 640 of file AColor.cpp.

640  {
641  if (gradient_inited) return;
642  gradient_inited = 1;
643 
644  // Keep in correspondence with enum SpectrogramSettings::ColorScheme
645 
646  // colorScheme 0: Color (New)
647  std::copy_n(&specColormap[0][0], gradientSteps * 3, &gradient_pre[ColorGradientUnselected][0][0][0]);
648  std::copy_n(&selColormap[0][0], gradientSteps * 3, &gradient_pre[ColorGradientTimeSelected][0][0][0]);
650  std::fill_n(&gradient_pre[ColorGradientEdge][0][0][0], gradientSteps * 3, 0);
651 
652 
653  for (int selected = 0; selected < ColorGradientTotal; selected++) {
654  // Get color scheme from Theme
655  const int gsteps = 4;
656  float gradient[gsteps + 1][3];
657  theTheme.Colour( clrSpectro1 ) = theTheme.Colour( clrUnselected );
658  theTheme.Colour( clrSpectro1Sel ) = theTheme.Colour( clrSelected );
659  int clrFirst = (selected == ColorGradientUnselected ) ? clrSpectro1 : clrSpectro1Sel;
660  for(int j=0;j<(gsteps+1);j++){
661  wxColour c = theTheme.Colour( clrFirst+j );
662  gradient[ j] [0] = c.Red()/255.0;
663  gradient[ j] [1] = c.Green()/255.0;
664  gradient[ j] [2] = c.Blue()/255.0;
665  }
666 
667  // colorScheme 1: Color (from theme)
668  for (int i = 0; i<gradientSteps; i++) {
669  float r, g, b;
670  float value = float(i)/gradientSteps;
671 
672  int left = (int)(value * gsteps);
673  int right = (left == gsteps ? gsteps : left + 1);
674 
675  float rweight = (value * gsteps) - left;
676  float lweight = 1.0 - rweight;
677 
678  r = (gradient[left][0] * lweight) + (gradient[right][0] * rweight);
679  g = (gradient[left][1] * lweight) + (gradient[right][1] * rweight);
680  b = (gradient[left][2] * lweight) + (gradient[right][2] * rweight);
681 
682  switch (selected) {
684  // not dimmed
685  break;
686 
688  float temp;
689  temp = r;
690  r = g;
691  g = b;
692  b = temp;
693  break;
694 
696  // partly dimmed
697  r *= 0.75f;
698  g *= 0.75f;
699  b *= 0.75f;
700  break;
701 
702 
703  // For now edge colour is just black (or white if grey-scale)
704  // Later we might invert or something else funky.
705  case ColorGradientEdge:
706  // fully dimmed
707  r = 0;
708  g = 0;
709  b = 0;
710  break;
711  }
712  gradient_pre[selected][1][i][0] = (unsigned char) (255 * r);
713  gradient_pre[selected][1][i][1] = (unsigned char) (255 * g);
714  gradient_pre[selected][1][i][2] = (unsigned char) (255 * b);
715  }
716 
717  // colorScheme 3: Inverse Grayscale
718  for (int i = 0; i < gradientSteps; i++) {
719  float r, g, b;
720  float value = float(i) / gradientSteps;
721 
722  r = g = b = value;
723 
724  switch (selected) {
726  // not dimmed
727  break;
728 
730  // else fall through to SAME grayscale colour as normal selection.
731  // The white lines show it up clearly enough.
732 
734  // partly dimmed
735  r = r * 0.75f + 0.25f;
736  g = g * 0.75f + 0.25f;
737  b = b * 0.75f + 0.25f;
738  break;
739 
740  case ColorGradientEdge:
741  r = 1.0f;
742  g = 1.0f;
743  b = 1.0f;
744  break;
745  }
746  gradient_pre[selected][3][i][0] = (unsigned char)(255 * r);
747  gradient_pre[selected][3][i][1] = (unsigned char)(255 * g);
748  gradient_pre[selected][3][i][2] = (unsigned char)(255 * b);
749  }
750 
751  // colorScheme 2: Grayscale (=Old grayscale)
752  for (int i = 0; i<gradientSteps; i++) {
753  float r, g, b;
754  float value = float(i)/gradientSteps;
755 
756  r = g = b = 0.84 - 0.84 * value;
757 
758  switch (selected) {
760  // not dimmed
761  break;
762 
764  // else fall through to SAME grayscale colour as normal selection.
765  // The white lines show it up clearly enough.
766 
768  // partly dimmed
769  r *= 0.75f;
770  g *= 0.75f;
771  b *= 0.75f;
772  break;
773 
774 
775  // For now edge colour is just black (or white if grey-scale)
776  // Later we might invert or something else funky.
777  case ColorGradientEdge:
778  // fully dimmed
779  r = 1.0f;
780  g = 1.0f;
781  b = 1.0f;
782  break;
783  }
784  gradient_pre[selected][2][i][0] = (unsigned char) (255 * r);
785  gradient_pre[selected][2][i][1] = (unsigned char) (255 * g);
786  gradient_pre[selected][2][i][2] = (unsigned char) (255 * b);
787  }
788  }
789 }

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

447 {
448  inited=false;
449  Init();
450  gradient_inited=0;
452 }

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

Referenced by ThemePrefs::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 407 of file AColor.cpp.

408 {
409  if (!inited)
410  Init();
411  dc->SetPen(snapGuidePen);
412 }

References Init(), inited, and snapGuidePen.

Referenced by AdornedRulerPanel::QuickPlayIndicatorOverlay::Draw(), and SnapManager::Draw().

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

430 {
431  if (!inited)
432  Init();
433  int index = (int) selected;
434  if (on) {
435  dc->SetPen(*wxBLACK_PEN);
436  dc->SetBrush(soloBrush);
437  }
438  else {
439  dc->SetPen(*wxTRANSPARENT_PEN);
440  dc->SetBrush(mediumBrush[index]);
441  }
442 }

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

401 {
402  if (!inited)
403  Init();
404  dc->SetPen(trackFocusPens[level]);
405 }

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

366 {
367 #ifdef EXPERIMENTAL_THEMING
368  UseThemeColour( dc, selected ? clrMediumSelected : clrTrackBackground );
369 #else
370  Dark( dc, selected );
371 #endif
372 }

References Dark(), and 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 283 of file AColor.cpp.

284 {
285  if (!inited)
286  Init();
287  // do nothing if no colours set.
288  if( (iBrush == -1) && ( iPen ==-1))
289  return;
290  wxColour col = wxColour(0,0,0);
291  if( iBrush !=-1 ){
292  col = theTheme.Colour( iBrush );
293  col.Set( col.Red(), col.Green(), col.Blue(), alpha);
294  spareBrush.SetColour( col );
295  dc->SetBrush( spareBrush );
296  }
297  if( iPen != -1)
298  col = theTheme.Colour( iPen );
299  sparePen.SetColour( col );
300  dc->SetPen( sparePen );
301 }

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

Referenced by AdornedRulerPanel::DoDrawBackground(), anonymous_namespace{TrackPanel.cpp}::EmptyPanelRect::Draw(), TrackArt::DrawClipAffordance(), TrackArt::DrawClipEdges(), 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 303 of file AColor.cpp.

304 {
305  if (!inited)
306  Init();
307  // do nothing if no colours set.
308  if( (iBrush == -1) && ( iPen ==-1))
309  return;
310  wxColour col = wxColour(0,0,0);
311  if( iBrush !=-1 ){
312  col = theTheme.Colour( iBrush );
313  col.Set( col.Red(), col.Green(), col.Blue(), alpha);
314  spareBrush.SetColour( col );
315  gc->SetBrush( spareBrush );
316  }
317  if( iPen != -1)
318  col = theTheme.Colour( iPen );
319  sparePen.SetColour( col );
320  gc->SetPen( sparePen );
321 }

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

Referenced by Init().

◆ colorSchemes

const int AColor::colorSchemes = 4
static

Definition at line 126 of file AColor.h.

Referenced by SpectrogramSettings::GetColorSchemeNames().

◆ cursorPen

wxPen AColor::cursorPen
static

Definition at line 94 of file AColor.h.

Referenced by CursorColor(), and Init().

◆ darkBrush

wxBrush AColor::darkBrush
static

Definition at line 89 of file AColor.h.

Referenced by Dark(), and Init().

◆ darkPen

wxPen AColor::darkPen
static

Definition at line 92 of file AColor.h.

Referenced by Dark(), and Init().

◆ envelopeBrush

wxBrush AColor::envelopeBrush
static

Definition at line 107 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 128 of file AColor.h.

Referenced by GetColorGradient(), and PreComputeGradient().

◆ gradientSteps

const int AColor::gradientSteps = 256
static

Definition at line 127 of file AColor.h.

Referenced by GetColorGradient(), and PreComputeGradient().

◆ indicatorBrush

wxBrush AColor::indicatorBrush
static

Definition at line 96 of file AColor.h.

Referenced by IndicatorColor(), and Init().

◆ indicatorPen

wxPen AColor::indicatorPen
static

Definition at line 95 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 115 of file AColor.h.

Referenced by Init().

◆ labelSurroundPen

wxPen AColor::labelSurroundPen
static

Definition at line 117 of file AColor.h.

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

◆ labelSyncLockSelBrush

wxBrush AColor::labelSyncLockSelBrush
static

Definition at line 113 of file AColor.h.

Referenced by Init().

◆ labelSyncLockSelPen

wxPen AColor::labelSyncLockSelPen
static

Definition at line 116 of file AColor.h.

Referenced by Init().

◆ labelTextEditBrush

wxBrush AColor::labelTextEditBrush
static

Definition at line 110 of file AColor.h.

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

◆ labelTextNormalBrush

wxBrush AColor::labelTextNormalBrush
static

Definition at line 109 of file AColor.h.

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

◆ labelUnselectedBrush

wxBrush AColor::labelUnselectedBrush
static

◆ labelUnselectedPen

wxPen AColor::labelUnselectedPen
static

Definition at line 114 of file AColor.h.

Referenced by Init().

◆ lightBrush

wxBrush AColor::lightBrush
static

Definition at line 87 of file AColor.h.

Referenced by Init(), and Light().

◆ lightPen

wxPen AColor::lightPen
static

Definition at line 90 of file AColor.h.

Referenced by Init(), and Light().

◆ mediumBrush

wxBrush AColor::mediumBrush
static

Definition at line 88 of file AColor.h.

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

◆ mediumPen

wxPen AColor::mediumPen
static

Definition at line 91 of file AColor.h.

Referenced by Init(), and Medium().

◆ muteBrush

wxBrush AColor::muteBrush
static

Definition at line 100 of file AColor.h.

Referenced by Init(), and Mute().

◆ playRegionBrush

wxBrush AColor::playRegionBrush
static

Definition at line 98 of file AColor.h.

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

◆ playRegionPen

wxPen AColor::playRegionPen
static

Definition at line 97 of file AColor.h.

Referenced by Init(), and PlayRegionColor().

◆ snapGuidePen

wxPen AColor::snapGuidePen
static

Definition at line 120 of file AColor.h.

Referenced by Init(), and SnapGuidePen().

◆ soloBrush

wxBrush AColor::soloBrush
static

Definition at line 101 of file AColor.h.

Referenced by Init(), and Solo().

◆ spareBrush

wxBrush AColor::spareBrush
staticprivate

Definition at line 136 of file AColor.h.

Referenced by UseThemeColour().

◆ sparePen

wxPen AColor::sparePen
staticprivate

Definition at line 135 of file AColor.h.

Referenced by UseThemeColour().

◆ tooltipBrush

wxBrush AColor::tooltipBrush
static

Definition at line 123 of file AColor.h.

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

◆ tooltipPen

wxPen AColor::tooltipPen
static

Definition at line 122 of file AColor.h.

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

◆ trackFocusPens

wxPen AColor::trackFocusPens
static

Definition at line 119 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 106 of file AColor.h.

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


The documentation for this class was generated from the following files:
freqSelColormap
const unsigned char freqSelColormap[256][3]
Definition: AColorResources.h:532
AColor::labelUnselectedPen
static wxPen labelUnselectedPen
Definition: AColor.h:114
AColor::UseThemeColour
static void UseThemeColour(wxDC *dc, int iBrush, int iPen=-1, int alpha=255)
Definition: AColor.cpp:283
AColor::labelUnselectedBrush
static wxBrush labelUnselectedBrush
Definition: AColor.h:111
selColormap
const unsigned char selColormap[256][3]
Definition: AColorResources.h:273
AColor::trackFocusPens
static wxPen trackFocusPens[3]
Definition: AColor.h:119
AColor::ColorGradientTotal
@ ColorGradientTotal
Definition: AColor.h:34
CursorColour
wxColour CursorColour()
Definition: AColor.cpp:461
AColor::ColorGradientTimeSelected
@ ColorGradientTimeSelected
Definition: AColor.h:30
AColor::mediumPen
static wxPen mediumPen[2]
Definition: AColor.h:91
AColor::labelSelectedPen
static wxPen labelSelectedPen
Definition: AColor.h:115
AColor::mediumBrush
static wxBrush mediumBrush[2]
Definition: AColor.h:88
AColor::Line
static void Line(wxDC &dc, wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
Definition: AColor.cpp:112
AColor::playRegionPen
static wxPen playRegionPen[2]
Definition: AColor.h:97
AColor::Lines
static void Lines(wxDC &dc, size_t nPoints, const wxPoint points[])
Definition: AColor.cpp:119
AColor::uglyBrush
static wxBrush uglyBrush
Definition: AColor.h:132
AColor::labelSyncLockSelBrush
static wxBrush labelSyncLockSelBrush
Definition: AColor.h:113
AColor::lightPen
static wxPen lightPen[2]
Definition: AColor.h:90
AColor::darkBrush
static wxBrush darkBrush[2]
Definition: AColor.h:89
AColor::indicatorBrush
static wxBrush indicatorBrush[2]
Definition: AColor.h:96
AColor::envelopePen
static wxPen envelopePen
Definition: AColor.h:105
AColor::snapGuidePen
static wxPen snapGuidePen
Definition: AColor.h:120
AColor::PreComputeGradient
static void PreComputeGradient()
Definition: AColor.cpp:640
ThemeBase::Bitmap
wxBitmap & Bitmap(int iIndex)
Definition: Theme.cpp:1216
AColor::sparePen
static wxPen sparePen
Definition: AColor.h:135
AColor::labelTextEditBrush
static wxBrush labelTextEditBrush
Definition: AColor.h:110
AColor::tooltipBrush
static wxBrush tooltipBrush
Definition: AColor.h:123
AColor::lightBrush
static wxBrush lightBrush[2]
Definition: AColor.h:87
AColor::inited
static bool inited
Definition: AColor.h:137
AColor::tooltipPen
static wxPen tooltipPen
Definition: AColor.h:122
AColor::Light
static void Light(wxDC *dc, bool selected, bool highlight=false)
Definition: AColor.cpp:324
AColor::WideEnvelopePen
static wxPen WideEnvelopePen
Definition: AColor.h:106
AColor::labelSelectedBrush
static wxBrush labelSelectedBrush
Definition: AColor.h:112
ThemeBase::SetBrushColour
void SetBrushColour(wxBrush &Brush, int iIndex)
Definition: Theme.cpp:1204
AColor::indicatorPen
static wxPen indicatorPen[2]
Definition: AColor.h:95
AColor::gradientSteps
static const int gradientSteps
Definition: AColor.h:127
AColor::uglyPen
static wxPen uglyPen
Definition: AColor.h:131
AColor::Medium
static void Medium(wxDC *dc, bool selected)
Definition: AColor.cpp:335
AColor::clippingPen
static wxPen clippingPen
Definition: AColor.h:103
AColor::ColorGradientUnselected
@ ColorGradientUnselected
Definition: AColor.h:29
AColor::cursorPen
static wxPen cursorPen
Definition: AColor.h:94
AColor::Bevel
static void Bevel(wxDC &dc, bool up, const wxRect &r)
Definition: AColor.cpp:191
AColor::spareBrush
static wxBrush spareBrush
Definition: AColor.h:136
AColor::Init
static void Init()
Definition: AColor.cpp:476
AColor::muteBrush
static wxBrush muteBrush[2]
Definition: AColor.h:100
AColor::Dark
static void Dark(wxDC *dc, bool selected, bool highlight=false)
Definition: AColor.cpp:354
AColor::soloBrush
static wxBrush soloBrush
Definition: AColor.h:101
AColor::labelSyncLockSelPen
static wxPen labelSyncLockSelPen
Definition: AColor.h:116
AColor::labelTextNormalBrush
static wxBrush labelTextNormalBrush
Definition: AColor.h:109
AColor::darkPen
static wxPen darkPen[2]
Definition: AColor.h:92
AColor_midicolors
const int AColor_midicolors[16][3]
Definition: AColor.cpp:564
ThemeBase::Colour
wxColour & Colour(int iIndex)
Definition: Theme.cpp:1197
AColor::gradient_pre
static unsigned char gradient_pre[ColorGradientTotal][colorSchemes][gradientSteps][3]
Definition: AColor.h:128
AColor::ColorGradientTimeAndFrequencySelected
@ ColorGradientTimeAndFrequencySelected
Definition: AColor.h:31
theTheme
AUDACITY_DLL_API Theme theTheme
Definition: Theme.cpp:203
AColor::gradient_inited
static bool gradient_inited
Definition: AColor.h:125
AColor::playRegionBrush
static wxBrush playRegionBrush[2]
Definition: AColor.h:98
AColor::envelopeBrush
static wxBrush envelopeBrush
Definition: AColor.h:107
ThemeBase::SetPenColour
void SetPenColour(wxPen &Pen, int iIndex)
Definition: Theme.cpp:1210
AColor::Blend
static wxColour Blend(const wxColour &c1, const wxColour &c2)
Definition: AColor.cpp:242
AColor::labelSurroundPen
static wxPen labelSurroundPen
Definition: AColor.h:117
specColormap
const unsigned char specColormap[256][3]
Definition: AColorResources.h:14
AColor::ColorGradientEdge
@ ColorGradientEdge
Definition: AColor.h:32