KiCad PCB EDA Suite
Loading...
Searching...
No Matches
layer_presentation.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#ifndef LAYER_PRESENTATION_H
21#define LAYER_PRESENTATION_H
22
23#include <gal/color4d.h>
24#include <layer_ids.h>
25
26class wxBitmap;
27class wxBitmapBundle;
28
29using KIGFX::COLOR4D;
30
36{
37public:
39
40 // Return a color index from the layer id
41 virtual COLOR4D getLayerColor( int aLayer ) const = 0;
42
43 // Return the name of the layer id
44 virtual wxString getLayerName( int aLayer ) const = 0;
45
46 // Fill the layer bitmap aLayerbmp with the layer color
47 static void DrawColorSwatch( wxBitmap& aLayerbmp, const COLOR4D& aBackground,
48 const COLOR4D& aColor );
49
54 void DrawColorSwatch( wxBitmap& aLayerbmp, int aLayer ) const;
55
59 static wxBitmapBundle CreateLayerPairIcon( const COLOR4D& aTopColor, const COLOR4D& aBottomColor,
60 int aDefSize = 24 );
61
66 wxBitmapBundle CreateLayerPairIcon( int aLeftLayer, int aRightLayer, int aDefSize = 24 ) const;
67};
68
69#endif // LAYER_PRESENTATION_H
A color representation with 4 components: red, green, blue, alpha.
Definition color4d.h:101
Base class for an object that can provide information about presenting layers (colours,...
static void DrawColorSwatch(wxBitmap &aLayerbmp, const COLOR4D &aBackground, const COLOR4D &aColor)
virtual COLOR4D getLayerColor(int aLayer) const =0
virtual wxString getLayerName(int aLayer) const =0
static wxBitmapBundle CreateLayerPairIcon(const COLOR4D &aTopColor, const COLOR4D &aBottomColor, int aDefSize=24)
Create a layer pair "side-by-side swatch" icon.