|
Krita Source Code Documentation
|
#include <kcolorscheme.h>
Public Types | |
| enum | BackgroundRole { NormalBackground = 0 , AlternateBackground = 1 , ActiveBackground = 2 , LinkBackground = 3 , VisitedBackground = 4 , NegativeBackground = 5 , NeutralBackground = 6 , PositiveBackground = 7 } |
| enum | ColorSet { View , Window , Button , Selection , Tooltip } |
| enum | DecorationRole { FocusColor , HoverColor } |
| enum | ForegroundRole { NormalText = 0 , InactiveText = 1 , ActiveText = 2 , LinkText = 3 , VisitedText = 4 , NegativeText = 5 , NeutralText = 6 , PositiveText = 7 } |
| enum | ShadeRole { LightShade , MidlightShade , MidShade , DarkShade , ShadowShade } |
Public Member Functions | |
| QBrush | background (BackgroundRole=NormalBackground) const |
| QBrush | decoration (DecorationRole) const |
| QBrush | foreground (ForegroundRole=NormalText) const |
| KColorScheme (const KColorScheme &) | |
| KColorScheme (QPalette::ColorGroup, ColorSet=View, KSharedConfigPtr=KSharedConfigPtr()) | |
| KColorScheme & | operator= (const KColorScheme &) |
| QColor | shade (ShadeRole) const |
| virtual | ~KColorScheme () |
Static Public Member Functions | |
| static void | adjustBackground (QPalette &, BackgroundRole newRole=NormalBackground, QPalette::ColorRole color=QPalette::Base, ColorSet set=View, KSharedConfigPtr=KSharedConfigPtr()) |
| static void | adjustForeground (QPalette &, ForegroundRole newRole=NormalText, QPalette::ColorRole color=QPalette::Text, ColorSet set=View, KSharedConfigPtr=KSharedConfigPtr()) |
| static int | contrast () |
| static qreal | contrastF (const KSharedConfigPtr &config=KSharedConfigPtr()) |
| static QPalette | createApplicationPalette (const KSharedConfigPtr &config) |
| static QColor | shade (const QColor &, ShadeRole) |
| static QColor | shade (const QColor &, ShadeRole, qreal contrast, qreal chromaAdjust=0.0) |
Private Attributes | |
| QExplicitlySharedDataPointer< KColorSchemePrivate > | d |
A set of methods used to work with colors.
KColorScheme currently provides access to the system color palette that the user has selected (in the future, it is expected to do more). It greatly expands on QPalette by providing five distinct "sets" with several color choices each, covering background, foreground, and decoration colors.
A KColorScheme instance represents colors corresponding to a "set", where a set consists of those colors used to draw a particular type of element, such as a menu, button, view, selected text, or tooltip. Each set has a distinct set of colors, so you should always use the correct set for drawing and never assume that a particular foreground for one set is the same as the foreground for any other set. Individual colors may be quickly referenced by creating an anonymous instance and invoking a lookup member.
To facilitate working with potentially-varying states, two convenience API's are provided. These are KColorScheme::adjustBackground and its sister KColorScheme::adjustForeground, and the helper class KStatefulBrush.
Definition at line 52 of file kcolorscheme.h.
This enumeration describes the background color being selected from the given set.
Background colors are suitable for drawing under text, and should never be used to draw text. In combination with one of the overloads of KColorScheme::shade, they may be used to generate colors for drawing frames, bevels, and similar decorations.
| Enumerator | |
|---|---|
| NormalBackground | Normal background. |
| AlternateBackground | Alternate background; for example, for use in lists. This color may be the same as BackgroundNormal, especially in sets other than View and Window. |
| ActiveBackground | Third color; for example, items which are new, active, requesting attention, etc. Alerting the user that a certain field must be filled out would be a good usage (although NegativeBackground could be used to the same effect, depending on what you are trying to achieve). Unlike ActiveText, this should not be used for mouseover effects. |
| LinkBackground | Fourth color; corresponds to (unvisited) links. Exactly what this might be used for is somewhat harder to qualify; it might be used for bookmarks, as a 'you can click here' indicator, or to highlight recent content (i.e. in a most-recently-accessed list). |
| VisitedBackground | Fifth color; corresponds to visited links. This can also be used to indicate "not recent" content, especially when a color is needed to denote content which is "old" or "archival". |
| NegativeBackground | Sixth color; for example, errors, untrusted content, etc. |
| NeutralBackground | Seventh color; for example, warnings, secure/encrypted content. |
| PositiveBackground | Eighth color; for example, success messages, trusted content. |
Definition at line 112 of file kcolorscheme.h.
This enumeration describes the color set for which a color is being selected.
Color sets define a color "environment", suitable for drawing all parts of a given region. Colors from different sets should not be combined.
| Enumerator | |
|---|---|
| View | Views; for example, frames, input fields, etc. If it contains things that can be selected, it is probably a View. |
| Window | Non-editable window elements; for example, menus. If it isn't a Button, View, or Tooltip, it is probably a Window. |
| Button | Buttons and button-like controls. In addition to buttons, "button-like" controls such as non-editable dropdowns, scrollbar sliders, slider handles, etc. should also use this role. |
| Selection | Selected items in views. Note that unfocused or disabled selections should use the Window role. This makes it more obvious to the user that the view containing the selection does not have input focus. |
| Tooltip | Tooltips. The tooltip set can often be substituted for the view set when editing is not possible, but the Window set is deemed inappropriate. "What's This" help is an excellent example, another might be pop-up notifications (depending on taste). |
Definition at line 63 of file kcolorscheme.h.
This enumeration describes the decoration color being selected from the given set.
Decoration colors are used to draw decorations (such as frames) for special purposes. Like color shades, they are neither foreground nor background colors. Text should not be painted over a decoration color, and decoration colors should not be used to draw text.
| Enumerator | |
|---|---|
| FocusColor | Color used to draw decorations for items which have input focus. |
| HoverColor | Color used to draw decorations for items which will be activated by clicking. |
Definition at line 237 of file kcolorscheme.h.
This enumeration describes the foreground color being selected from the given set.
Foreground colors are suitable for drawing text or glyphs (such as the symbols on window decoration buttons, assuming a suitable background brush is used), and should never be used to draw backgrounds.
For window decorations, the following is suggested, but not set in stone:
Definition at line 181 of file kcolorscheme.h.
This enumeration describes the color shade being selected from the given set.
Color shades are used to draw "3d" elements, such as frames and bevels. They are neither foreground nor background colors. Text should not be painted over a shade, and shades should not be used to draw text.
Definition at line 257 of file kcolorscheme.h.
| KColorScheme::KColorScheme | ( | const KColorScheme & | other | ) |
Construct a copy of another KColorScheme.
Definition at line 390 of file kcolorscheme.cpp.
|
virtual |
|
explicit |
Construct a palette from given color set and state, using the colors from the given KConfig (if null, the system colors are used).
Definition at line 404 of file kcolorscheme.cpp.
References background(), Button, d, defaultButtonColors, defaultSelectionColors, defaultTooltipColors, defaultViewColors, defaultWindowColors, KColorScheme(), Selection, Tooltip, and Window.
|
static |
Adjust a QPalette by replacing the specified QPalette::ColorRole with the requested background color for all states. Using this method is safer than replacing individual states, as it insulates you against changes in QPalette::ColorGroup.
Definition at line 533 of file kcolorscheme.cpp.
References background(), KColorScheme(), and palette.
|
static |
Adjust a QPalette by replacing the specified QPalette::ColorRole with the requested foreground color for all states. Using this method is safer than replacing individual states, as it insulates you against changes in QPalette::ColorGroup.
Definition at line 541 of file kcolorscheme.cpp.
References foreground(), KColorScheme(), and palette.
| QBrush KColorScheme::background | ( | BackgroundRole | role = NormalBackground | ) | const |
Retrieve the requested background brush.
Definition at line 457 of file kcolorscheme.cpp.
References d.
|
static |
Returns the contrast for borders.
Definition at line 441 of file kcolorscheme.cpp.
|
static |
Returns the contrast for borders as a floating point value.
| config | pointer to the config from which to read the contrast setting (the default is to use KSharedConfig::openConfig()) |
Definition at line 448 of file kcolorscheme.cpp.
References contrast().
|
static |
Used to obtain the QPalette that will be used to set the application palette from KDE Platform theme.
| config | KConfig from which to load the colors |
Definition at line 549 of file kcolorscheme.cpp.
References AlternateBackground, background(), Button, DarkShade, foreground(), LightShade, LinkText, MidlightShade, MidShade, palette, Selection, shade(), ShadowShade, Tooltip, View, VisitedText, and Window.
| QBrush KColorScheme::decoration | ( | DecorationRole | role | ) | const |
Retrieve the requested decoration brush.
Definition at line 467 of file kcolorscheme.cpp.
References d.
| QBrush KColorScheme::foreground | ( | ForegroundRole | role = NormalText | ) | const |
Retrieve the requested foreground brush.
Definition at line 462 of file kcolorscheme.cpp.
References d.
| KColorScheme & KColorScheme::operator= | ( | const KColorScheme & | other | ) |
|
static |
Retrieve the requested shade color, using the specified color as the base color and the system contrast setting.
Definition at line 477 of file kcolorscheme.cpp.
References contrastF(), and shade().
|
static |
Retrieve the requested shade color, using the specified color as the base color and the specified contrast.
| color | the shade color |
| role | the shade role |
| contrast | Amount roughly specifying the contrast by which to adjust the base color, between -1.0 and 1.0 (values between 0.0 and 1.0 correspond to the value from KColorScheme::contrastF) |
| chromaAdjust | (optional) Amount by which to adjust the chroma of the shade (1.0 means no adjustment) |
Definition at line 482 of file kcolorscheme.cpp.
References contrast(), DarkShade, LightShade, MidlightShade, MidShade, and ShadowShade.
| QColor KColorScheme::shade | ( | ShadeRole | role | ) | const |
Retrieve the requested shade color, using KColorScheme::background(KColorScheme::NormalBackground) as the base color and the contrast setting from the KConfig used to create this KColorScheme instance (the system contrast setting, if no KConfig was specified).
Definition at line 472 of file kcolorscheme.cpp.
References background(), d, and shade().
|
private |
Definition at line 427 of file kcolorscheme.h.