@tralves/shadowed-label
Version:
A NativeScript Label that supports text shadow.
33 lines • 1.02 kB
JavaScript
import { Color, CssProperty, isIOS, Label, Style, Utils } from '@nativescript/core';
export class ShadowedLabelCommon extends Label {
get textShadow() {
return this.style.textShadow;
}
set textShadow(value) {
this.style.textShadow = value;
}
}
export const textShadowProperty = new CssProperty({
name: 'textShadow',
cssName: 'text-shadow',
affectsLayout: isIOS,
valueConverter: value => {
const params = value.split(' ');
return {
offsetX: parseDIPs(params[0]),
offsetY: parseDIPs(params[1]),
blurRadius: parseDIPs(params[2]),
color: new Color(params.slice(3).join(''))
};
}
});
textShadowProperty.register(Style);
function parseDIPs(value) {
if (value.indexOf('px') !== -1) {
return Utils.layout.toDeviceIndependentPixels(parseFloat(value.replace('px', '').trim()));
}
else {
return parseFloat(value.replace('dip', '').trim());
}
}
//# sourceMappingURL=common.js.map