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.
 
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, const std::vector< int > &aMargins={ 0, 0, 0, 0 })
 
static void RenderToDC (wxDC *aDC, const KIGFX::COLOR4D &aColor, const KIGFX::COLOR4D &aBackground, const wxRect &aRect, const wxSize &aCheckerboardSize, const KIGFX::COLOR4D &aCheckerboardBackground, const std::vector< int > &aMargins={ 0, 0, 0, 0 })
 

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 55 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 115 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,
const std::vector< int > & aMargins = { 0, 0, 0, 0 } )
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 341 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,
const std::vector< int > & aMargins = { 0, 0, 0, 0 } )
static

◆ rePostEvent()

void COLOR_SWATCH::rePostEvent ( wxEvent & aEvent)
private

Pass unwanted events on to listeners of this object.

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

References m_default.

◆ SetReadOnly()

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

Definition at line 114 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 120 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 117 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 298 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 221 of file color_swatch.cpp.

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

Referenced by COLOR_SWATCH(), and COLOR_SWATCH().

◆ 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 101 of file color_swatch.h.

References m_swatch.

Member Data Documentation

◆ m_background

KIGFX::COLOR4D COLOR_SWATCH::m_background
private

Definition at line 146 of file color_swatch.h.

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

◆ m_checkerboardBg

KIGFX::COLOR4D COLOR_SWATCH::m_checkerboardBg
private

Definition at line 154 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 153 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 147 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 157 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 158 of file color_swatch.h.

Referenced by GetNewSwatchColor(), and SetReadOnlyCallback().

◆ m_size

wxSize COLOR_SWATCH::m_size
private

Definition at line 152 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 161 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 148 of file color_swatch.h.

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


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