imobile_for_reactnative
Version:
iMobile for ReactNative,是SuperMap iMobile推出的一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。
188 lines (168 loc) • 5.46 kB
text/typescript
/*********************************************************************************
Copyright © SuperMap. All rights reserved.
Author: Yang Shanglong
E-mail: yangshanglong@supermap.com
**********************************************************************************/
/**
* @class TextStyle
* @description 文本风格类。用于设置 GeoText 类对象的风格。
*/
export default class TextStyle {
/**
* 设置文本大小是否固定
* @param textAlignment
* 0:左上角,当文本的对齐方式为左上角对齐时,文本子对象的最小外接矩形的左上角点在该文本子对象的锚点位置
* 1:顶部居中,当文本的对齐方式为上面居中对齐时,文本子对象的最小外接矩形的上边线的中点在该文本子对象的锚点位置
* 2:右上角,当文本的对齐方式为上面居中对齐时,文本子对象的最小外接矩形的右上角点在该文本子对象的锚点位置
* 3:基准线左,当文本的对齐方式为基准线左对齐时,文本子对象的基线的左端点在该文本子对象的锚点位置
* 4:基准线居中,当文本的对齐方式为基准线居中对齐时,文本子对象的基线的中点在该文本子对象的锚点位置
* 5:基准线右,当文本的对齐方式为基准线右对齐时,文本子对象的基线的右端点在该文本子对象的锚点位置
* 6:左下角,当文本的对齐方式为左下角对齐时,文本子对象的最小外接矩形的左下角点在该文本子对象的锚点位置
* 7:底部居中,当文本的对齐方式为底线居中对齐时,文本子对象的最小外接矩形的底线的中点在该文本子对象的锚点位置
* 8:右下角,当文本的对齐方式为右下角对齐时,文本子对象的最小外接矩形的右下角点在该文本子对象的锚点位置
* 9:左中,当文本的对齐方式为左中对齐时,文本子对象的最小外接矩形的左边线的中点在该文本子对象的锚点位置
* 10:中心,当文本的对齐方式为中心对齐时,文本子对象的最小外接矩形的中心点在该文本子对象的锚点位置
* 11:右中,当文本的对齐方式为右中对齐时,文本子对象的最小外接矩形的右边线的中点在该文本子对象的锚点位置
* @returns {Promise.<void>}
*/
async setAlignment(textAlignment: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11) {
this.Alignment = textAlignment
}
/**
* 设置文本的背景色
* @param r 0-255
* @param g 0-255
* @param b 0-255
* @param a 0-1.0
* @returns {Promise.<void>}
*/
async setBackColor(r:number, g:number, b:number, a = 1) {
const rgba = (a * 255) << 24 | b << 16 | g << 8 | r
this.BackColor = rgba
}
/**
* 设置文本背景是否不透明,true 表示文本背景不透明
* @param value
* @returns {Promise.<void>}
*/
async setBackOpaque(value: boolean) {
this.BackOpaque = value
}
/**
* 设置文本是否为粗体字,true 表示为粗
* @param value
* @returns {Promise.<void>}
*/
async setBold(value: boolean) {
this.Bold = value
}
/**
* 设置文本字体的高度
* @param value
* @returns {Promise.<void>}
*/
async setFontHeight(value: number) {
this.FontHeight = value
}
/**
* 设置文本字体的名称
* @param value
* @returns {Promise}
*/
async setFontName(value:string) {
this.FontName = value
}
/**
* 设置注记字体的缩放比例
* @param value
* @returns {Promise}
*/
async setFontScale(value: string) {
this.FontScale = value
}
/**
* 设置文本的宽度
* @param value
* @returns {Promise}
*/
async setFontWidth(value: number) {
this.FontWidth = value
}
/**
* 设置文本的前景色
* @param r 0-255
* @param g 0-255
* @param b 0-255
* @param a 0-1.0
* @returns {Promise.<void>}
*/
async setForeColor(r: number, g: number, b: number, a = 1) {
const rgba = (a * 255) << 24 | b << 16 | g << 8 | r
this.ForeColor = rgba
}
/**
* 设置文本是否采用斜体,true 表示采用斜体
* @param value
* @returns {Promise}
*/
async setItalic(value: boolean) {
this.Italic = value
}
/**
* 设置是否以轮廓的方式来显示文本的背景
* @param value
* @returns {Promise}
*/
async setOutline(value: boolean) {
this.Outline = value
}
/**
* 设置文本旋转的角度
* @param value
* @returns {Promise}
*/
async setRotation(value: number) {
this.Rotation = value
}
/**
* 设置文本是否有阴影
* @param value
* @returns {Promise}
*/
async setShadow(value: boolean) {
this.Shadow = value
}
/**
* 设置文本大小是否固定
* @param value
* @returns {Promise}
*/
async setSizeFixed(value: boolean) {
this.SizeFixed = value
}
/**
* 设置文本字体是否加删除线
* @param value
* @returns {Promise}
*/
async setStrikeout(value: boolean) {
this.Strikeout = value
}
/**
* 设置文本字体是否加下划线
* @param value
* @returns {Promise}
*/
async setUnderline(value: boolean) {
this.Underline = value
}
/**
* 设置文本字体的磅数,表示粗体的具体数值
* @param value
* @returns {Promise}
* @deprecated
*/
async setWeight(value: number) {
this.Weight = value
}
}