Audacity  3.2.0
Classes | Typedefs | Enumerations | Functions | Variables
Theme.h File Reference
#include <map>
#include <unordered_set>
#include <vector>
#include <wx/arrstr.h>
#include <wx/defs.h>
#include <wx/gdicmn.h>
#include "ComponentInterfaceSymbol.h"
#include "Prefs.h"
Include dependency graph for Theme.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FlowPacker
 A cursor for iterating the theme bitmap. More...
 
struct  ThemeSet
 
class  ThemeBase
 Theme management - Image loading and saving. More...
 
struct  ThemeBase::RegisteredTheme
 
class  Theme
 Based on ThemeBase, Theme manages image and icon resources. More...
 

Typedefs

using teThemeType = Identifier
 A choice of theme such as "Light", "Dark", ... More...
 
using teBmps = int
 

Enumerations

enum  PreferredSystemAppearance { PreferredSystemAppearance::Light, PreferredSystemAppearance::Dark, PreferredSystemAppearance::HighContrastDark }
 A system theme, that matches selected theme best (only works on macOS with builtin themes). More...
 
enum  teResourceType { resTypeColour, resTypeBitmap, resTypeImage = resTypeBitmap }
 The index of a bitmap resource in Theme Resources. More...
 
enum  teResourceFlags {
  resFlagNone =0x00, resFlagPaired =0x01, resFlagCursor =0x02, resFlagNewLine = 0x04,
  resFlagInternal = 0x08, resFlagSkip = 0x10
}
 

Functions

THEME_API ChoiceSettingGUITheme ()
 

Variables

THEME_API Theme theTheme
 
THEME_API BoolSetting GUIBlendThemes
 

Typedef Documentation

◆ teBmps

using teBmps = int

Definition at line 47 of file Theme.h.

◆ teThemeType

A choice of theme such as "Light", "Dark", ...

Definition at line 28 of file Theme.h.

Enumeration Type Documentation

◆ PreferredSystemAppearance

A system theme, that matches selected theme best (only works on macOS with builtin themes).

Enumerator
Light 
Dark 
HighContrastDark 

Definition at line 31 of file Theme.h.

32 {
33  Light,
34  Dark,
36 };

◆ teResourceFlags

Enumerator
resFlagNone 
resFlagPaired 
resFlagCursor 
resFlagNewLine 
resFlagInternal 
resFlagSkip 

Definition at line 56 of file Theme.h.

57 {
58  resFlagNone =0x00,
59  resFlagPaired =0x01,
60  resFlagCursor =0x02,
61  resFlagNewLine = 0x04,
62  resFlagInternal = 0x08, // For image manipulation. Don't save or load.
63  resFlagSkip = 0x10
64 };

◆ teResourceType

The index of a bitmap resource in Theme Resources.

Enumerator
resTypeColour 
resTypeBitmap 
resTypeImage 

Definition at line 49 of file Theme.h.

50 {
54 };

Function Documentation

◆ GUITheme()

THEME_API ChoiceSetting& GUITheme ( )

Referenced by ThemeBase::LoadPreferredTheme(), GUIPrefs::PopulateOrExchange(), ThemeBase::ReadImageCache(), and ThemeBase::SwitchTheme().

Here is the caller graph for this function:

Variable Documentation

◆ GUIBlendThemes

THEME_API BoolSetting GUIBlendThemes
extern

◆ theTheme

THEME_API Theme theTheme
extern

Definition at line 82 of file Theme.cpp.

Referenced by EditToolBar::AddButton(), ScrubbingToolBar::AddButton(), TranscriptionToolBar::AddButton(), anonymous_namespace{HelpMenus.cpp}::QuickFixDialog::AddStuck(), SelectionBar::AddTitle(), AlphaBlend(), ProjectWindow::ApplyUpdatedTheme(), ASlider::ASlider(), auStaticText::auStaticText(), AColor::Bevel2(), AColor::BevelTrackInfo(), ThemePrefs::Cancel(), TrackInfo::CloseTitleDrawFunction(), GUIPrefs::Commit(), ThemePrefs::Commit(), CreateStdButtonSizer(), Exporter::CreateUserPane(), CursorColour(), WaveTrackVRulerControls::DoDraw(), AdornedRulerPanel::DoDrawMarks(), AdornedRulerPanel::DoDrawPlayRegion(), AdornedRulerPanel::DoDrawPlayRegionLimits(), LabelTrackView::Draw(), NoteTrackAffordanceControls::Draw(), WaveTrackAffordanceControls::Draw(), TimeTrackVRulerControls::Draw(), Ruler::Label::Draw(), TrackInfo::DrawCloseButton(), anonymous_namespace{TimeTrackView.cpp}::DrawHorzRulerAndCurve(), TrackInfo::DrawItems(), NoteTrack::DrawLabelControls(), anonymous_namespace{NoteTrackView.cpp}::DrawNoteTrack(), FrequencyPlotDialog::DrawPlot(), TrackArt::DrawSyncLockTiles(), LWSlider::DrawToBitmap(), anonymous_namespace{TrackPanel.cpp}::DrawTrackName(), ErrorReportDialog::ErrorReportDialog(), LabelTrackView::GetGlyph(), anonymous_namespace{PlayIndicatorOverlay.cpp}::GetIndicatorBitmap(), Grabber::Grabber(), HtmlColourOfIndex(), AColor::Init(), InitProjectWindow(), NumericTextCtrl::Layout(), ThemeBase::LoadPreferredTheme(), ThemeBase::LoadTheme(), main(), ControlToolBar::MakeAlternateImages(), ToolBar::MakeAlternateImages(), TranscriptionToolBar::MakeAlternateImages(), ControlToolBar::MakeButton(), ToolBar::MakeButton(), MixerBoard::MakeButtonBitmap(), ToolBar::MakeMacRecoloredImage(), WaveTrackAffordanceControls::MakeTextEditHelper(), ToolsToolBar::MakeTool(), TrackInfo::MinimizeSyncLockDrawFunction(), MixerBoard::MixerBoard(), MultiDialog::MultiDialog(), ToolManager::OnIndicatorPaint(), App::OnInit(), AudacityApp::OnInit(), ThemePrefs::OnLoadThemeCache(), ThemePrefs::OnLoadThemeComponents(), EqualizationPanel::OnPaint(), ToolBarResizer::OnPaint(), ToolBar::OnPaint(), ToolDock::OnPaint(), NumericTextCtrl::OnPaint(), EffectAutoDuckPanel::OnPaint(), EffectCompressorPanel::OnPaint(), EffectScienFilterPanel::OnPaint(), MixerTrackCluster::OnPaint(), MeterPanel::OnPaint(), ToolFrame::OnPaint(), ThemePrefs::OnReadThemeInternal(), ThemePrefs::OnSaveThemeAsCode(), ThemePrefs::OnSaveThemeCache(), ThemePrefs::OnSaveThemeComponents(), OverlayImage(), FrequencyPlotDialog::Populate(), ControlToolBar::Populate(), DeviceToolBar::Populate(), EditToolBar::Populate(), MeterToolBar::Populate(), MixerToolBar::Populate(), ScrubbingToolBar::Populate(), SelectionBar::Populate(), ToolsToolBar::Populate(), TranscriptionToolBar::Populate(), AColor::PreComputeGradient(), AdornedRulerPanel::ReCreateButtons(), Ruler::Ruler(), TrackArtist::SetColours(), LogWindow::Show(), HelpSystem::ShowHtmlText(), ToolBarGrabber::ToolBarGrabber(), ToolDock::ToolDock(), MixerBoard::UpdatePrefs(), and AColor::UseThemeColour().

resFlagPaired
@ resFlagPaired
Definition: Theme.h:59
resFlagSkip
@ resFlagSkip
Definition: Theme.h:63
resTypeBitmap
@ resTypeBitmap
Definition: Theme.h:52
PreferredSystemAppearance::Dark
@ Dark
resFlagInternal
@ resFlagInternal
Definition: Theme.h:62
resFlagNone
@ resFlagNone
Definition: Theme.h:58
PreferredSystemAppearance::HighContrastDark
@ HighContrastDark
resTypeColour
@ resTypeColour
Definition: Theme.h:51
resTypeImage
@ resTypeImage
Definition: Theme.h:53
PreferredSystemAppearance::Light
@ Light
resFlagCursor
@ resFlagCursor
Definition: Theme.h:60
resFlagNewLine
@ resFlagNewLine
Definition: Theme.h:61