From 4acee1a3ab0aae587d4f0a4327141056ee7e6081 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Sat, 23 Apr 2022 03:00:42 +0000
Subject: CTAN sync 202204230300

---
 .../pgf/contrib/circuitikz/tex/pgfcirctripoles.tex | 195 ++++++++++-----------
 1 file changed, 94 insertions(+), 101 deletions(-)

(limited to 'graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex')

diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex
index d0cf0b295a..711276dd77 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex
@@ -432,9 +432,10 @@
     \anchor{east}{\pgfextractx{\pgf@circ@res@right}{\northeast}%
     \pgfpoint{\pgf@circ@res@right}{0cm}}
 
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
-        #3
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
+        % \pgf@circ@debug@colors
+        #3%
     }
 }
 }
@@ -867,8 +868,8 @@
         \pgf@x=\dimexpr -.6\wd\pgfnodeparttextbox\relax
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -1011,8 +1012,8 @@
         \pgf@x=\dimexpr -.6\wd\pgfnodeparttextbox\relax
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -1147,8 +1148,8 @@
         \pgf@x=\dimexpr -.6\wd\pgfnodeparttextbox\relax
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -1303,8 +1304,8 @@
         \pgf@x=\dimexpr -.6\wd\pgfnodeparttextbox\relax
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
 
         \northwest
@@ -1445,7 +1446,7 @@
     \else
         \expandafter\pgfutil@g@addto@macro\csname pgf@sh@s@european #1 port\endcsname{%
             \pgfmathloop%
-            \ifnum\pgfmathcounter>#3%
+            \ifnum\pgfmathcounter>#3
         \else%
             %\pgfutil@ifundefined{pgf@anchor@european #1 port@in \pgfmathcounter}{% redundant
             \expandafter\xdef\csname pgf@anchor@european #1 port@in \pgfmathcounter\endcsname{%
@@ -1489,8 +1490,8 @@
         \pgfpointborderrectangle{\pgfpoint{\pgf@xa}{\pgf@ya}}
             {\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@up}}
     }
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
         \pgfstartlinewidth=\pgflinewidth
         \pgfscope
             \pgf@circ@setlinewidth{tripoles}{\pgflinewidth}
@@ -1544,9 +1545,10 @@
                 \pgfusepath{draw}
             \fi
         \fi
-        %
+        \pgf@circ@text@strokecolor
         \pgfpathmoveto{\pgfpointorigin}
         \pgftext{#2}
+        %
         }
     }
 }
@@ -2031,10 +2033,10 @@
         \anchor{south}{\southwest\pgf@x=0pt\relax}
         \anchor{west}{\northwest\pgf@y=0pt\relax}
 
-        \backgroundpath{
+        \pgf@circ@draw@component{
             \pgfscope
-                \pgfsetcolor{\ctikzvalof{color}}
-                #4
+                \pgf@circ@setcolor
+                #4%
             \endpgfscope
             % output lead:
             \pgfextractx{\pgf@circ@res@right}{\bottomright} %body+ball border
@@ -2128,7 +2130,7 @@
             % \typeout{INNER\space\pgf@circ@count@a}
             \pgfmathsetlength{\pgf@circ@res@right}{\pgf@circ@res@left-2*\stdH*(1-cos(atan(\pgf@circ@res@temp/(2*\stdH))))}
             % hook for xor/xnor
-            #1
+            #1%
         \fi\fi
         \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@temp}}%
         \pgfpathlineto{\pgfpoint{\pgf@circ@res@left-\pinlen}{\pgf@circ@res@temp}}%
@@ -2152,7 +2154,7 @@
         \pgfpathclose
         \pgf@circ@draworfill
         % hook for xor/xnor
-        #2
+        #2%
         % rack now; skip if not needed.
         % \typeout{WHAT\space \inputs\space \inners}
         \ifnum\inputs>\inners
@@ -2369,10 +2371,10 @@
         \anchor{south}{\southwest\pgf@x=0pt\relax}
         \anchor{west}{\northwest\pgf@y=0pt\relax}
 
-        \backgroundpath{
+        \pgf@circ@draw@component{
             \pgfscope
-                \pgfsetcolor{\ctikzvalof{color}}
-                #3
+                \pgf@circ@setcolor
+                #3%
             \endpgfscope
             % output lead:
             \pgfextractx{\pgf@circ@res@right}{\bottomright} %body+ball border
@@ -2470,9 +2472,9 @@
     \anchor{north east}{\northwest\pgf@x=-\pgf@x}
     \anchor{north west}{\northwest}
     \anchor{south east}{\northwest\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
-    \backgroundpath{
+    \pgf@circ@draw@component{
         \pgfscope
-            \pgfsetcolor{\ctikzvalof{color}}
+            \pgf@circ@setcolor
             \pgfextractx{\pgf@circ@res@left}{\northwest}
             \pgfextracty{\pgf@circ@res@up}{\northwest}
             \pgf@circ@res@left=0.7\pgf@circ@res@left
@@ -2519,10 +2521,10 @@
         \pgfpointborderellipse{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@up}}%
         {\pgfpoint{\pgf@circ@res@temp}{\pgf@circ@res@temp}}
     }
-    \behindforegroundpath{
+    \pgf@circ@draw@component{
         \pgfscope
             \northwest\pgf@circ@res@temp=\pgf@y
-            \pgfsetcolor{\ctikzvalof{color}}
+            \pgf@circ@setcolor
             \pgf@circ@setlinewidth{tripoles}{\pgflinewidth}
             \pgfpathcircle{\pgfpointorigin}{\pgf@circ@res@temp}
             \ifx\tikz@fillcolor\pgfutil@empty
@@ -2715,9 +2717,9 @@
         \anchor{south}{\southwest\pgf@x=0pt\relax}
         \anchor{west}{\northwest\pgf@y=0pt\relax}
 
-        \backgroundpath{
+        \pgf@circ@draw@component{
             \pgfscope
-                \pgfsetcolor{\ctikzvalof{color}}
+                \pgf@circ@setcolor
                 \pgfextractx{\pgf@circ@res@left}{\bodyleft}
                 \pgfextracty{\pgf@circ@res@up}{\bodyleft}
                 \pgfextractx{\pgf@circ@res@right}{\bodyright}
@@ -2736,7 +2738,7 @@
                     \fi
                     \pgfusepath{draw}
                 \fi
-                #3
+                #3%
             \endpgfscope
             % output lead:
             \pgfextractx{\pgf@circ@res@right}{\bottomright} %body+ball border
@@ -3808,10 +3810,10 @@
             \pgf@x=-\ctikzvalof{tripoles/#1/bodydiode distance}\pgf@x
             \pgf@y=\pgf@ya
         }
-        #2
-        \backgroundpath{
+        #2%
+        \pgf@circ@draw@component{
             \pgftransformationadjustments
-            \pgfsetcolor{\ctikzvalof{color}}
+            \pgf@circ@setcolor
             %
             \ifnum \ctikzvalof{tripoles/#1/curr direction} > 0
             \pgf@circuit@trans@ntypetrue
@@ -3826,7 +3828,7 @@
         \pgf@circ@res@left = \pgf@x
         \pgf@circ@scaled@Rlen=\scaledRlen
         %
-        #3
+        #3%
         % BODY DIODE
         \ifpgf@circuit@fet@bodydiode
             \drawbodydiode{#1}
@@ -4013,6 +4015,7 @@
 
         \ifpgf@circuit@bpt@drawphoto
             \pgfscope
+                \pgf@circ@fill@strokecolor
                 \pgfsetarrowsstart{latexslim}
                 \pgfpathmoveto{\pgfpointadd{\pgfpoint
                         {\ctikzvalof{tripoles/#1/base width}\pgf@circ@res@left}
@@ -4182,9 +4185,9 @@
         \anchor{C}{\ifnum\cdir<0\southeast\else\northeast\fi}
         \anchor{collector}{\ifnum\cdir<0\southeast\else\northeast\fi}
 
-        \backgroundpath{
+        \pgf@circ@draw@component{
             \pgftransformationadjustments
-            \pgfsetcolor{\ctikzvalof{color}}
+            \pgf@circ@setcolor
             %
             % set the type and up and down number of connections
             %
@@ -4903,6 +4906,7 @@
         \else
             \edef\@@default{default}%
             \ifx\@@tmp\@@default % fill with the pen color
+                \pgf@circ@fill@strokecolor
                 \pgfusepath{draw, fill}%
             \else
                 \pgfsetfillcolor{\@@tmp}%
@@ -5316,8 +5320,8 @@
 
 }
 
-\long\def\pgfdeclaretransistorwrapperaddbulk#1#2#3
-{\pgfcircdeclaretransistor{#1}{
+\long\def\pgfdeclaretransistorwrapperaddbulk#1#2#3{
+    \pgfcircdeclaretransistor{#1}{
         \anchor{bulk}{\left\pgf@x=0pt}
         \anchor{B}{\left\pgf@x=0pt}%override Base anchor from npn&igbt
         \anchor{inner up}{
@@ -5328,7 +5332,7 @@
             \northeast
             \pgf@y=-\ctikzvalof{tripoles/#1/gate height}\pgf@y
         }
-        #2
+        #2%
     }
     {#3}
 }
@@ -5475,7 +5479,7 @@
                 \pgf@x=\ctikzvalof{tripoles/#1/conn kink}\pgf@x
             }
             % extra anchors (or override)
-            #2
+            #2%
         }{%
         % add the circle if requested (before everything else, so we can fill it)
         \pgfcirc@transistorcircle
@@ -5574,7 +5578,7 @@
         \endpgfscope
 
         % extra drawings
-        #3
+        #3%
     }
 }
 
@@ -6014,16 +6018,14 @@
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
 
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
-
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
         \northwest
         \pgf@circ@res@up = \pgf@y
         \pgf@circ@res@down = -\pgf@y
         \pgf@circ@res@right = -\pgf@x
         \pgf@circ@res@left = \pgf@x
         \pgf@circ@scaled@Rlen=\scaledRlen
-
 				% Triangle
         \pgfscope
             \pgf@circ@setlinewidth{tripoles}{\pgflinewidth}
@@ -6031,14 +6033,12 @@
             \pgf@circ@res@step=\pgf@circ@res@right
             \advance\pgf@circ@res@step by -\pgf@circ@res@left
             \pgf@circ@res@step=\ctikzvalof{tripoles/op amp/port width}\pgf@circ@res@step
-
             \pgfpathmoveto{\pgfpoint{\pgf@circ@res@step}{0pt}}
             \pgfpathlineto{\pgfpoint{0pt}{\pgf@circ@res@up}}
             \pgfpathlineto{\pgfpoint{0pt}{\pgf@circ@res@down}}
             \pgfpathclose
             \pgf@circ@draworfill
         \endpgfscope
-
 				% Negative input terminal
         \pgfpathmoveto{\pgfpoint
             {\pgf@circ@res@left}
@@ -6046,8 +6046,6 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/op amp/port width}\pgf@circ@res@left}
             {\ctikzvalof{tripoles/op amp/input height}\pgf@circ@res@up}}
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/op amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/op amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/op amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
-
 				% Positive input terminal
         \pgfpathmoveto{\pgfpoint
             {\pgf@circ@res@left}
@@ -6055,13 +6053,14 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/op amp/port width}\pgf@circ@res@left}
             {\ctikzvalof{tripoles/op amp/input height}\pgf@circ@res@down}}
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/op amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/op amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/op amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
-
         % Output terminal
         \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
         \pgfpathlineto{\pgfpoint{\ctikzvalof{tripoles/op amp/port width}\pgf@circ@res@right}{0pt}}
         \pgfsetrectcap
         \pgfusepath{draw}
+        \pgf@circ@text@strokecolor
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/op amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/op amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/op amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/op amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/op amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/op amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
     }
 }
 
@@ -6193,8 +6192,8 @@
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
 
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
         \northwest
         \pgf@circ@res@up = \pgf@y
         \pgf@circ@res@down = -\pgf@y
@@ -6218,7 +6217,6 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/en amp/port width}\pgf@circ@res@left}
             {\ctikzvalof{tripoles/en amp/input height}\pgf@circ@res@up}}
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/en amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/en amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/en amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
 
         \pgfpathmoveto{\pgfpoint
             {\pgf@circ@res@left}
@@ -6226,16 +6224,15 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/en amp/port width}\pgf@circ@res@left}
             {\ctikzvalof{tripoles/en amp/input height}\pgf@circ@res@down}}
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/en amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/en amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/en amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
 
         \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
         \pgfpathlineto{\pgfpoint{.7\pgf@circ@res@right}{0pt}}
         \pgfsetrectcap
         \pgfusepath{draw}
-
-
+        \pgf@circ@text@strokecolor
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/en amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/en amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/en amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/en amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/en amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/en amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
         \pgftext[top, y=-.5ex, at=\pgfpoint{0pt}{\pgf@circ@res@up}]{\hbox{\ctikzvalof{tripoles/en amp/font2}\ctikzvalof{tripoles/en amp/text}}}
-        % \pgftext[top, y=-.5ex, at=\pgfpoint{0pt}{\pgf@circ@res@up}]{\ctikzvalof{tripoles/en amp/font2}$\mathstrut{\triangleright}\,\mathrm{A}$}
     }
 }
 
@@ -6436,8 +6433,8 @@
         \fi
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -6508,7 +6505,6 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/fd op amp/port width}\pgf@circ@res@left}
             {\ctikzvalof{tripoles/fd op amp/input height}\pgf@circ@res@up}}
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/fd op amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/fd op amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/fd op amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
 
         % Positive input terminal
         \pgfpathmoveto{\pgfpoint
@@ -6517,16 +6513,15 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/fd op amp/port width}\pgf@circ@res@left}
             {\ctikzvalof{tripoles/fd op amp/input height}\pgf@circ@res@down}}
+        \pgfsetrectcap
+        \pgfusepath{draw}
+        \pgf@circ@text@strokecolor
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/fd op amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/fd op amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/fd op amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
         \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/fd op amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/fd op amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/fd op amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
-
         % Negative output terminal label
         \pgftext[right, bottom, x=3pt, y=1pt, at=\pgfpoint{0pt}{0.425\pgf@circ@res@down}]{\ctikzvalof{tripoles/fd op amp/font} \ifpgf@circuit@oa@oplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
-
         % Positive output terminal label
         \pgftext[right, top, x=3pt, y=-1pt, at=\pgfpoint{0pt}{0.425\pgf@circ@res@up}]{\ctikzvalof{tripoles/fd op amp/font} \ifpgf@circuit@oa@oplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
-
-        \pgfsetrectcap
-        \pgfusepath{draw}
     }
 }
 
@@ -6756,8 +6751,8 @@
     }
 
     % let's start drawing the component
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
         %
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -6797,7 +6792,6 @@
             {\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@left}
         {\ctikzvalof{tripoles/fd inst amp/input height}\pgf@circ@res@up}}
         %
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/fd inst amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/fd inst amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
 
         % input terminal down
         \pgfpathmoveto{\pgfpoint
@@ -6807,19 +6801,21 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@left}
         {\ctikzvalof{tripoles/fd inst amp/input height}\pgf@circ@res@down}}
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/fd inst amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/fd inst amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
 
         % output leads down and up
         \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{\ctikzvalof{tripoles/fd inst amp/output height}\pgf@circ@res@down}}
         \pgfpathlineto{\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@right}{\ctikzvalof{tripoles/fd inst amp/output height}\pgf@circ@res@down}} %
-        \pgftext[right, at=\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@right}{\ctikzvalof{tripoles/fd inst amp/output height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/fd inst amp/font}\ifpgf@circuit@oa@oplusup$-\;$\else$+\;$\fi}
 
         \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{\ctikzvalof{tripoles/fd inst amp/output height}\pgf@circ@res@up}}
         \pgfpathlineto{\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@right}{\ctikzvalof{tripoles/fd inst amp/output height}\pgf@circ@res@up}} %
-        \pgftext[right, at=\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@right}{\ctikzvalof{tripoles/fd inst amp/output height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/fd inst amp/font}\ifpgf@circuit@oa@oplusup$+\;$\else$-\;$\fi}
         %
         \pgfsetrectcap
         \pgfusepath{draw}
+        \pgf@circ@text@strokecolor
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/fd inst amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/fd inst amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/fd inst amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/fd inst amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
+        \pgftext[right, at=\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@right}{\ctikzvalof{tripoles/fd inst amp/output height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/fd inst amp/font}\ifpgf@circuit@oa@oplusup$-\;$\else$+\;$\fi}
+        \pgftext[right, at=\pgfpoint{\ctikzvalof{tripoles/fd inst amp/port width}\pgf@circ@res@right}{\ctikzvalof{tripoles/fd inst amp/output height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/fd inst amp/font}\ifpgf@circuit@oa@oplusup$+\;$\else$-\;$\fi}
     }
 }
 
@@ -6964,8 +6960,8 @@
         \fi
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -6999,22 +6995,19 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/gm amp/port width}\pgf@circ@res@left}
             {\ctikzvalof{tripoles/gm amp/input height}\pgf@circ@res@up}}
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/gm amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/gm amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/gm amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
-
-
         \pgfpathmoveto{\pgfpoint
             {\pgf@circ@res@left}
             {\ctikzvalof{tripoles/gm amp/input height}\pgf@circ@res@down}}
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/gm amp/port width}\pgf@circ@res@left}
             {\ctikzvalof{tripoles/gm amp/input height}\pgf@circ@res@down}}
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/gm amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/gm amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/gm amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
-
         \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
         \pgfpathlineto{\pgfpoint{\ctikzvalof{tripoles/gm amp/port width}\pgf@circ@res@right}{0pt}} %
         \pgfsetrectcap
         \pgfusepath{draw}
-
+        \pgf@circ@text@strokecolor
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/gm amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/gm amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/gm amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/gm amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/gm amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/gm amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
     }
 }
 
@@ -7196,8 +7189,8 @@
     }
 
     % let's start drawing the component
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
         %
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -7238,7 +7231,6 @@
             {\ctikzvalof{tripoles/inst amp/port width}\pgf@circ@res@left}
         {\ctikzvalof{tripoles/inst amp/input height}\pgf@circ@res@up}}
         %
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/inst amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/inst amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/inst amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
 
         % Positive input terminal
         \pgfpathmoveto{\pgfpoint
@@ -7248,7 +7240,6 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/inst amp/port width}\pgf@circ@res@left}
         {\ctikzvalof{tripoles/inst amp/input height}\pgf@circ@res@down}}
-    \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/inst amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/inst amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/inst amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
 
         % Output terminal
         \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
@@ -7256,6 +7247,9 @@
         %
         \pgfsetrectcap
         \pgfusepath{draw}
+        \pgf@circ@text@strokecolor
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/inst amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/inst amp/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/inst amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/inst amp/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/inst amp/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/inst amp/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
     }
 }
 
@@ -7483,8 +7477,8 @@
     }
 
     % drawing of the component
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -7542,7 +7536,6 @@
             {\ctikzvalof{tripoles/inst amp ra/port width}\pgf@circ@res@left}
         {\ctikzvalof{tripoles/inst amp ra/input height}\pgf@circ@res@up}}
         %
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/inst amp ra/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/inst amp ra/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/inst amp ra/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
 
         % Positive input terminal
         \pgfpathmoveto{\pgfpoint
@@ -7552,7 +7545,6 @@
         \pgfpathlineto{\pgfpoint
             {\ctikzvalof{tripoles/inst amp ra/port width}\pgf@circ@res@left}
         {\ctikzvalof{tripoles/inst amp ra/input height}\pgf@circ@res@down}}
-        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/inst amp ra/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/inst amp ra/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/inst amp ra/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
 
         % Output terminal
         \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
@@ -7560,6 +7552,9 @@
         %
         \pgfsetrectcap
         \pgfusepath{draw}
+        \pgf@circ@text@strokecolor
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/inst amp ra/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/inst amp ra/input height}\pgf@circ@res@up}]{\ctikzvalof{tripoles/inst amp ra/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@plus\else\pgf@circ@ampli@minus\fi}
+        \pgftext[left, at=\pgfpoint{\ctikzvalof{tripoles/inst amp ra/port width}\pgf@circ@res@left}{\ctikzvalof{tripoles/inst amp ra/input height}\pgf@circ@res@down}]{\ctikzvalof{tripoles/inst amp ra/font} \ifpgf@circuit@oa@iplusup\pgf@circ@ampli@minus\else\pgf@circ@ampli@plus\fi}
     }
 }
 
@@ -7618,8 +7613,8 @@
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
 
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -7779,8 +7774,8 @@
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
 
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -7914,8 +7909,8 @@
         \fi
         \pgf@y=\dimexpr.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
     }
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
 
         \northwest
         \pgf@circ@res@up = \pgf@y
@@ -8087,8 +8082,8 @@
     \anchor{north east}{ \northwest \pgf@x=-\pgf@x }
     \anchor{north west}{ \northwest }
     \anchor{south east}{ \northwest \pgf@x=-\pgf@x \pgf@y=-\pgf@y }
-    \backgroundpath{
-        \pgfsetcolor{\ctikzvalof{color}}
+    \pgf@circ@draw@component{
+        \pgf@circ@setcolor
         \pgf@circ@scaled@Rlen=\scaledRlen
         \pgf@circ@res@step=\ctikzvalof{tripoles/magnetron/width}\pgf@circ@scaled@Rlen
         \northwest
@@ -8254,10 +8249,9 @@
         }
 
         % Extra anchors
-        #2
+        #2%
 
-        \backgroundpath{
-            \pgfscope
+        \pgf@circ@draw@component{
                 % Line width for tripoles
                 \pgf@circ@setlinewidth{tripoles}{\pgflinewidth}
                 \pgf@circ@scaled@Rlen=\scaledRlen
@@ -8281,7 +8275,7 @@
                 \pgf@circ@draworfill
 
                 % Grid drawing
-                #3
+                #3%
 
                 % Filament (is not drawn by default)
                 \ifpgf@circuit@tubes@filament
@@ -8324,7 +8318,6 @@
 
                 % Draw the background
                 \pgfusepath{draw}
-            \endpgfscope
         }
     }
 }
-- 
cgit v1.2.3

