KiCad PCB EDA Suite
|
A simple color swatch of the kind used to set layer colors. More...
#include <color_swatch.h>
Public Member Functions | |
COLOR_SWATCH (wxWindow *aParent, const KIGFX::COLOR4D &aColor, int aID, const KIGFX::COLOR4D &aBackground, const KIGFX::COLOR4D &aDefault, SWATCH_SIZE aSwatchType, bool aTriggerWithSingleClick=false) | |
Construct a COLOR_SWATCH. | |
COLOR_SWATCH (wxWindow *aParent, wxWindowID aId, const wxPoint &aPos=wxDefaultPosition, const wxSize &aSize=wxDefaultSize, long aStyle=0) | |
constructor for wxFormBuilder | |
void | SetSwatchColor (const KIGFX::COLOR4D &aColor, bool aSendEvent) |
Set the current swatch color directly. | |
void | SetDefaultColor (const KIGFX::COLOR4D &aColor) |
Sets the color that will be chosen with the "Reset to Default" button in the chooser. | |
void | SetSwatchBackground (const KIGFX::COLOR4D &aBackground) |
Set the swatch background color. | |
void | SetUserColors (CUSTOM_COLORS_LIST *aUserColors) |
Fetch a reference to the user colors list. | |
KIGFX::COLOR4D | GetSwatchColor () const |
void | SetWindowID (wxWindowID aId) |
Updates the window ID of this control and its children. | |
void | GetNewSwatchColor () |
Prompt for a new colour, using the colour picker dialog. | |
void | SetReadOnly (bool aReadOnly=true) |
bool | IsReadOnly () const |
void | SetSupportsOpacity (bool aSupportsOpacity) |
void | SetReadOnlyCallback (std::function< void()> aCallback) |
Registers a handler for when the user tries to interact with a read-only swatch. | |
void | OnDarkModeToggle () |
Respond to a change in the OS's DarkMode setting. | |
Static Public Member Functions | |
static wxBitmap | MakeBitmap (const KIGFX::COLOR4D &aColor, const KIGFX::COLOR4D &aBackground, const wxSize &aSize, const wxSize &aCheckerboardSize, const KIGFX::COLOR4D &aCheckerboardBackground) |
static void | RenderToDC (wxDC *aDC, const KIGFX::COLOR4D &aColor, const KIGFX::COLOR4D &aBackground, const wxRect &aRect, const wxSize &aCheckerboardSize, const KIGFX::COLOR4D &aCheckerboardBackground) |
Private Member Functions | |
void | setupEvents (bool aTriggerWithSingleClick) |
wxBitmap | makeBitmap () |
void | rePostEvent (wxEvent &aEvent) |
Pass unwanted events on to listeners of this object. | |
Private Attributes | |
KIGFX::COLOR4D | m_color |
KIGFX::COLOR4D | m_background |
KIGFX::COLOR4D | m_default |
CUSTOM_COLORS_LIST * | m_userColors |
wxStaticBitmap * | m_swatch |
wxSize | m_size |
wxSize | m_checkerboardSize |
KIGFX::COLOR4D | m_checkerboardBg |
bool | m_readOnly |
A read-only swatch won't show the color chooser dialog but otherwise works normally. | |
std::function< void()> | m_readOnlyCallback |
bool | m_supportsOpacity |
If opacity is not supported the color chooser dialog will be displayed without it. | |
A simple color swatch of the kind used to set layer colors.
Definition at line 56 of file color_swatch.h.
COLOR_SWATCH::COLOR_SWATCH | ( | wxWindow * | aParent, |
const KIGFX::COLOR4D & | aColor, | ||
int | aID, | ||
const KIGFX::COLOR4D & | aBackground, | ||
const KIGFX::COLOR4D & | aDefault, | ||
SWATCH_SIZE | aSwatchType, | ||
bool | aTriggerWithSingleClick = false |
||
) |
Construct a COLOR_SWATCH.
aParent | parent window |
aColor | initial swatch color |
aID | id to use when sending swatch events |
Definition at line 137 of file color_swatch.cpp.
References CHECKERBOARD_SIZE_DU(), m_checkerboardBg, m_checkerboardSize, m_size, m_swatch, makeBitmap(), setupEvents(), SWATCH_EXPAND, SWATCH_LARGE, SWATCH_MEDIUM, SWATCH_SIZE_LARGE_DU(), SWATCH_SIZE_MEDIUM_DU(), SWATCH_SIZE_SMALL_DU(), and SWATCH_SMALL.
COLOR_SWATCH::COLOR_SWATCH | ( | wxWindow * | aParent, |
wxWindowID | aId, | ||
const wxPoint & | aPos = wxDefaultPosition , |
||
const wxSize & | aSize = wxDefaultSize , |
||
long | aStyle = 0 |
||
) |
constructor for wxFormBuilder
Definition at line 172 of file color_swatch.cpp.
References CHECKERBOARD_SIZE_DU(), m_checkerboardBg, m_checkerboardSize, m_size, m_swatch, makeBitmap(), setupEvents(), and SWATCH_SIZE_MEDIUM_DU().
void COLOR_SWATCH::GetNewSwatchColor | ( | ) |
Prompt for a new colour, using the colour picker dialog.
A colour change event will be sent if it's set.
Definition at line 297 of file color_swatch.cpp.
References DIALOG_COLOR_PICKER::GetColor(), m_color, m_default, m_readOnly, m_readOnlyCallback, m_supportsOpacity, m_swatch, m_userColors, makeBitmap(), sendSwatchChangeEvent(), and DIALOG_SHIM::ShowModal().
Referenced by DIALOG_TABLECELL_PROPERTIES::onFillColorPopup(), DIALOG_SHAPE_PROPERTIES::onFillRadioButton(), APPEARANCE_CONTROLS::onNetclassContextMenu(), LAYER_WIDGET::OnRightDownRender(), DIALOG_TABLECELL_PROPERTIES::onTextColorPopup(), and setupEvents().
COLOR4D COLOR_SWATCH::GetSwatchColor | ( | ) | const |
Definition at line 291 of file color_swatch.cpp.
References m_color.
Referenced by PROPERTIES_FRAME::CopyPrmsFromPanelToItem(), DIALOG_SHAPE_PROPERTIES::onBorderSwatch(), PANEL_COLOR_SETTINGS::OnColorChanged(), APPEARANCE_CONTROLS_3D::onColorSwatchChanged(), APPEARANCE_CONTROLS::OnColorSwatchChanged(), DIALOG_SHAPE_PROPERTIES::onFillRadioButton(), LAYER_WIDGET::OnLayerSwatchChanged(), APPEARANCE_CONTROLS::onNetclassColorChanged(), APPEARANCE_CONTROLS::onNetclassContextMenu(), LAYER_WIDGET::OnRenderSwatchChanged(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), PANEL_3D_OPENGL_OPTIONS::TransferDataFromWindow(), PANEL_3D_RAYTRACING_OPTIONS::TransferDataFromWindow(), DIALOG_FIELD_PROPERTIES::TransferDataFromWindow(), DIALOG_JUNCTION_PROPS::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_LINE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), DIALOG_TABLE_PROPERTIES::TransferDataFromWindow(), DIALOG_TABLECELL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_WIRE_BUS_PROPERTIES::TransferDataFromWindow(), PANEL_EESCHEMA_EDITING_OPTIONS::TransferDataFromWindow(), DIALOG_TABLECELL_PROPERTIES::TransferDataToWindow(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inline |
Definition at line 120 of file color_swatch.h.
References m_readOnly.
|
private |
Definition at line 52 of file color_swatch.cpp.
References m_background, m_checkerboardBg, m_checkerboardSize, m_color, m_size, and MakeBitmap().
Referenced by COLOR_SWATCH(), GetNewSwatchColor(), OnDarkModeToggle(), SetSwatchBackground(), and SetSwatchColor().
|
static |
Definition at line 37 of file color_swatch.cpp.
References RenderToDC().
Referenced by GRID_CELL_COLOR_RENDERER::Draw(), DIALOG_COLOR_PICKER::initDefinedColors(), makeBitmap(), PANE_ZONE_VIEWER::PANE_ZONE_VIEWER(), ZONE_SETTINGS::SetupLayersList(), and DIALOG_COLOR_PICKER::updatePreview().
void COLOR_SWATCH::OnDarkModeToggle | ( | ) |
Respond to a change in the OS's DarkMode setting.
Definition at line 326 of file color_swatch.cpp.
References m_checkerboardBg, m_swatch, and makeBitmap().
|
static |
Definition at line 63 of file color_swatch.cpp.
References KIGFX::COLOR4D::a, KIGFX::COLOR4D::Brightened(), KIGFX::COLOR4D::Darkened(), KIGFX::COLOR4D::GetBrightness(), and KIGFX::COLOR4D::ToColour().
Referenced by MakeBitmap(), and PG_CELL_RENDERER::Render().
|
private |
Pass unwanted events on to listeners of this object.
Definition at line 248 of file color_swatch.cpp.
Referenced by setupEvents().
void COLOR_SWATCH::SetDefaultColor | ( | const KIGFX::COLOR4D & | aColor | ) |
Sets the color that will be chosen with the "Reset to Default" button in the chooser.
Definition at line 277 of file color_swatch.cpp.
References m_default.
Referenced by DIALOG_FIELD_PROPERTIES::DIALOG_FIELD_PROPERTIES(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_LINE_PROPERTIES::DIALOG_LINE_PROPERTIES(), DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_WIRE_BUS_PROPERTIES::DIALOG_WIRE_BUS_PROPERTIES(), PANEL_EESCHEMA_EDITING_OPTIONS::loadEEschemaSettings(), PANEL_3D_OPENGL_OPTIONS::PANEL_3D_OPENGL_OPTIONS(), PANEL_EESCHEMA_EDITING_OPTIONS::PANEL_EESCHEMA_EDITING_OPTIONS(), PROPERTIES_FRAME::PROPERTIES_FRAME(), DIALOG_SHEET_PROPERTIES::TransferDataToWindow(), and DIALOG_TABLECELL_PROPERTIES::TransferDataToWindow().
|
inline |
Definition at line 119 of file color_swatch.h.
References m_readOnly.
Referenced by APPEARANCE_CONTROLS::rebuildLayers().
|
inline |
Registers a handler for when the user tries to interact with a read-only swatch.
Definition at line 125 of file color_swatch.h.
References m_readOnlyCallback.
Referenced by APPEARANCE_CONTROLS_3D::rebuildLayers(), APPEARANCE_CONTROLS::rebuildLayers(), and APPEARANCE_CONTROLS::rebuildObjects().
|
inline |
Definition at line 122 of file color_swatch.h.
References m_supportsOpacity.
Referenced by PANEL_3D_OPENGL_OPTIONS::PANEL_3D_OPENGL_OPTIONS().
void COLOR_SWATCH::SetSwatchBackground | ( | const KIGFX::COLOR4D & | aBackground | ) |
Set the swatch background color.
Definition at line 283 of file color_swatch.cpp.
References m_background, m_swatch, and makeBitmap().
Referenced by DIALOG_FIELD_PROPERTIES::DIALOG_FIELD_PROPERTIES(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_LINE_PROPERTIES::DIALOG_LINE_PROPERTIES(), DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_TABLE_PROPERTIES::DIALOG_TABLE_PROPERTIES(), DIALOG_TABLECELL_PROPERTIES::DIALOG_TABLECELL_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_WIRE_BUS_PROPERTIES::DIALOG_WIRE_BUS_PROPERTIES(), PANEL_EESCHEMA_EDITING_OPTIONS::loadEEschemaSettings(), LAYER_WIDGET::OnRenderSwatchChanged(), PROPERTIES_FRAME::PROPERTIES_FRAME(), and DIALOG_SHEET_PROPERTIES::TransferDataToWindow().
void COLOR_SWATCH::SetSwatchColor | ( | const KIGFX::COLOR4D & | aColor, |
bool | aSendEvent | ||
) |
Set the current swatch color directly.
Definition at line 266 of file color_swatch.cpp.
References m_color, m_swatch, makeBitmap(), and sendSwatchChangeEvent().
Referenced by PROPERTIES_FRAME::CopyPrmsFromItemToPanel(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), PANEL_EESCHEMA_EDITING_OPTIONS::loadEEschemaSettings(), PANEL_3D_OPENGL_OPTIONS::loadSettings(), DIALOG_SHAPE_PROPERTIES::onBorderSwatch(), DIALOG_SHAPE_PROPERTIES::onFillRadioButton(), APPEARANCE_CONTROLS::onNetclassContextMenu(), DIALOG_JUNCTION_PROPS::resetDefaults(), DIALOG_LINE_PROPERTIES::resetDefaults(), DIALOG_WIRE_BUS_PROPERTIES::resetDefaults(), PANEL_COLOR_SETTINGS::ResetPanel(), DIALOG_FIELD_PROPERTIES::TransferDataToWindow(), DIALOG_JUNCTION_PROPS::TransferDataToWindow(), DIALOG_LABEL_PROPERTIES::TransferDataToWindow(), DIALOG_LINE_PROPERTIES::TransferDataToWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataToWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataToWindow(), DIALOG_SHEET_PROPERTIES::TransferDataToWindow(), DIALOG_TABLE_PROPERTIES::TransferDataToWindow(), DIALOG_TABLECELL_PROPERTIES::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), and DIALOG_WIRE_BUS_PROPERTIES::TransferDataToWindow().
|
private |
Definition at line 206 of file color_swatch.cpp.
References GetNewSwatchColor(), m_swatch, and rePostEvent().
Referenced by COLOR_SWATCH().
|
inline |
Fetch a reference to the user colors list.
Definition at line 95 of file color_swatch.h.
References m_userColors.
|
inline |
Updates the window ID of this control and its children.
aId | new Window ID to set |
Definition at line 106 of file color_swatch.h.
References m_swatch.
|
private |
Definition at line 150 of file color_swatch.h.
Referenced by makeBitmap(), and SetSwatchBackground().
|
private |
Definition at line 158 of file color_swatch.h.
Referenced by COLOR_SWATCH(), makeBitmap(), and OnDarkModeToggle().
|
private |
Definition at line 157 of file color_swatch.h.
Referenced by COLOR_SWATCH(), and makeBitmap().
|
private |
Definition at line 149 of file color_swatch.h.
Referenced by GetNewSwatchColor(), GetSwatchColor(), makeBitmap(), and SetSwatchColor().
|
private |
Definition at line 151 of file color_swatch.h.
Referenced by GetNewSwatchColor(), and SetDefaultColor().
|
private |
A read-only swatch won't show the color chooser dialog but otherwise works normally.
Definition at line 161 of file color_swatch.h.
Referenced by GetNewSwatchColor(), IsReadOnly(), and SetReadOnly().
|
private |
Definition at line 162 of file color_swatch.h.
Referenced by GetNewSwatchColor(), and SetReadOnlyCallback().
|
private |
Definition at line 156 of file color_swatch.h.
Referenced by COLOR_SWATCH(), and makeBitmap().
|
private |
If opacity is not supported the color chooser dialog will be displayed without it.
Definition at line 165 of file color_swatch.h.
Referenced by GetNewSwatchColor(), and SetSupportsOpacity().
|
private |
Definition at line 154 of file color_swatch.h.
Referenced by COLOR_SWATCH(), GetNewSwatchColor(), OnDarkModeToggle(), SetSwatchBackground(), SetSwatchColor(), setupEvents(), and SetWindowID().
|
private |
Definition at line 152 of file color_swatch.h.
Referenced by GetNewSwatchColor(), and SetUserColors().