|
Wireshark 4.7.2
The Wireshark network protocol analyzer
|
#include <color_math.h>
Static Public Member Functions | |
| static double | relativeLuminance (const QColor &color) |
| static qreal | contrastRatio (const QColor &color1, const QColor &color2) |
| static QColor | ensureContrast (const QColor &c, const QColor &bg, qreal minRatio) |
| 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) |
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.
|
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.
|
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.
|
static |
WCAG contrast ratio between two opaque colors. Higher values are more contrasty; 4.5 is the AA threshold for body text.
|
static |
Mix the given color with black at percent %. Hover typically 8-12 %, pressed 16-20 %, gradient backdrop 50-65 %.
|
static |
Standard "disabled" fade: mix(color, background, 0.4).
|
static |
Mix c toward contrastingText(bg) until contrastRatio(result, bg) >= minRatio. Binary-searches the mix ratio (24 iterations → < 0.001 precision). Used to enforce WCAG contrast on derived tokens (section headers against the base, header-gradient end against the title text) without forcing every theme author to hand-pick the values. When c already meets the target it is returned unchanged. If the math can't reach the target (rare; only when c is already on the same luminance side as contrastingText(bg) and saturated), returns contrastingText(bg) directly — favoring readability over hue.
|
static |
Subtle hover tint: mix(color, background, 0.1).
|
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.
|
static |
Mix the given color with white at percent %. Used for text on dark surfaces (30-70 %).
|
static |
Linear blend of two colors at ratio r. r=0 returns a, r=1 returns b. Alpha-aware.
|
static |
WCAG relative luminance in the [0, 1] range.
|
static |
Set the alpha channel to an integer 0-255.
|
static |
Set the alpha channel to a float 0.0-1.0.