in src/util/styleCompat.ts [168:211]
export function convertToEC4StyleForCustomSerise(
itemStl: ItemStyleProps,
txStl: TextStyleProps,
txCfg: ElementTextConfig
): ZRStyleProps {
const out = itemStl as Dictionary<unknown>;
// See `custom.ts`, a trick to set extra `textPosition` firstly.
out.textPosition = out.textPosition || txCfg.position || 'inside';
txCfg.offset != null && (out.textOffset = txCfg.offset);
txCfg.rotation != null && (out.textRotation = txCfg.rotation);
txCfg.distance != null && (out.textDistance = txCfg.distance);
const isInside = (out.textPosition as string).indexOf('inside') >= 0;
const hostFill = itemStl.fill || '#000';
convertToEC4RichItem(out, txStl);
const textFillNotSet = out.textFill == null;
if (isInside) {
if (textFillNotSet) {
out.textFill = txCfg.insideFill || '#fff';
!out.textStroke && txCfg.insideStroke && (out.textStroke = txCfg.insideStroke);
!out.textStroke && (out.textStroke = hostFill);
out.textStrokeWidth == null && (out.textStrokeWidth = 2);
}
}
else {
if (textFillNotSet) {
out.textFill = itemStl.fill || txCfg.outsideFill || '#000';
}
!out.textStroke && txCfg.outsideStroke && (out.textStroke = txCfg.outsideStroke);
}
out.text = txStl.text;
out.rich = txStl.rich;
each(txStl.rich, function (richItem) {
convertToEC4RichItem(richItem as Dictionary<unknown>, richItem);
});
return out;
}