53 lines
1.7 KiB
C++
53 lines
1.7 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/msw/darkmode.h
|
|
// Purpose: MSW-specific header with dark mode related declarations.
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2023-02-19
|
|
// Copyright: (c) 2023 Vadim Zeitlin <vadim@wxwidgets.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_MSW_DARKMODE_H_
|
|
#define _WX_MSW_DARKMODE_H_
|
|
|
|
#include "wx/settings.h"
|
|
|
|
// Constants used with wxDarkModeSettings::GetMenuColour().
|
|
enum class wxMenuColour
|
|
{
|
|
StandardFg,
|
|
StandardBg,
|
|
DisabledFg,
|
|
HotBg
|
|
};
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxDarkModeSettings: allows to customize some of dark mode settings
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxDarkModeSettings
|
|
{
|
|
public:
|
|
wxDarkModeSettings() = default;
|
|
virtual ~wxDarkModeSettings();
|
|
|
|
// Get the colour to use for the given system colour when dark mode is on.
|
|
virtual wxColour GetColour(wxSystemColour index);
|
|
|
|
// Menu items don't use any of the standard colours, but are defined by
|
|
// this function.
|
|
virtual wxColour GetMenuColour(wxMenuColour which);
|
|
|
|
// Get the pen to use for drawing wxStaticBox border in dark mode.
|
|
//
|
|
// Returning an invalid pen indicates that the default border drawn by the
|
|
// system should be used, which doesn't look very well in dark mode but
|
|
// shouldn't result in any problems worse than cosmetic ones.
|
|
virtual wxPen GetBorderPen();
|
|
|
|
private:
|
|
wxDECLARE_NO_COPY_CLASS(wxDarkModeSettings);
|
|
};
|
|
|
|
#endif // _WX_MSW_DARKMODE_H_
|