14#ifndef __AUDACITY_COLOR__
15#define __AUDACITY_COLOR__
22class wxGraphicsContext;
29 ColorGradientUnselected = 0,
40 static void Arrow(wxDC & dc, wxCoord x, wxCoord y,
int width,
bool down =
true);
44 static void Line(wxDC & dc, wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
47 static void Lines(wxDC &dc,
size_t nPoints,
const wxPoint points[]);
49 static void DrawFocus(wxDC & dc, wxRect & r);
50 static void Bevel(wxDC & dc,
bool up,
const wxRect & r);
52 (wxDC & dc,
bool up,
const wxRect & r,
bool bSel=
false,
bool bHighlight =
false);
56 static void ButtonStretch(wxDC& dc,
bool up,
const wxRect& r,
bool selected =
false,
bool highlight =
false);
57 static void BevelTrackInfo(wxDC & dc,
bool up,
const wxRect & r,
bool highlight =
false);
58 static wxColour Blend(
const wxColour & c1,
const wxColour & c2);
60 static void UseThemeColour( wxDC * dc,
int iBrush,
int iPen=-1,
int alpha = 255 );
61 static void UseThemeColour( wxGraphicsContext * gc,
int iBrush,
int iPen=-1,
int alpha = 255 );
62 static void TrackPanelBackground(wxDC * dc,
bool selected);
64 static void Light(wxDC * dc,
bool selected,
bool highlight =
false);
65 static void Medium(wxDC * dc,
bool selected);
66 static void MediumTrackInfo(wxDC * dc,
bool selected);
67 static void Dark(wxDC * dc,
bool selected,
bool highlight =
false);
69 static void CursorColor(wxDC * dc);
70 static void IndicatorColor(wxDC * dc,
bool bIsNotRecording);
72 static void Mute(wxDC * dc,
bool on,
bool selected,
bool soloing);
73 static void Solo(wxDC * dc,
bool on,
bool selected);
79 static void MIDIChannel(wxDC * dc,
int channel );
80 static void LightMIDIChannel(wxDC * dc,
int channel );
81 static void DarkMIDIChannel(wxDC * dc,
int channel );
83 static void TrackFocusPen(wxDC * dc,
int level );
84 static void SnapGuidePen(wxDC * dc);
86 static void PreComputeGradient();
88 static void ApplyUpdatedImages();
92 static wxBrush lightBrush[2];
93 static wxBrush mediumBrush[2];
94 static wxBrush darkBrush[2];
95 static wxPen lightPen[2];
96 static wxPen mediumPen[2];
97 static wxPen darkPen[2];
100 static wxPen indicatorPen[2];
101 static wxBrush indicatorBrush[2];
103 static wxBrush playRegionBrush[1];
105 static wxBrush muteBrush[2];
124 static wxPen trackFocusPens[3];
131 static const int colorSchemes = 4;
132 static const int gradientSteps = 256;
133 static unsigned char gradient_pre[ColorGradientTotal][colorSchemes][gradientSteps][3];
149 unsigned char * __restrict red,
150 unsigned char * __restrict green,
151 unsigned char * __restrict blue) {
void GetColorGradient(float value, AColor::ColorGradientChoice selected, int colorScheme, unsigned char *__restrict red, unsigned char *__restrict green, unsigned char *__restrict blue)
AColor Manages color brushes and pens.
static wxBrush labelSelectedBrush
static wxPen WideEnvelopePen
@ ColorGradientTimeAndFrequencySelected
@ ColorGradientTimeSelected
static wxPen labelSurroundPen
static wxBrush envelopeBrush
static wxBrush labelTextNormalBrush
static wxBrush labelTextEditBrush
static const int gradientSteps
static wxBrush labelSyncLockSelBrush
static unsigned char gradient_pre[ColorGradientTotal][colorSchemes][gradientSteps][3]
static wxPen labelSelectedPen
static wxBrush tooltipBrush
static wxBrush labelUnselectedBrush
static wxPen snapGuidePen
static wxBrush spareBrush
static wxPen labelUnselectedPen
static bool gradient_inited
static wxPen labelSyncLockSelPen