Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
ColorMath Class Reference

#include <color_math.h>

Static Public Member Functions

static double relativeLuminance (const QColor &color)
 
static qreal constrastRatio (const QColor &color1, const QColor &color2)
 
static bool isDark (const QColor &color)
 
static QColor mix (const QColor &a, const QColor &b, qreal ratio=0.5)
 
static ThemeColorPair mix (const ThemeColorPair &a, const ThemeColorPair &b, qreal ratio=0.5)
 
static QColor darken (const QColor &c, int percent)
 
static ThemeColorPair darken (const ThemeColorPair &p, int percent)
 
static QColor lighten (const QColor &c, int percent)
 
static ThemeColorPair lighten (const ThemeColorPair &p, int percent)
 
static QColor withAlpha (const QColor &c, int alpha)
 
static ThemeColorPair withAlpha (const ThemeColorPair &p, int alpha)
 
static QColor withAlphaF (const QColor &c, qreal alpha)
 
static ThemeColorPair withAlphaF (const ThemeColorPair &p, qreal alpha)
 
static QColor contrastingText (const QColor &surface)
 
static ThemeColorPair contrastingText (const ThemeColorPair &pair)
 
static QColor contrastingTextOver (const QColor &surface, const QColor &backdrop)
 
static QColor disabled (const QColor &c, const QColor &background)
 
static ThemeColorPair disabled (const ThemeColorPair &p, const QColor &background)
 
static QColor hoverBg (const QColor &c, const QColor &background)
 
static ThemeColorPair hoverBg (const ThemeColorPair &p, const QColor &background)
 

Detailed Description

Pure color-math helpers, independent of the running app's theme or palette.

Every method is static and side-effect-free except contrastingText(QColor) which — when the surface has alpha — asks ThemeManager for the current app mode to pick a fallback backdrop. That coupling is deliberate: the caller wants "the right foreground for this translucent surface as rendered right now", which is a theme-runtime question.

Member Function Documentation

◆ constrastRatio()

qreal ColorMath::constrastRatio ( const QColor &  color1,
const QColor &  color2 
)
static

WCAG contrast ratio between two opaque colors. Higher values are more contrasty; 4.5 is the AA threshold for body text.

◆ contrastingText()

QColor ColorMath::contrastingText ( const QColor &  surface)
static

Returns Qt::black or Qt::white — whichever reads better on the given surface color. If the surface is translucent, picks the app's current dark/light mode as the backdrop.

◆ contrastingTextOver()

QColor ColorMath::contrastingTextOver ( const QColor &  surface,
const QColor &  backdrop 
)
static

Same as contrastingText(), but with the caller supplying the backdrop explicitly — useful when rendering onto a known surface (e.g. the blue header gradient) rather than the app palette.

◆ darken()

QColor ColorMath::darken ( const QColor &  c,
int  percent 
)
static

Mix the given color with black at percent %. Hover typically 8-12 %, pressed 16-20 %, gradient backdrop 50-65 %.

◆ disabled()

QColor ColorMath::disabled ( const QColor &  c,
const QColor &  background 
)
static

Standard "disabled" fade: mix(color, background, 0.4).

◆ hoverBg()

QColor ColorMath::hoverBg ( const QColor &  c,
const QColor &  background 
)
static

Subtle hover tint: mix(color, background, 0.1).

◆ isDark()

bool ColorMath::isDark ( const QColor &  color)
static

Returns true if the given color's relative luminance is below the WCAG equal-contrast threshold (≈0.179). Purely a color- math helper; independent of the running app's theme.

◆ lighten()

QColor ColorMath::lighten ( const QColor &  c,
int  percent 
)
static

Mix the given color with white at percent %. Used for text on dark surfaces (30-70 %).

◆ mix()

QColor ColorMath::mix ( const QColor &  a,
const QColor &  b,
qreal  ratio = 0.5 
)
static

Linear blend of two colors at ratio r. r=0 returns a, r=1 returns b. Alpha-aware.

◆ relativeLuminance()

double ColorMath::relativeLuminance ( const QColor &  color)
static

WCAG relative luminance in the [0, 1] range.

◆ withAlpha()

QColor ColorMath::withAlpha ( const QColor &  c,
int  alpha 
)
static

Set the alpha channel to an integer 0-255.

◆ withAlphaF()

QColor ColorMath::withAlphaF ( const QColor &  c,
qreal  alpha 
)
static

Set the alpha channel to a float 0.0-1.0.


The documentation for this class was generated from the following files: