KiCad PCB EDA Suite
Loading...
Searching...
No Matches
COLOR_SWATCH Class Reference

A simple color swatch of the kind used to set layer colors. More...

#include <color_swatch.h>

Inheritance diagram for COLOR_SWATCH:

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_LISTm_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.
 

Detailed Description

A simple color swatch of the kind used to set layer colors.

Definition at line 56 of file color_swatch.h.

Constructor & Destructor Documentation

◆ COLOR_SWATCH() [1/2]

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.

Parameters
aParentparent window
aColorinitial swatch color
aIDid 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() [2/2]

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().

Member Function Documentation

◆ GetNewSwatchColor()

◆ GetSwatchColor()

◆ IsReadOnly()

bool COLOR_SWATCH::IsReadOnly ( ) const
inline

Definition at line 120 of file color_swatch.h.

References m_readOnly.

◆ makeBitmap()

wxBitmap COLOR_SWATCH::makeBitmap ( )
private

◆ MakeBitmap()

wxBitmap COLOR_SWATCH::MakeBitmap ( const KIGFX::COLOR4D aColor,
const KIGFX::COLOR4D aBackground,
const wxSize &  aSize,
const wxSize &  aCheckerboardSize,
const KIGFX::COLOR4D aCheckerboardBackground 
)
static

◆ OnDarkModeToggle()

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().

◆ RenderToDC()

void COLOR_SWATCH::RenderToDC ( wxDC *  aDC,
const KIGFX::COLOR4D aColor,
const KIGFX::COLOR4D aBackground,
const wxRect &  aRect,
const wxSize &  aCheckerboardSize,
const KIGFX::COLOR4D aCheckerboardBackground 
)
static

◆ rePostEvent()

void COLOR_SWATCH::rePostEvent ( wxEvent &  aEvent)
private

Pass unwanted events on to listeners of this object.

Definition at line 248 of file color_swatch.cpp.

Referenced by setupEvents().

◆ SetDefaultColor()

◆ SetReadOnly()

void COLOR_SWATCH::SetReadOnly ( bool  aReadOnly = true)
inline

Definition at line 119 of file color_swatch.h.

References m_readOnly.

Referenced by APPEARANCE_CONTROLS::rebuildLayers().

◆ SetReadOnlyCallback()

void COLOR_SWATCH::SetReadOnlyCallback ( std::function< void()>  aCallback)
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().

◆ SetSupportsOpacity()

void COLOR_SWATCH::SetSupportsOpacity ( bool  aSupportsOpacity)
inline

Definition at line 122 of file color_swatch.h.

References m_supportsOpacity.

Referenced by PANEL_3D_OPENGL_OPTIONS::PANEL_3D_OPENGL_OPTIONS().

◆ SetSwatchBackground()

◆ SetSwatchColor()

◆ setupEvents()

void COLOR_SWATCH::setupEvents ( bool  aTriggerWithSingleClick)
private

Definition at line 206 of file color_swatch.cpp.

References GetNewSwatchColor(), m_swatch, and rePostEvent().

Referenced by COLOR_SWATCH().

◆ SetUserColors()

void COLOR_SWATCH::SetUserColors ( CUSTOM_COLORS_LIST aUserColors)
inline

Fetch a reference to the user colors list.

Definition at line 95 of file color_swatch.h.

References m_userColors.

◆ SetWindowID()

void COLOR_SWATCH::SetWindowID ( wxWindowID  aId)
inline

Updates the window ID of this control and its children.

Parameters
aIdnew Window ID to set

Definition at line 106 of file color_swatch.h.

References m_swatch.

Member Data Documentation

◆ m_background

KIGFX::COLOR4D COLOR_SWATCH::m_background
private

Definition at line 150 of file color_swatch.h.

Referenced by makeBitmap(), and SetSwatchBackground().

◆ m_checkerboardBg

KIGFX::COLOR4D COLOR_SWATCH::m_checkerboardBg
private

Definition at line 158 of file color_swatch.h.

Referenced by COLOR_SWATCH(), makeBitmap(), and OnDarkModeToggle().

◆ m_checkerboardSize

wxSize COLOR_SWATCH::m_checkerboardSize
private

Definition at line 157 of file color_swatch.h.

Referenced by COLOR_SWATCH(), and makeBitmap().

◆ m_color

KIGFX::COLOR4D COLOR_SWATCH::m_color
private

Definition at line 149 of file color_swatch.h.

Referenced by GetNewSwatchColor(), GetSwatchColor(), makeBitmap(), and SetSwatchColor().

◆ m_default

KIGFX::COLOR4D COLOR_SWATCH::m_default
private

Definition at line 151 of file color_swatch.h.

Referenced by GetNewSwatchColor(), and SetDefaultColor().

◆ m_readOnly

bool COLOR_SWATCH::m_readOnly
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().

◆ m_readOnlyCallback

std::function<void()> COLOR_SWATCH::m_readOnlyCallback
private

Definition at line 162 of file color_swatch.h.

Referenced by GetNewSwatchColor(), and SetReadOnlyCallback().

◆ m_size

wxSize COLOR_SWATCH::m_size
private

Definition at line 156 of file color_swatch.h.

Referenced by COLOR_SWATCH(), and makeBitmap().

◆ m_supportsOpacity

bool COLOR_SWATCH::m_supportsOpacity
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().

◆ m_swatch

wxStaticBitmap* COLOR_SWATCH::m_swatch
private

◆ m_userColors

CUSTOM_COLORS_LIST* COLOR_SWATCH::m_userColors
private

Definition at line 152 of file color_swatch.h.

Referenced by GetNewSwatchColor(), and SetUserColors().


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