@nativescript-community/ui-carto
Version:
NativeScript plugin for CARTO Mobile SDK
96 lines • 3.11 kB
JavaScript
import { BillboardStyleBuilder } from '.';
import { nativeColorProperty, nativeProperty } from '..';
import { BaseBillboardVectorElement } from './index.android';
import { styleBuilderProperty } from './index.common';
export class TextStyleBuilder extends BillboardStyleBuilder {
createNative(options) {
return new com.carto.styles.TextStyleBuilder();
}
buildStyle() {
if (!this.mBuildStyle) {
this.mBuildStyle = this.getNative().buildStyle();
}
return this.mBuildStyle;
}
}
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "fontSize", void 0);
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "fontName", void 0);
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "orientationMode", void 0);
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "breakLines", void 0);
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "textField", void 0);
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "strokeWidth", void 0);
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "borderWidth", void 0);
__decorate([
nativeColorProperty
], TextStyleBuilder.prototype, "color", void 0);
__decorate([
nativeColorProperty
], TextStyleBuilder.prototype, "strokeColor", void 0);
__decorate([
nativeColorProperty
], TextStyleBuilder.prototype, "borderColor", void 0);
__decorate([
nativeColorProperty
], TextStyleBuilder.prototype, "backgroundColor", void 0);
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "anchorPointX", void 0);
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "anchorPointY", void 0);
__decorate([
nativeProperty
], TextStyleBuilder.prototype, "flippable", void 0);
export class Text extends BaseBillboardVectorElement {
createNative(options) {
const style = this.buildStyle();
const nativePos = this.getNativePos(options.position, options.projection);
const result = new com.carto.vectorelements.Text(nativePos, style, options.text);
// result['owner'] = new WeakRef(this);
return result;
}
buildStyle() {
let style;
const styleBuilder = this.options.styleBuilder;
if (styleBuilder instanceof com.carto.styles.TextStyle) {
style = styleBuilder;
}
else if (styleBuilder instanceof TextStyleBuilder) {
style = styleBuilder.buildStyle();
}
else if (styleBuilder.hasOwnProperty) {
style = new TextStyleBuilder(styleBuilder).buildStyle();
}
return style;
}
get styleBuilder() {
return this.native ? this.native.getStyle() : this.options.styleBuilder;
}
set styleBuilder(value) {
if (this.native && !this.duringInit) {
this.options.styleBuilder = value;
this.native.setStyle(this.buildStyle());
}
}
}
__decorate([
nativeProperty
], Text.prototype, "text", void 0);
__decorate([
styleBuilderProperty
], Text.prototype, "color", void 0);
//# sourceMappingURL=text.android.js.map