@@ -56,6 +56,20 @@ const DefsSHMetro = memo(() => (
5656        < marker  id = "slope"  viewBox = "-1.5 0 3 1.5"  refY = { 0.5 } > 
5757            < path  d = "M0,0L1,1H-1z"  fill = "var(--rmg-theme-colour)"  /> 
5858        </ marker > 
59+ 
60+         { /* Outline filter of white pass color in Pujiang Line */ } 
61+         < filter  id = "pujiang_outline_runin"  colorInterpolationFilters = "sRGB" 
62+             // TODO: remove the absolute value while make the filter works correctly 
63+             filterUnits = "userSpaceOnUse"  x = "0"  y = "-1000"  width = "5000"  height = "2000" > 
64+             < feMorphology  operator = "erode"  in = "SourceAlpha" 
65+                 radius = "0"  result = "e1"  /> 
66+             < feMorphology  operator = "erode"  in = "SourceAlpha" 
67+                 radius = "1"  result = "e2"  /> 
68+             < feComposite  in = "e1"  in2 = "e2"  operator = "xor" 
69+                 result = "outline"  /> 
70+             < feComposite  in = "outline"  in2 = "SourceGraphic" 
71+                 operator = "over"  result = "output"  /> 
72+         </ filter > 
5973    </ defs > 
6074) ) ; 
6175
@@ -95,27 +109,32 @@ const GeneralStation = (props: RunInGeneralProps) => {
95109                    /> 
96110                ) } 
97111                { props . prevStnIds . length  >  1  &&  ( 
98-                     < path 
99-                         stroke = "gray" 
100-                         d = { 
101-                             param . direction  ===  'l' 
102-                                 ? `M${ ( param . svgWidth . runin  /  3 )  *  2 } ${ ( param . svgWidth . runin  /  6 )  *  5 } ${ prevBranchLineDy } ${  
103-                                       param . svgWidth . runin  -  24  
104-                                   }  `
105-                                 : `M${ param . svgWidth . runin  /  3 } ${ param . svgWidth . runin  /  6 } ${ prevBranchLineDy }  
106-                         } 
107-                     /> 
112+                     < g 
113+                         filter = { param . theme [ 2 ]  ===  '#999999'  ? 'url(#pujiang_outline_railmap)'  : undefined } > 
114+                         < path 
115+                             stroke = "var(--rmg-grey)" 
116+                             d = { 
117+                                 param . direction  ===  'l' 
118+                                     ? `M${ ( param . svgWidth . runin  /  3 )  *  2 } ${ ( param . svgWidth . runin  /  6 )  *  5 } ${ prevBranchLineDy } ${ param . svgWidth . runin  -  24  
119+                                     }  `
120+                                     : `M${ param . svgWidth . runin  /  3 } ${ param . svgWidth . runin  /  6 } ${ prevBranchLineDy }  
121+                             } 
122+                         /> 
123+                     </ g > 
108124                ) } 
109125            </ g > 
110126
111127            { termianl  &&  param . info_panel_type  !==  'sh2020'  ? ( 
112128                < > 
113-                     < path 
114-                         transform = "translate(0,220)" 
115-                         stroke = "gray" 
116-                         strokeWidth = { 12 } 
117-                         d = { `M24,16 H ${ param . svgWidth . runin  -  24 }  } 
118-                     /> 
129+                     < g 
130+                         filter = { param . theme [ 2 ]  ===  '#999999'  ? 'url(#pujiang_outline_railmap)'  : undefined } > 
131+                         < path 
132+                             transform = "translate(0,220)" 
133+                             stroke = "var(--rmg-grey)" 
134+                             strokeWidth = { 12 } 
135+                             d = { `M24,16 H ${ param . svgWidth . runin  -  24 }  } 
136+                         /> 
137+                     </ g > 
119138
120139                    < g  transform = { `translate(${ param . direction  ===  'l'  ? 36  : param . svgWidth . runin  -  36 }  } 
121140                        textAnchor = { param . direction  ===  'l'  ? 'start'  : 'end' }  > 
@@ -149,10 +168,13 @@ const GeneralStation = (props: RunInGeneralProps) => {
149168                            d = { `M ${ middle } ${ param . direction  ===  'l'  ? 36  : param . svgWidth . runin  -  36 }  } 
150169                            markerEnd = "url(#slope)" 
151170                        /> 
152-                         < path 
153-                             stroke = "gray" 
154-                             d = { `M ${ middle } ${ param . direction  ===  'l'  ? param . svgWidth . runin  -  24  : 24 }  } 
155-                         /> 
171+                         < g 
172+                             filter = { param . theme [ 2 ]  ===  '#999999'  ? 'url(#pujiang_outline_railmap)'  : undefined } > 
173+                             < path 
174+                                 stroke = "var(--rmg-grey)" 
175+                                 d = { `M ${ middle } ${ param . direction  ===  'l'  ? param . svgWidth . runin  -  24  : 24 }  } 
176+                             /> 
177+                         </ g > 
156178                    </ g > 
157179
158180                    < g  transform = { `translate(${ middle }  }  textAnchor = "middle" > 
0 commit comments