nativescript-shadowed-label
Version:
A NativeScript Label that supports text shadow.
49 lines • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var label_1 = require("tns-core-modules/ui/label/label");
var properties_1 = require("tns-core-modules/ui/core/properties");
var color_1 = require("tns-core-modules/color/color");
var platform_1 = require("tns-core-modules/platform");
var utils_1 = require("tns-core-modules/utils/utils");
var ShadowedLabel = (function (_super) {
__extends(ShadowedLabel, _super);
function ShadowedLabel() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(ShadowedLabel.prototype, "textShadow", {
get: function () {
return this.style.textShadow;
},
set: function (value) {
this.style.textShadow = value;
},
enumerable: true,
configurable: true
});
return ShadowedLabel;
}(label_1.Label));
exports.ShadowedLabel = ShadowedLabel;
exports.textShadowProperty = new properties_1.CssProperty({
name: 'textShadow',
cssName: 'text-shadow',
affectsLayout: platform_1.isIOS,
valueConverter: function (value) {
var params = value.split(' ');
return {
offsetX: parseDIPs(params[0]),
offsetY: parseDIPs(params[1]),
blurRadius: parseDIPs(params[2]),
color: new color_1.Color(params.slice(3).join(''))
};
}
});
exports.textShadowProperty.register(properties_1.Style);
function parseDIPs(value) {
if (value.indexOf('px') !== -1) {
return utils_1.layout.toDeviceIndependentPixels(parseFloat(value.replace('px', '').trim()));
}
else {
return parseFloat(value.replace('dip', '').trim());
}
}
//# sourceMappingURL=shadowed-label.common.js.map