Loading include/gal/color4d.h +36 −12 Original line number Diff line number Diff line Loading @@ -82,9 +82,9 @@ public: */ COLOR4D& Highlight( double aFactor ) { r = (double) r * (1.0 - aFactor) + aFactor; g = (double) g * (1.0 - aFactor) + aFactor; b = (double) b * (1.0 - aFactor) + aFactor; r = r * ( 1.0 - aFactor ) + aFactor; g = g * ( 1.0 - aFactor ) + aFactor; b = b * ( 1.0 - aFactor ) + aFactor; return *this; } Loading @@ -97,9 +97,23 @@ public: */ COLOR4D& Darken( double aFactor ) { r = (double) r * (1.0 - aFactor); g = (double) g * (1.0 - aFactor); b = (double) b * (1.0 - aFactor); r = r * ( 1.0 - aFactor ); g = g * ( 1.0 - aFactor ); b = b * ( 1.0 - aFactor ); return *this; } /** * Function Invert * Makes the color inverted, alpha remains the same. * @return COLOR4D& Inverted color. */ COLOR4D& Invert() { r = ( 1.0 - r ); g = ( 1.0 - g ); b = ( 1.0 - b ); return *this; } Loading Loading @@ -132,6 +146,16 @@ public: a ); } /** * Function Inverted * Returns an inverted color, alpha remains the same. * @return COLOR4D& Inverted color. */ COLOR4D Inverted() const { return COLOR4D( 1.0 - r, 1.0 - g, 1.0 - b, a ); } /** * Function GetBrightness * Returns the brightness value of the color ranged from 0.0 to 1.0. Loading pcbnew/pcb_painter.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -309,10 +309,12 @@ void PCB_PAINTER::draw( const TRACK* aTrack, int aLayer ) // Set a proper color for the label color = getLayerColor( aTrack->GetLayer(), aTrack->GetNet(), aTrack->ViewIsHighlighted() ); COLOR4D labelColor = getLayerColor( aLayer, 0, aTrack->ViewIsHighlighted() ); if( color.GetBrightness() > 0.5 ) m_gal->SetStrokeColor( color.Darkened( 0.8 ) ); m_gal->SetStrokeColor( labelColor.Inverted() ); else m_gal->SetStrokeColor( color.Highlighted( 0.8 ) ); m_gal->SetStrokeColor( labelColor ); m_gal->SetLineWidth( width / 10.0 ); m_gal->SetBold( false ); Loading Loading @@ -447,11 +449,12 @@ void PCB_PAINTER::draw( const D_PAD* aPad, int aLayer ) // Set a proper color for the label color = getLayerColor( aPad->GetParent()->GetLayer(), aPad->GetNet(), aPad->ViewIsHighlighted() ); COLOR4D labelColor = getLayerColor( aLayer, 0, aPad->ViewIsHighlighted() ); if( color.GetBrightness() > 0.5 ) m_gal->SetStrokeColor( color.Darkened( 0.8 ) ); m_gal->SetStrokeColor( labelColor.Inverted() ); else m_gal->SetStrokeColor( color.Highlighted( 0.8 ) ); m_gal->SetStrokeColor( labelColor ); if( displayNetname && m_pcbSettings->m_padNumbers ) { Loading Loading
include/gal/color4d.h +36 −12 Original line number Diff line number Diff line Loading @@ -82,9 +82,9 @@ public: */ COLOR4D& Highlight( double aFactor ) { r = (double) r * (1.0 - aFactor) + aFactor; g = (double) g * (1.0 - aFactor) + aFactor; b = (double) b * (1.0 - aFactor) + aFactor; r = r * ( 1.0 - aFactor ) + aFactor; g = g * ( 1.0 - aFactor ) + aFactor; b = b * ( 1.0 - aFactor ) + aFactor; return *this; } Loading @@ -97,9 +97,23 @@ public: */ COLOR4D& Darken( double aFactor ) { r = (double) r * (1.0 - aFactor); g = (double) g * (1.0 - aFactor); b = (double) b * (1.0 - aFactor); r = r * ( 1.0 - aFactor ); g = g * ( 1.0 - aFactor ); b = b * ( 1.0 - aFactor ); return *this; } /** * Function Invert * Makes the color inverted, alpha remains the same. * @return COLOR4D& Inverted color. */ COLOR4D& Invert() { r = ( 1.0 - r ); g = ( 1.0 - g ); b = ( 1.0 - b ); return *this; } Loading Loading @@ -132,6 +146,16 @@ public: a ); } /** * Function Inverted * Returns an inverted color, alpha remains the same. * @return COLOR4D& Inverted color. */ COLOR4D Inverted() const { return COLOR4D( 1.0 - r, 1.0 - g, 1.0 - b, a ); } /** * Function GetBrightness * Returns the brightness value of the color ranged from 0.0 to 1.0. Loading
pcbnew/pcb_painter.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -309,10 +309,12 @@ void PCB_PAINTER::draw( const TRACK* aTrack, int aLayer ) // Set a proper color for the label color = getLayerColor( aTrack->GetLayer(), aTrack->GetNet(), aTrack->ViewIsHighlighted() ); COLOR4D labelColor = getLayerColor( aLayer, 0, aTrack->ViewIsHighlighted() ); if( color.GetBrightness() > 0.5 ) m_gal->SetStrokeColor( color.Darkened( 0.8 ) ); m_gal->SetStrokeColor( labelColor.Inverted() ); else m_gal->SetStrokeColor( color.Highlighted( 0.8 ) ); m_gal->SetStrokeColor( labelColor ); m_gal->SetLineWidth( width / 10.0 ); m_gal->SetBold( false ); Loading Loading @@ -447,11 +449,12 @@ void PCB_PAINTER::draw( const D_PAD* aPad, int aLayer ) // Set a proper color for the label color = getLayerColor( aPad->GetParent()->GetLayer(), aPad->GetNet(), aPad->ViewIsHighlighted() ); COLOR4D labelColor = getLayerColor( aLayer, 0, aPad->ViewIsHighlighted() ); if( color.GetBrightness() > 0.5 ) m_gal->SetStrokeColor( color.Darkened( 0.8 ) ); m_gal->SetStrokeColor( labelColor.Inverted() ); else m_gal->SetStrokeColor( color.Highlighted( 0.8 ) ); m_gal->SetStrokeColor( labelColor ); if( displayNetname && m_pcbSettings->m_padNumbers ) { Loading