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)
 Update 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)
 Register 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 )

◆ COLOR_SWATCH() [2/2]

COLOR_SWATCH::COLOR_SWATCH ( wxWindow * aParent,
wxWindowID aId,
const wxPoint & aPos = wxDefaultPosition,
const wxSize & aSize = wxDefaultSize,
long aStyle = 0 )

Member Function Documentation

◆ GetNewSwatchColor()

void COLOR_SWATCH::GetNewSwatchColor ( )

◆ GetSwatchColor()

◆ IsReadOnly()

bool COLOR_SWATCH::IsReadOnly ( ) const
inline

Definition at line 121 of file color_swatch.h.

References m_readOnly.

◆ MakeBitmap()

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

◆ makeBitmap()

wxBitmap COLOR_SWATCH::makeBitmap ( )
private

◆ OnDarkModeToggle()

void COLOR_SWATCH::OnDarkModeToggle ( )

Respond to a change in the OS's DarkMode setting.

Definition at line 327 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 249 of file color_swatch.cpp.

Referenced by setupEvents().

◆ SetDefaultColor()

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 278 of file color_swatch.cpp.

References m_default.

◆ SetReadOnly()

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

Definition at line 120 of file color_swatch.h.

References m_readOnly.

Referenced by APPEARANCE_CONTROLS::rebuildLayers().

◆ SetReadOnlyCallback()

void COLOR_SWATCH::SetReadOnlyCallback ( std::function< void()> aCallback)
inline

Register a handler for when the user tries to interact with a read-only swatch.

Definition at line 126 of file color_swatch.h.

References m_readOnlyCallback.

Referenced by APPEARANCE_CONTROLS::rebuildLayers(), APPEARANCE_CONTROLS_3D::rebuildLayers(), and APPEARANCE_CONTROLS::rebuildObjects().

◆ SetSupportsOpacity()

void COLOR_SWATCH::SetSupportsOpacity ( bool aSupportsOpacity)
inline

Definition at line 123 of file color_swatch.h.

References m_supportsOpacity.

◆ SetSwatchBackground()

void COLOR_SWATCH::SetSwatchBackground ( const KIGFX::COLOR4D & aBackground)

Set the swatch background color.

Definition at line 284 of file color_swatch.cpp.

References m_background, m_swatch, and makeBitmap().

Referenced by LAYER_WIDGET::OnRenderSwatchChanged().

◆ SetSwatchColor()

void COLOR_SWATCH::SetSwatchColor ( const KIGFX::COLOR4D & aColor,
bool aSendEvent )

◆ setupEvents()

void COLOR_SWATCH::setupEvents ( bool aTriggerWithSingleClick)
private

Definition at line 207 of file color_swatch.cpp.

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

Referenced by COLOR_SWATCH(), and 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

Update the window ID of this control and its children.

Parameters
aIdnew Window ID to set.

Definition at line 107 of file color_swatch.h.

References m_swatch.

Member Data Documentation

◆ m_background

KIGFX::COLOR4D COLOR_SWATCH::m_background
private

Definition at line 151 of file color_swatch.h.

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

◆ m_checkerboardBg

KIGFX::COLOR4D COLOR_SWATCH::m_checkerboardBg
private

Definition at line 159 of file color_swatch.h.

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

◆ m_checkerboardSize

wxSize COLOR_SWATCH::m_checkerboardSize
private

Definition at line 158 of file color_swatch.h.

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

◆ m_color

KIGFX::COLOR4D COLOR_SWATCH::m_color
private

◆ m_default

KIGFX::COLOR4D COLOR_SWATCH::m_default
private

Definition at line 152 of file color_swatch.h.

Referenced by COLOR_SWATCH(), 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 162 of file color_swatch.h.

Referenced by COLOR_SWATCH(), COLOR_SWATCH(), GetNewSwatchColor(), IsReadOnly(), and SetReadOnly().

◆ m_readOnlyCallback

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

Definition at line 163 of file color_swatch.h.

Referenced by GetNewSwatchColor(), and SetReadOnlyCallback().

◆ m_size

wxSize COLOR_SWATCH::m_size
private

Definition at line 157 of file color_swatch.h.

Referenced by COLOR_SWATCH(), 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 166 of file color_swatch.h.

Referenced by COLOR_SWATCH(), COLOR_SWATCH(), GetNewSwatchColor(), and SetSupportsOpacity().

◆ m_swatch

wxStaticBitmap* COLOR_SWATCH::m_swatch
private

◆ m_userColors

CUSTOM_COLORS_LIST* COLOR_SWATCH::m_userColors
private

Definition at line 153 of file color_swatch.h.

Referenced by COLOR_SWATCH(), COLOR_SWATCH(), GetNewSwatchColor(), and SetUserColors().


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