Version: 3.2.2
wxSystemAppearance Class Reference

#include <wx/settings.h>

Detailed Description

Provides information about the current system appearance.

An object of this class can be retrieved using wxSystemSettings::GetAppearance() and can then be queried for some aspects of the current system appearance, notably whether the system is using a dark theme, i.e. a theme with predominantly dark background.

This is useful for custom controls that don't use the standard system colours, as they need to adjust the colours used for drawing them to fit in the system look.

Since
3.1.3

Public Member Functions

wxString GetName () const
 Return the name if available or empty string otherwise. More...
 
bool IsDark () const
 Return true if the current system there is explicitly recognized as being a dark theme or if the default window background is dark. More...
 
bool IsUsingDarkBackground () const
 Return true if the default window background is significantly darker than foreground. More...
 

Member Function Documentation

◆ GetName()

wxString wxSystemAppearance::GetName ( ) const

Return the name if available or empty string otherwise.

This is currently only implemented for macOS and returns a not necessarily user-readable string such as "NSAppearanceNameAqua" there and an empty string under all the other platforms.

◆ IsDark()

bool wxSystemAppearance::IsDark ( ) const

Return true if the current system there is explicitly recognized as being a dark theme or if the default window background is dark.

This method should be used to check whether custom colours more appropriate for the default (light) or dark appearance should be used.

◆ IsUsingDarkBackground()

bool wxSystemAppearance::IsUsingDarkBackground ( ) const

Return true if the default window background is significantly darker than foreground.

This is used by IsDark() if there is no platform-specific way to determine whether a dark mode is being used and is generally not very useful to call directly.

See also
wxColour::GetLuminance()