ADDED support for e-series based tuning.

This commit is contained in:
Jeff Young 2022-12-26 10:29:52 +00:00
parent 61dd4b7043
commit 946e0a4b98
18 changed files with 1046 additions and 58 deletions

View File

@ -26,6 +26,10 @@
void BuildBitmapInfo( std::unordered_map<BITMAPS, std::vector<BITMAP_INFO>>& aBitmapInfoCache ) void BuildBitmapInfo( std::unordered_map<BITMAPS, std::vector<BITMAP_INFO>>& aBitmapInfoCache )
{ {
aBitmapInfoCache[BITMAPS::e_24].emplace_back( BITMAPS::e_24, wxT( "e_24_16.png" ), 16, wxT( "light" ) );
aBitmapInfoCache[BITMAPS::e_48].emplace_back( BITMAPS::e_48, wxT( "e_48_16.png" ), 16, wxT( "light" ) );
aBitmapInfoCache[BITMAPS::e_96].emplace_back( BITMAPS::e_96, wxT( "e_96_16.png" ), 16, wxT( "light" ) );
aBitmapInfoCache[BITMAPS::e_192].emplace_back( BITMAPS::e_192, wxT( "e_192_16.png" ), 16, wxT( "light" ) );
aBitmapInfoCache[BITMAPS::icon_bitmap2component_16].emplace_back( BITMAPS::icon_bitmap2component_16, wxT( "icon_bitmap2component_16_16.png" ), 16, wxT( "light" ) ); aBitmapInfoCache[BITMAPS::icon_bitmap2component_16].emplace_back( BITMAPS::icon_bitmap2component_16, wxT( "icon_bitmap2component_16_16.png" ), 16, wxT( "light" ) );
aBitmapInfoCache[BITMAPS::icon_eeschema_16].emplace_back( BITMAPS::icon_eeschema_16, wxT( "icon_eeschema_16_16.png" ), 16, wxT( "light" ) ); aBitmapInfoCache[BITMAPS::icon_eeschema_16].emplace_back( BITMAPS::icon_eeschema_16, wxT( "icon_eeschema_16_16.png" ), 16, wxT( "light" ) );
aBitmapInfoCache[BITMAPS::icon_gerbview_16].emplace_back( BITMAPS::icon_gerbview_16, wxT( "icon_gerbview_16_16.png" ), 16, wxT( "light" ) ); aBitmapInfoCache[BITMAPS::icon_gerbview_16].emplace_back( BITMAPS::icon_gerbview_16, wxT( "icon_gerbview_16_16.png" ), 16, wxT( "light" ) );

View File

@ -107,6 +107,33 @@ void SPICE_VALUE::Normalize()
} }
wxString prefix( SPICE_VALUE::UNIT_PREFIX aPrefix )
{
switch( aPrefix )
{
case SPICE_VALUE::PFX_FEMTO: return wxT( "f" );
case SPICE_VALUE::PFX_PICO: return wxT( "p" );
case SPICE_VALUE::PFX_NANO: return wxT( "n" );
case SPICE_VALUE::PFX_MICRO: return wxT( "u" );
case SPICE_VALUE::PFX_MILI: return wxT( "m" );
case SPICE_VALUE::PFX_NONE: return wxEmptyString;
case SPICE_VALUE::PFX_KILO: return wxT( "k" );
case SPICE_VALUE::PFX_MEGA: return wxT( "Meg" );
case SPICE_VALUE::PFX_GIGA: return wxT( "G" );
case SPICE_VALUE::PFX_TERA: return wxT( "T" );
}
}
double SPICE_VALUE::ToNormalizedDouble( wxString* aPrefix )
{
Normalize();
*aPrefix = prefix( m_prefix );
return m_base;
}
double SPICE_VALUE::ToDouble() const double SPICE_VALUE::ToDouble() const
{ {
double res = m_base; double res = m_base;
@ -120,7 +147,7 @@ double SPICE_VALUE::ToDouble() const
wxString SPICE_VALUE::ToString() const wxString SPICE_VALUE::ToString() const
{ {
wxString res( wxString::Format( "%.3f", ToDouble() ) ); wxString res( wxString::Format( "%.3f", ToDouble() ) );
stripZeros( res ); StripZeros( res );
return res; return res;
} }
@ -129,21 +156,8 @@ wxString SPICE_VALUE::ToString() const
wxString SPICE_VALUE::ToSpiceString() const wxString SPICE_VALUE::ToSpiceString() const
{ {
wxString res = wxString::FromCDouble( m_base ); wxString res = wxString::FromCDouble( m_base );
stripZeros( res ); StripZeros( res );
res += prefix( m_prefix );
switch( m_prefix )
{
case PFX_FEMTO: res += "f"; break;
case PFX_PICO: res += "p"; break;
case PFX_NANO: res += "n"; break;
case PFX_MICRO: res += "u"; break;
case PFX_MILI: res += "m"; break;
case PFX_NONE: break;
case PFX_KILO: res += "k"; break;
case PFX_MEGA: res += "Meg"; break;
case PFX_GIGA: res += "G"; break;
case PFX_TERA: res += "T"; break;
}
return res; return res;
} }
@ -231,7 +245,7 @@ SPICE_VALUE SPICE_VALUE::operator/( const SPICE_VALUE& aOther ) const
} }
void SPICE_VALUE::stripZeros( wxString& aString ) void SPICE_VALUE::StripZeros( wxString& aString )
{ {
if ( aString.Find( ',' ) >= 0 || aString.Find( '.' ) >= 0 ) if ( aString.Find( ',' ) >= 0 || aString.Find( '.' ) >= 0 )
{ {

View File

@ -73,6 +73,8 @@ public:
*/ */
void Normalize(); void Normalize();
double ToNormalizedDouble( wxString* aPrefix );
double ToDouble() const; double ToDouble() const;
/** /**
@ -132,10 +134,10 @@ public:
SPICE_VALUE operator*( const SPICE_VALUE& aOther ) const; SPICE_VALUE operator*( const SPICE_VALUE& aOther ) const;
SPICE_VALUE operator/( const SPICE_VALUE& aOther ) const; SPICE_VALUE operator/( const SPICE_VALUE& aOther ) const;
private:
///< Remove redundant zeros from the end of a string. ///< Remove redundant zeros from the end of a string.
static void stripZeros( wxString& aString ); static void StripZeros( wxString& aString );
private:
double m_base; double m_base;
UNIT_PREFIX m_prefix; UNIT_PREFIX m_prefix;

View File

@ -28,6 +28,7 @@
#include <sim/sim_plot_frame.h> #include <sim/sim_plot_frame.h>
#include <sch_symbol.h> #include <sch_symbol.h>
#include <template_fieldnames.h> #include <template_fieldnames.h>
#include <widgets/bitmap_button.h>
#include <widgets/std_bitmap_button.h> #include <widgets/std_bitmap_button.h>
#include <cmath> // log log1p expm1 #include <cmath> // log log1p expm1
@ -35,6 +36,7 @@
// Must be after other includes to avoid conflict with a window header on msys2 // Must be after other includes to avoid conflict with a window header on msys2
#include "tuner_slider.h" #include "tuner_slider.h"
#include "core/kicad_algo.h"
TUNER_SLIDER::TUNER_SLIDER( SIM_PLOT_FRAME* aFrame, wxWindow* aParent, TUNER_SLIDER::TUNER_SLIDER( SIM_PLOT_FRAME* aFrame, wxWindow* aParent,
const SCH_SHEET_PATH& aSheetPath, SCH_SYMBOL* aSymbol ) : const SCH_SHEET_PATH& aSheetPath, SCH_SYMBOL* aSymbol ) :
@ -54,12 +56,22 @@ TUNER_SLIDER::TUNER_SLIDER( SIM_PLOT_FRAME* aFrame, wxWindow* aParent,
m_name->SetLabel( ref ); m_name->SetLabel( ref );
m_closeBtn->SetBitmap( KiBitmap( BITMAPS::small_trash ) ); m_closeBtn->SetBitmap( KiBitmap( BITMAPS::small_trash ) );
m_e24->SetBitmap( KiBitmap( BITMAPS::e_24 ) );
m_e24->SetIsCheckButton();
m_separator->SetIsSeparator();
m_e48->SetBitmap( KiBitmap( BITMAPS::e_48 ) );
m_e48->SetIsCheckButton();
m_e96->SetBitmap( KiBitmap( BITMAPS::e_96 ) );
m_e96->SetIsCheckButton();
m_e192->SetBitmap( KiBitmap( BITMAPS::e_192 ) );
m_e192->SetIsCheckButton();
const SIM_MODEL::PARAM* tunerParam = item->model->GetTunerParam(); const SIM_MODEL::PARAM* tunerParam = item->model->GetTunerParam();
if( !tunerParam ) if( !tunerParam )
{ {
throw KI_PARAM_ERROR( wxString::Format( _( "Symbol '%s' has simulation model of type '%s %s', " throw KI_PARAM_ERROR( wxString::Format( _( "%s has simulation model of type '%s %s'; "
"which cannot be tuned" ), "only RLC passives be tuned" ),
ref, ref,
item->model->GetDeviceInfo().fieldValue, item->model->GetDeviceInfo().fieldValue,
item->model->GetTypeInfo().fieldValue ) ); item->model->GetTypeInfo().fieldValue ) );
@ -95,6 +107,28 @@ TUNER_SLIDER::TUNER_SLIDER( SIM_PLOT_FRAME* aFrame, wxWindow* aParent,
} }
void TUNER_SLIDER::onESeries( wxCommandEvent& event )
{
if( event.GetEventObject() != m_e24 )
{
for( BITMAP_BUTTON* btn : { m_e48, m_e96, m_e192 } )
{
if( btn != event.GetEventObject() )
btn->Check( false );
}
}
wxString oldValue = m_valueText->GetValue();
updateValueText();
if( m_valueText->GetValue() != oldValue )
updateComponentValue();
event.Skip();
}
bool TUNER_SLIDER::SetValue( const SPICE_VALUE& aVal ) bool TUNER_SLIDER::SetValue( const SPICE_VALUE& aVal )
{ {
// Get the value into the current range boundaries // Get the value into the current range boundaries
@ -163,15 +197,85 @@ void TUNER_SLIDER::updateSlider()
void TUNER_SLIDER::updateValueText() void TUNER_SLIDER::updateValueText()
{ {
if( m_min.IsSpiceString() || m_max.IsSpiceString() ) static std::vector<double> e24 = { 1.0, 1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.7, 3.0,
3.3, 3.6, 3.9, 4.3, 4.7, 5.1, 5.6, 6.2, 6.8, 7.5, 8.2, 9.1 };
static std::vector<double> e192 = { 1.00, 1.01, 1.02, 1.04, 1.05, 1.06, 1.07, 1.09, 1.10, 1.11,
1.13, 1.14, 1.15, 1.17, 1.18, 1.20, 1.21, 1.23, 1.24, 1.26,
1.27, 1.29, 1.30, 1.32, 1.33, 1.35, 1.37, 1.38, 1.40, 1.42,
1.43, 1.45, 1.47, 1.49, 1.50, 1.52, 1.54, 1.56, 1.58, 1.60,
1.62, 1.64, 1.65, 1.67, 1.69, 1.72, 1.74, 1.76, 1.78, 1.80,
1.82, 1.84, 1.87, 1.89, 1.91, 1.93, 1.96, 1.98, 2.00, 2.03,
2.05, 2.08, 2.10, 2.13, 2.15, 2.18, 2.21, 2.23, 2.26, 2.29,
2.32, 2.34, 2.37, 2.40, 2.43, 2.46, 2.49, 2.52, 2.55, 2.58,
2.61, 2.64, 2.67, 2.71, 2.74, 2.77, 2.80, 2.84, 2.87, 2.91,
2.94, 2.98, 3.01, 3.05, 3.09, 3.12, 3.16, 3.20, 3.24, 3.28,
3.32, 3.36, 3.40, 3.44, 3.48, 3.52, 3.57, 3.61, 3.65, 3.70,
3.74, 3.79, 3.83, 3.88, 3.92, 3.97, 4.02, 4.07, 4.12, 4.17,
4.22, 4.27, 4.32, 4.37, 4.42, 4.48, 4.53, 4.59, 4.64, 4.70,
4.75, 4.81, 4.87, 4.93, 4.99, 5.05, 5.11, 5.17, 5.23, 5.30,
5.36, 5.42, 5.49, 5.56, 5.62, 5.69, 5.76, 5.83, 5.90, 5.97,
6.04, 6.12, 6.19, 6.26, 6.34, 6.42, 6.49, 6.57, 6.65, 6.73,
6.81, 6.90, 6.98, 7.06, 7.15, 7.23, 7.32, 7.41, 7.50, 7.59,
7.68, 7.77, 7.87, 7.96, 8.06, 8.16, 8.25, 8.35, 8.45, 8.56,
8.66, 8.76, 8.87, 8.98, 9.09, 9.20, 9.31, 9.42, 9.53, 9.65,
9.76, 9.88 };
int precision = 3;
wxString prefix;
double value = m_value.ToNormalizedDouble( &prefix );
bool e_24 = m_e24->IsChecked();
bool e_extended = m_e48->IsChecked() || m_e96->IsChecked() || m_e192->IsChecked();
if( e_24 || e_extended )
{ {
m_valueText->SetValue( m_value.ToSpiceString() ); std::vector<double> table;
return; table.reserve( 192 + 24 + 1 /* worst case */ );
if( e_extended )
{
int step = m_e48->IsChecked() ? 4 : m_e96->IsChecked() ? 2 : 1;
for( size_t ii = 0; ii < e192.size(); ii += step )
table.push_back( e192[ii] );
} }
double value = m_value.ToDouble(); if( e_24 )
table.insert( table.end(), e24.begin(), e24.end() );
m_valueText->SetValue( wxString::Format( "%.3f", value ) ); table.push_back( 10.0 );
std::sort( table.begin(), table.end() );
alg::remove_duplicates( table );
for( double decade : { 1.0, 10.0, 100.0 } )
{
for( size_t ii = 0; ii < table.size() - 1; ++ii )
{
if( value < ( table[ii] + table[ii+1] ) * decade / 2 )
{
precision = 0;
if( decade == 1.0 )
precision++;
if( e_extended && decade != 100.0 )
precision++;
m_valueText->SetValue( wxString::Format( wxT( "%.*f%s" ),
precision,
table[ii] * decade,
prefix ) );
return;
}
}
}
}
wxString valueStr = wxString::Format( wxT( "%.3f" ), value );
SPICE_VALUE::StripZeros( valueStr );
m_valueText->SetValue( valueStr + prefix );
} }

View File

@ -85,6 +85,7 @@ private:
void updateValue(); void updateValue();
void updateMin(); void updateMin();
void onESeries( wxCommandEvent& event ) override;
void onClose( wxCommandEvent& event ) override; void onClose( wxCommandEvent& event ) override;
void onSave( wxCommandEvent& event ) override; void onSave( wxCommandEvent& event ) override;
void onSliderScroll( wxScrollEvent& event ) override; void onSliderScroll( wxScrollEvent& event ) override;

View File

@ -5,6 +5,7 @@
// PLEASE DO *NOT* EDIT THIS FILE! // PLEASE DO *NOT* EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#include "widgets/bitmap_button.h"
#include "widgets/std_bitmap_button.h" #include "widgets/std_bitmap_button.h"
#include "tuner_slider_base.h" #include "tuner_slider_base.h"
@ -33,7 +34,44 @@ TUNER_SLIDER_BASE::TUNER_SLIDER_BASE( wxWindow* parent, wxWindowID id, const wxP
bSizer6->Add( bSizerUpper, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); bSizer6->Add( bSizerUpper, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
m_staticline4 = new wxStaticLine( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); m_staticline4 = new wxStaticLine( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
bSizer6->Add( m_staticline4, 0, wxEXPAND|wxTOP|wxBOTTOM, 3 ); bSizer6->Add( m_staticline4, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
wxBoxSizer* bSizer7;
bSizer7 = new wxBoxSizer( wxHORIZONTAL );
m_e24 = new BITMAP_BUTTON( m_panel1, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_e24->SetToolTip( _("Bold") );
bSizer7->Add( m_e24, 0, wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
m_separator = new BITMAP_BUTTON( m_panel1, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_separator->SetToolTip( _("Bold") );
bSizer7->Add( m_separator, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_e48 = new BITMAP_BUTTON( m_panel1, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_e48->SetToolTip( _("Bold") );
bSizer7->Add( m_e48, 0, wxALIGN_CENTER_VERTICAL, 5 );
bSizer7->Add( 0, 0, 1, wxEXPAND, 5 );
m_e96 = new BITMAP_BUTTON( m_panel1, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_e96->SetToolTip( _("Bold") );
bSizer7->Add( m_e96, 0, wxALIGN_CENTER_VERTICAL, 5 );
bSizer7->Add( 0, 0, 1, wxEXPAND, 5 );
m_e192 = new BITMAP_BUTTON( m_panel1, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_e192->SetToolTip( _("Bold") );
bSizer7->Add( m_e192, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
bSizer6->Add( bSizer7, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
wxBoxSizer* bSizerMiddle; wxBoxSizer* bSizerMiddle;
bSizerMiddle = new wxBoxSizer( wxHORIZONTAL ); bSizerMiddle = new wxBoxSizer( wxHORIZONTAL );
@ -42,7 +80,9 @@ TUNER_SLIDER_BASE::TUNER_SLIDER_BASE( wxWindow* parent, wxWindowID id, const wxP
bSizerSlider = new wxBoxSizer( wxVERTICAL ); bSizerSlider = new wxBoxSizer( wxVERTICAL );
m_slider = new wxSlider( m_panel1, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_LEFT|wxSL_VERTICAL ); m_slider = new wxSlider( m_panel1, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_LEFT|wxSL_VERTICAL );
bSizerSlider->Add( m_slider, 1, wxALL, 5 ); m_slider->SetMinSize( wxSize( -1,200 ) );
bSizerSlider->Add( m_slider, 1, wxTOP|wxRIGHT|wxLEFT, 5 );
bSizerMiddle->Add( bSizerSlider, 0, wxEXPAND, 5 ); bSizerMiddle->Add( bSizerSlider, 0, wxEXPAND, 5 );
@ -66,7 +106,7 @@ TUNER_SLIDER_BASE::TUNER_SLIDER_BASE( wxWindow* parent, wxWindowID id, const wxP
gSizerTxtCtr->Add( m_minText, 0, wxALIGN_BOTTOM|wxALL, 5 ); gSizerTxtCtr->Add( m_minText, 0, wxALIGN_BOTTOM|wxALL, 5 );
bSizerMiddle->Add( gSizerTxtCtr, 1, wxEXPAND, 5 ); bSizerMiddle->Add( gSizerTxtCtr, 1, wxEXPAND|wxBOTTOM, 5 );
bSizer6->Add( bSizerMiddle, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 ); bSizer6->Add( bSizerMiddle, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 );
@ -75,13 +115,10 @@ TUNER_SLIDER_BASE::TUNER_SLIDER_BASE( wxWindow* parent, wxWindowID id, const wxP
bSizerBottom = new wxBoxSizer( wxHORIZONTAL ); bSizerBottom = new wxBoxSizer( wxHORIZONTAL );
m_saveBtn = new wxButton( m_panel1, wxID_ANY, _("Save"), wxDefaultPosition, wxDefaultSize, 0 ); m_saveBtn = new wxButton( m_panel1, wxID_ANY, _("Save"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerBottom->Add( m_saveBtn, 0, wxEXPAND|wxRIGHT|wxLEFT, 3 ); bSizerBottom->Add( m_saveBtn, 1, wxEXPAND|wxRIGHT|wxLEFT, 3 );
bSizerBottom->Add( 5, 0, 1, wxEXPAND, 5 );
m_closeBtn = new STD_BITMAP_BUTTON( m_panel1, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); m_closeBtn = new STD_BITMAP_BUTTON( m_panel1, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
bSizerBottom->Add( m_closeBtn, 0, wxALIGN_CENTER_VERTICAL, 5 ); bSizerBottom->Add( m_closeBtn, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 8 );
bSizer6->Add( bSizerBottom, 0, wxEXPAND|wxALL, 3 ); bSizer6->Add( bSizerBottom, 0, wxEXPAND|wxALL, 3 );
@ -98,6 +135,10 @@ TUNER_SLIDER_BASE::TUNER_SLIDER_BASE( wxWindow* parent, wxWindowID id, const wxP
bSizerMain->Fit( this ); bSizerMain->Fit( this );
// Connect Events // Connect Events
m_e24->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TUNER_SLIDER_BASE::onESeries ), NULL, this );
m_e48->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TUNER_SLIDER_BASE::onESeries ), NULL, this );
m_e96->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TUNER_SLIDER_BASE::onESeries ), NULL, this );
m_e192->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TUNER_SLIDER_BASE::onESeries ), NULL, this );
m_slider->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this ); m_slider->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this );
m_slider->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this ); m_slider->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this );
m_slider->Connect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this ); m_slider->Connect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this );
@ -121,6 +162,10 @@ TUNER_SLIDER_BASE::TUNER_SLIDER_BASE( wxWindow* parent, wxWindowID id, const wxP
TUNER_SLIDER_BASE::~TUNER_SLIDER_BASE() TUNER_SLIDER_BASE::~TUNER_SLIDER_BASE()
{ {
// Disconnect Events // Disconnect Events
m_e24->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TUNER_SLIDER_BASE::onESeries ), NULL, this );
m_e48->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TUNER_SLIDER_BASE::onESeries ), NULL, this );
m_e96->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TUNER_SLIDER_BASE::onESeries ), NULL, this );
m_e192->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TUNER_SLIDER_BASE::onESeries ), NULL, this );
m_slider->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this ); m_slider->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this );
m_slider->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this ); m_slider->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this );
m_slider->Disconnect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this ); m_slider->Disconnect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TUNER_SLIDER_BASE::onSliderScroll ), NULL, this );

View File

@ -190,7 +190,7 @@
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">3</property> <property name="border">2</property>
<property name="flag">wxEXPAND|wxTOP|wxBOTTOM</property> <property name="flag">wxEXPAND|wxTOP|wxBOTTOM</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxStaticLine" expanded="1"> <object class="wxStaticLine" expanded="1">
@ -247,6 +247,406 @@
<property name="window_style"></property> <property name="window_style"></property>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1">
<property name="border">2</property>
<property name="flag">wxEXPAND|wxTOP|wxBOTTOM</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bSizer7</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxLEFT|wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxBitmapButton" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="auth_needed">0</property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmap"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="disabled"></property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="focus"></property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">E24</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size">-1,-1</property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_e24</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size">21,21</property>
<property name="style">wxBORDER_NONE</property>
<property name="subclass">BITMAP_BUTTON; widgets/bitmap_button.h; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Bold</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">onESeries</event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxBitmapButton" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="auth_needed">0</property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmap"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="disabled"></property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="focus"></property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label"></property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size">-1,-1</property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_separator</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size">21,21</property>
<property name="style">wxBORDER_NONE</property>
<property name="subclass">BITMAP_BUTTON; widgets/bitmap_button.h; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Bold</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxBitmapButton" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="auth_needed">0</property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmap"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="disabled"></property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="focus"></property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">E48</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size">-1,-1</property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_e48</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size">21,21</property>
<property name="style">wxBORDER_NONE</property>
<property name="subclass">BITMAP_BUTTON; widgets/bitmap_button.h; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Bold</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">onESeries</event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="spacer" expanded="1">
<property name="height">0</property>
<property name="permission">protected</property>
<property name="width">0</property>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxBitmapButton" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="auth_needed">0</property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmap"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="disabled"></property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="focus"></property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">E96</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size">-1,-1</property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_e96</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size">21,21</property>
<property name="style">wxBORDER_NONE</property>
<property name="subclass">BITMAP_BUTTON; widgets/bitmap_button.h; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Bold</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">onESeries</event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="spacer" expanded="1">
<property name="height">0</property>
<property name="permission">protected</property>
<property name="width">0</property>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxRIGHT|wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxBitmapButton" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="auth_needed">0</property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmap"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="disabled"></property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="focus"></property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">E192</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size">-1,-1</property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_e192</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size">21,21</property>
<property name="style">wxBORDER_NONE</property>
<property name="subclass">BITMAP_BUTTON; widgets/bitmap_button.h; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Bold</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">onESeries</event>
</object>
</object>
</object>
</object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxEXPAND|wxTOP|wxBOTTOM</property> <property name="flag">wxEXPAND|wxTOP|wxBOTTOM</property>
@ -267,7 +667,7 @@
<property name="permission">none</property> <property name="permission">none</property>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALL</property> <property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">1</property> <property name="proportion">1</property>
<object class="wxSlider" expanded="0"> <object class="wxSlider" expanded="0">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
@ -304,7 +704,7 @@
<property name="minValue">0</property> <property name="minValue">0</property>
<property name="min_size"></property> <property name="min_size"></property>
<property name="minimize_button">0</property> <property name="minimize_button">0</property>
<property name="minimum_size"></property> <property name="minimum_size">-1,200</property>
<property name="moveable">1</property> <property name="moveable">1</property>
<property name="name">m_slider</property> <property name="name">m_slider</property>
<property name="pane_border">1</property> <property name="pane_border">1</property>
@ -336,7 +736,7 @@
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxEXPAND</property> <property name="flag">wxEXPAND|wxBOTTOM</property>
<property name="proportion">1</property> <property name="proportion">1</property>
<object class="wxGridSizer" expanded="1"> <object class="wxGridSizer" expanded="1">
<property name="cols">1</property> <property name="cols">1</property>
@ -560,7 +960,7 @@
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">3</property> <property name="border">3</property>
<property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property> <property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property> <property name="proportion">1</property>
<object class="wxButton" expanded="1"> <object class="wxButton" expanded="1">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
<property name="LeftDockable">1</property> <property name="LeftDockable">1</property>
@ -632,18 +1032,8 @@
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">8</property>
<property name="flag">wxEXPAND</property> <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property>
<property name="proportion">1</property>
<object class="spacer" expanded="1">
<property name="height">0</property>
<property name="permission">protected</property>
<property name="width">5</property>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxBitmapButton" expanded="1"> <object class="wxBitmapButton" expanded="1">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>

View File

@ -10,6 +10,7 @@
#include <wx/artprov.h> #include <wx/artprov.h>
#include <wx/xrc/xmlres.h> #include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
class BITMAP_BUTTON;
class STD_BITMAP_BUTTON; class STD_BITMAP_BUTTON;
#include <wx/string.h> #include <wx/string.h>
@ -20,13 +21,13 @@ class STD_BITMAP_BUTTON;
#include <wx/settings.h> #include <wx/settings.h>
#include <wx/sizer.h> #include <wx/sizer.h>
#include <wx/statline.h> #include <wx/statline.h>
#include <wx/slider.h> #include <wx/bmpbuttn.h>
#include <wx/textctrl.h>
#include <wx/button.h>
#include <wx/bitmap.h> #include <wx/bitmap.h>
#include <wx/image.h> #include <wx/image.h>
#include <wx/icon.h> #include <wx/icon.h>
#include <wx/bmpbuttn.h> #include <wx/button.h>
#include <wx/slider.h>
#include <wx/textctrl.h>
#include <wx/panel.h> #include <wx/panel.h>
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
@ -43,6 +44,11 @@ class TUNER_SLIDER_BASE : public wxPanel
wxPanel* m_panel1; wxPanel* m_panel1;
wxStaticText* m_name; wxStaticText* m_name;
wxStaticLine* m_staticline4; wxStaticLine* m_staticline4;
BITMAP_BUTTON* m_e24;
BITMAP_BUTTON* m_separator;
BITMAP_BUTTON* m_e48;
BITMAP_BUTTON* m_e96;
BITMAP_BUTTON* m_e192;
wxSlider* m_slider; wxSlider* m_slider;
wxTextCtrl* m_maxText; wxTextCtrl* m_maxText;
wxTextCtrl* m_valueText; wxTextCtrl* m_valueText;
@ -51,6 +57,7 @@ class TUNER_SLIDER_BASE : public wxPanel
STD_BITMAP_BUTTON* m_closeBtn; STD_BITMAP_BUTTON* m_closeBtn;
// Virtual event handlers, override them in your derived class // Virtual event handlers, override them in your derived class
virtual void onESeries( wxCommandEvent& event ) { event.Skip(); }
virtual void onSliderScroll( wxScrollEvent& event ) { event.Skip(); } virtual void onSliderScroll( wxScrollEvent& event ) { event.Skip(); }
virtual void onSliderChanged( wxScrollEvent& event ) { event.Skip(); } virtual void onSliderChanged( wxScrollEvent& event ) { event.Skip(); }
virtual void onMaxKillFocus( wxFocusEvent& event ) { event.Skip(); } virtual void onMaxKillFocus( wxFocusEvent& event ) { event.Skip(); }

View File

@ -158,6 +158,10 @@ enum class BITMAPS : unsigned int
drc_off, drc_off,
dummy_item, dummy_item,
duplicate, duplicate,
e_24,
e_48,
e_96,
e_192,
edge_to_copper_clearance, edge_to_copper_clearance,
edit, edit,
edit_cmp_symb_links, edit_cmp_symb_links,

View File

@ -68,6 +68,10 @@ set( THEMES
# small icons (16x16) needed in listboxes and dialog buttons # small icons (16x16) needed in listboxes and dialog buttons
set( BMAPS_SMALL set( BMAPS_SMALL
e_24
e_48
e_96
e_192
icon_bitmap2component_16 icon_bitmap2component_16
icon_eeschema_16 icon_eeschema_16
icon_gerbview_16 icon_gerbview_16

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="Слой_1"
data-name="Слой 1"
viewBox="0 0 24 24"
version="1.1"
sodipodi:docname="e_192.svg"
inkscape:version="1.2.1 (9c6d41e, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1429"
inkscape:window-height="800"
id="namedview30"
showgrid="true"
inkscape:zoom="21.189179"
inkscape:cx="13.945798"
inkscape:cy="11.37373"
inkscape:window-x="0"
inkscape:window-y="38"
inkscape:window-maximized="0"
inkscape:document-rotation="0"
inkscape:current-layer="text863"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1">
<inkscape:grid
type="xygrid"
id="grid_kicad"
spacingx="0.5"
spacingy="0.5"
color="#9999ff"
opacity="0.13"
empspacing="2" />
</sodipodi:namedview>
<metadata
id="metadata43">
<rdf:RDF>
<cc:Work
rdf:about="">
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>add_glabel</dc:title>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<defs
id="defs174">
<style
id="style172">.cls-1,.cls-2{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}.cls-1{stroke:#1a81c4;}.cls-2{stroke:#545454;}.cls-3{fill:#545454;}</style>
</defs>
<title
id="title176">add_glabel</title>
<g
aria-label="E192"
transform="scale(0.95155707,1.0509091)"
id="text863"
style="font-size:17.3333px;line-height:1.25;fill:#333333;stroke-width:0.951557">
<path
d="M 1.1538982,18.084029 V 4.7996539 H 6.4232213 V 6.5908051 H 2.9218948 v 3.8994869 h 3.0506607 v 1.791154 H 2.9218948 v 3.899486 h 3.5013265 v 1.903097 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold';stroke-width:0.987244"
id="path1034" />
<path
d="M 9.3166766,18.084213 V 6.7767877 L 7.5486802,8.1808549 V 6.1589981 L 9.3166766,4.7549308 H 11.084672 V 18.084213 Z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold';stroke-width:0.988912"
id="path1036" />
<path
d="m 13.677857,18.084213 2.010663,-5.537977 -0.03467,-0.03705 q -0.08667,0.07408 -0.277333,0.129651 -0.173333,0.03705 -0.467999,0.03705 -0.467999,0 -0.866665,-0.240781 -0.398666,-0.240782 -0.623999,-0.611215 -0.121333,-0.185217 -0.190666,-0.388955 -0.06933,-0.22226 -0.104,-0.55565 -0.052,-0.333393 -0.06933,-0.833479 -0.01733,-0.5186068 -0.01733,-1.2965167 0,-0.6482583 0.01733,-1.0557348 0.01733,-0.4259983 0.06933,-0.7223449 0.03467,-0.277825 0.104,-0.4815633 0.08667,-0.2037383 0.207999,-0.4259983 0.346666,-0.611215 0.918665,-0.9446049 0.589332,-0.33339 1.317331,-0.33339 0.727998,0 1.299997,0.3519116 0.571999,0.33339 0.918665,0.9260833 0.121333,0.22226 0.208,0.4259983 0.08667,0.2037383 0.138666,0.4815633 0.03467,0.2963466 0.052,0.7223449 0.01733,0.4074765 0.01733,1.0557348 0,0.6112149 -0.01733,1.0186916 -0.01733,0.3889551 -0.052,0.6667811 -0.052,0.296348 -0.121333,0.537131 -0.052,0.22226 -0.138666,0.481563 l -2.322662,6.630756 z m 1.126665,-8.019885 q 0,0.426001 0.259999,0.685304 0.26,0.259306 0.606666,0.259306 0.346666,0 0.606665,-0.259306 0.26,-0.259303 0.26,-0.685304 V 7.6194688 q 0,-0.4259983 -0.26,-0.6853016 -0.259999,-0.2593033 -0.606665,-0.2593033 -0.346666,0 -0.606666,0.2593033 -0.259999,0.2593033 -0.259999,0.6853016 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold';stroke-width:0.983635"
id="path1038" />
<path
d="m 18.85436,18.084213 v -1.778079 l 3.189327,-6.4270221 q 0.242666,-0.4815633 0.277333,-0.833475 0.03467,-0.3704333 0.03467,-0.9075616 0,-0.2407816 -0.01733,-0.5000848 0,-0.277825 -0.08667,-0.4815633 -0.08667,-0.2037383 -0.26,-0.33339 -0.173333,-0.1481733 -0.502665,-0.1481733 -0.398666,0 -0.641332,0.2407817 -0.225333,0.2407816 -0.225333,0.7038232 v 1.0742565 h -1.768 V 7.6565122 q 0,-0.5926933 0.208,-1.1112999 0.207999,-0.5186067 0.571999,-0.9075616 0.346666,-0.388955 0.831998,-0.611215 0.485332,-0.2407816 1.039998,-0.2407816 0.693332,0 1.178664,0.277825 0.502666,0.2593033 0.831999,0.7223449 0.311999,0.4630416 0.450665,1.0557349 0.156,0.5926933 0.156,1.2594731 0,0.4815633 -0.01733,0.8149533 -0.01733,0.3148683 -0.06933,0.6112149 -0.052,0.2963467 -0.173333,0.5926938 -0.121333,0.296347 -0.329333,0.722348 l -2.599995,5.352762 h 3.189327 v 1.889209 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold';stroke-width:0.983635"
id="path1040" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="Слой_1"
data-name="Слой 1"
viewBox="0 0 24 24"
version="1.1"
sodipodi:docname="e_24.svg"
inkscape:version="1.2.1 (9c6d41e, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1429"
inkscape:window-height="800"
id="namedview30"
showgrid="true"
inkscape:zoom="21.189179"
inkscape:cx="14.040185"
inkscape:cy="11.37373"
inkscape:window-x="0"
inkscape:window-y="38"
inkscape:window-maximized="0"
inkscape:document-rotation="0"
inkscape:current-layer="text863"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1">
<inkscape:grid
type="xygrid"
id="grid_kicad"
spacingx="0.5"
spacingy="0.5"
color="#9999ff"
opacity="0.13"
empspacing="2" />
</sodipodi:namedview>
<metadata
id="metadata43">
<rdf:RDF>
<cc:Work
rdf:about="">
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>add_glabel</dc:title>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<defs
id="defs174">
<style
id="style172">.cls-1,.cls-2{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}.cls-1{stroke:#1a81c4;}.cls-2{stroke:#545454;}.cls-3{fill:#545454;}</style>
</defs>
<title
id="title176">add_glabel</title>
<g
aria-label="E24"
id="text863"
style="font-size:18.6667px;line-height:1.25;fill:#333333">
<path
d="M 2.077,18.554001 V 5.2633102 H 7.7516769 V 7.0553134 H 3.9810035 v 3.9013406 h 3.2853392 v 1.792003 H 3.9810035 v 3.90134 h 3.7706734 v 1.904004 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold'"
id="path1622" />
<path
d="m 9.322,18.554001 v -1.792003 l 3.434673,-6.477345 q 0.261333,-0.4853346 0.298667,-0.8400019 0.03733,-0.373334 0.03733,-0.9146683 0,-0.2426671 -0.01867,-0.504001 0,-0.2800005 -0.09333,-0.4853342 -0.09333,-0.2053337 -0.28,-0.3360006 -0.186667,-0.1493336 -0.541335,-0.1493336 -0.429334,0 -0.690668,0.2426671 Q 11.226,7.5406476 11.226,8.0073151 V 9.0899838 H 9.322 V 8.0446486 Q 9.322,7.4473141 9.5460004,6.9246465 9.7700008,6.4019789 10.162002,6.0099782 10.535335,5.6179775 11.058003,5.3939771 11.58067,5.15131 12.178005,5.15131 q 0.746668,0 1.269336,0.2800005 0.541334,0.2613338 0.896001,0.7280013 0.336001,0.4666675 0.485334,1.0640019 0.168001,0.5973344 0.168001,1.2693357 0,0.4853342 -0.01867,0.8213348 -0.01867,0.3173339 -0.07467,0.6160011 -0.056,0.2986667 -0.186667,0.5973347 -0.130667,0.298667 -0.354667,0.728001 l -2.800005,5.394676 h 3.434673 v 1.904004 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold'"
id="path1624" />
<path
d="m 19.58934,18.554001 v -1.97867 H 15.8 v -1.792004 l 2.744005,-9.5200168 h 2.016004 l -2.856005,9.5200168 h 1.885336 v -3.78934 h 1.904004 v 3.78934 h 0.914668 v 1.792004 h -0.914668 v 1.97867 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold'"
id="path1626" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="Слой_1"
data-name="Слой 1"
viewBox="0 0 24 24"
version="1.1"
sodipodi:docname="e_48.svg"
inkscape:version="1.2.1 (9c6d41e, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1429"
inkscape:window-height="800"
id="namedview30"
showgrid="true"
inkscape:zoom="21.189179"
inkscape:cx="15.314421"
inkscape:cy="11.37373"
inkscape:window-x="0"
inkscape:window-y="38"
inkscape:window-maximized="0"
inkscape:document-rotation="0"
inkscape:current-layer="text863"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1">
<inkscape:grid
type="xygrid"
id="grid_kicad"
spacingx="0.5"
spacingy="0.5"
color="#9999ff"
opacity="0.13"
empspacing="2" />
</sodipodi:namedview>
<metadata
id="metadata43">
<rdf:RDF>
<cc:Work
rdf:about="">
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>add_glabel</dc:title>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<defs
id="defs174">
<style
id="style172">.cls-1,.cls-2{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}.cls-1{stroke:#1a81c4;}.cls-2{stroke:#545454;}.cls-3{fill:#545454;}</style>
</defs>
<title
id="title176">add_glabel</title>
<g
aria-label="E48"
id="text863"
style="font-size:18.6667px;line-height:1.25;fill:#333333">
<path
d="M 2.066,18.695581 V 5.4048908 H 7.7406769 V 7.196894 H 3.9700034 v 3.90134 h 3.2853393 v 1.792004 H 3.9700034 v 3.90134 h 3.7706735 v 1.904003 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold'"
id="path1478" />
<path
d="m 12.53334,18.695581 v -1.97867 H 8.744 v -1.792003 l 2.744005,-9.5200172 h 2.016003 l -2.856005,9.5200172 h 1.885337 v -3.78934 h 1.904003 v 3.78934 h 0.914669 v 1.792003 h -0.914669 v 1.97867 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold'"
id="path1480" />
<path
d="m 20.025681,8.130229 q 0,-0.3920007 -0.280001,-0.6533345 -0.28,-0.2800005 -0.653334,-0.2800005 -0.373334,0 -0.653335,0.2800005 -0.28,0.2613338 -0.28,0.6533345 v 1.941337 q 0,0.392001 0.28,0.672001 0.280001,0.261334 0.653335,0.261334 0.373334,0 0.653334,-0.261334 0.280001,-0.28 0.280001,-0.672001 z m -3.770674,0.746668 q 0,-0.5413343 0.03733,-0.9146683 0.03733,-0.3920007 0.130666,-0.6720012 0.09333,-0.2800005 0.205334,-0.5040009 0.130667,-0.2240004 0.317334,-0.4666675 0.373334,-0.4853342 0.933335,-0.746668 0.560001,-0.2800005 1.213336,-0.2800005 0.653334,0 1.213335,0.2800005 0.560001,0.2613338 0.933335,0.746668 0.186667,0.2426671 0.317334,0.4666675 0.130667,0.2240004 0.224,0.5040009 0.09333,0.2800005 0.112001,0.6720012 0.03733,0.373334 0.03733,0.9146683 0,0.5973345 -0.01867,1.0080019 -0.01867,0.4106671 -0.112,0.7280011 -0.09333,0.317334 -0.298667,0.578668 -0.186667,0.242667 -0.522668,0.522668 0.336001,0.261333 0.522668,0.522667 0.205334,0.261334 0.298667,0.616001 0.09333,0.354668 0.112,0.877335 0.01867,0.504001 0.01867,1.250669 0,0.616001 -0.03733,1.026669 -0.01867,0.392 -0.07467,0.690667 -0.056,0.298668 -0.168,0.504001 -0.09333,0.205334 -0.242668,0.429335 -0.317333,0.485334 -0.896001,0.840001 -0.578668,0.336001 -1.418669,0.336001 -0.840002,0 -1.41867,-0.336001 Q 17.095002,18.116914 16.777668,17.63158 16.628334,17.407579 16.516334,17.202245 16.423004,16.996912 16.367,16.698244 16.311,16.399577 16.27367,16.007577 16.255,15.596909 16.255,14.980908 q 0,-0.746668 0.01867,-1.250669 0.01867,-0.522667 0.112,-0.877335 0.09333,-0.354667 0.280001,-0.616001 0.205333,-0.261334 0.541334,-0.522667 Q 16.871004,11.434235 16.665671,11.191568 16.479004,10.930234 16.38567,10.6129 16.29234,10.295566 16.27367,9.8848989 16.255,9.4742315 16.255,8.876897 Z m 3.770674,4.480008 q 0,-0.392001 -0.280001,-0.653334 -0.28,-0.280001 -0.653334,-0.280001 -0.373334,0 -0.653335,0.280001 -0.28,0.261333 -0.28,0.653334 v 2.613338 q 0,0.392001 0.28,0.672001 0.280001,0.261334 0.653335,0.261334 0.373334,0 0.653334,-0.261334 0.280001,-0.28 0.280001,-0.672001 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold'"
id="path1482" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="Слой_1"
data-name="Слой 1"
viewBox="0 0 24 24"
version="1.1"
sodipodi:docname="e_96.svg"
inkscape:version="1.2.1 (9c6d41e, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1429"
inkscape:window-height="800"
id="namedview30"
showgrid="true"
inkscape:zoom="21.189179"
inkscape:cx="15.314421"
inkscape:cy="11.37373"
inkscape:window-x="0"
inkscape:window-y="38"
inkscape:window-maximized="0"
inkscape:document-rotation="0"
inkscape:current-layer="text863"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1">
<inkscape:grid
type="xygrid"
id="grid_kicad"
spacingx="0.5"
spacingy="0.5"
color="#9999ff"
opacity="0.13"
empspacing="2" />
</sodipodi:namedview>
<metadata
id="metadata43">
<rdf:RDF>
<cc:Work
rdf:about="">
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>add_glabel</dc:title>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<defs
id="defs174">
<style
id="style172">.cls-1,.cls-2{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}.cls-1{stroke:#1a81c4;}.cls-2{stroke:#545454;}.cls-3{fill:#545454;}</style>
</defs>
<title
id="title176">add_glabel</title>
<g
aria-label="E96"
id="text863"
style="font-size:18.6667px;line-height:1.25;fill:#333333">
<path
d="M 2.213,18.648386 V 5.3576953 H 7.8876769 V 7.1496986 H 4.1170035 v 3.9013404 h 3.2853392 v 1.792003 H 4.1170035 v 3.901341 h 3.7706734 v 1.904003 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold'"
id="path1460" />
<path
d="m 10.248666,18.648386 2.165337,-5.581343 -0.03733,-0.03733 q -0.09333,0.07467 -0.298667,0.130667 -0.186667,0.03733 -0.504001,0.03733 -0.504001,0 -0.933335,-0.242667 Q 10.211335,12.712376 9.968668,12.339042 9.838001,12.152375 9.7633342,11.947042 9.6886672,11.723041 9.651334,11.387041 9.595334,11.05104 9.576667,10.547039 9.558,10.024371 9.558,9.24037 9.558,8.5870355 9.576667,8.1763681 9.595334,7.747034 9.651334,7.4483668 9.688667,7.1683663 9.7633342,6.9630326 9.8566682,6.7576989 9.9873347,6.5336985 10.360669,5.9176974 10.97667,5.5816967 q 0.634668,-0.3360006 1.418669,-0.3360006 0.784002,0 1.400003,0.3546673 0.616001,0.3360007 0.989335,0.9333351 0.130667,0.2240004 0.224001,0.4293341 0.09333,0.2053337 0.149333,0.4853342 0.03733,0.2986672 0.056,0.7280013 0.01867,0.4106674 0.01867,1.0640019 0,0.6160011 -0.01867,1.026669 -0.01867,0.392 -0.056,0.672001 -0.056,0.298667 -0.130667,0.541334 -0.056,0.224 -0.149333,0.485334 l -2.501339,6.682679 z m 1.213335,-8.082681 q 0,0.429334 0.280001,0.690668 0.28,0.261333 0.653334,0.261333 0.373335,0 0.653335,-0.261333 0.280001,-0.261334 0.280001,-0.690668 V 8.1017003 q 0,-0.4293341 -0.280001,-0.6906679 -0.28,-0.2613338 -0.653335,-0.2613338 -0.373334,0 -0.653334,0.2613338 -0.280001,0.2613338 -0.280001,0.6906679 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold'"
id="path1462" />
<path
d="m 21.186019,5.3576953 -2.165337,5.5813437 0.03733,0.03733 q 0.09333,-0.07467 0.280001,-0.112 0.205333,-0.056 0.522667,-0.056 0.504001,0 0.933335,0.242667 0.429334,0.242667 0.672001,0.616001 0.130667,0.205334 0.205334,0.410667 0.07467,0.205334 0.130667,0.541335 0.03733,0.336 0.056,0.858668 0.01867,0.504001 0.01867,1.288002 0,0.653335 -0.01867,1.082669 -0.01867,0.410667 -0.056,0.690668 -0.056,0.298667 -0.149334,0.504001 -0.07467,0.205333 -0.205333,0.429334 -0.373334,0.616001 -1.008002,0.952002 -0.616001,0.336 -1.400003,0.336 -0.784001,0 -1.400002,-0.336 -0.616001,-0.354668 -0.989335,-0.952002 -0.149334,-0.224001 -0.242667,-0.429334 -0.07467,-0.205334 -0.112001,-0.504001 -0.056,-0.280001 -0.07467,-0.690668 -0.01867,-0.429334 -0.01867,-1.082669 0,-0.616001 0.01867,-1.008001 0.01867,-0.410668 0.056,-0.709335 0.03733,-0.280001 0.112,-0.504001 0.07467,-0.242667 0.168,-0.504001 l 2.501345,-6.6826757 z m -1.213336,8.0826817 q 0,-0.429335 -0.28,-0.690668 -0.280001,-0.261334 -0.653335,-0.261334 -0.373334,0 -0.653334,0.261334 -0.280001,0.261333 -0.280001,0.690668 v 2.464004 q 0,0.429334 0.280001,0.690668 0.28,0.261334 0.653334,0.261334 0.373334,0 0.653335,-0.261334 0.28,-0.261334 0.28,-0.690668 z"
style="font-weight:bold;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold'"
id="path1464" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB