161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022-2024 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit ArkUI 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ci 2261847f8eSopenharmony_ci/** 2361847f8eSopenharmony_ci * Defines the options of MeasureText. 2461847f8eSopenharmony_ci * 2561847f8eSopenharmony_ci * @interface MeasureOptions 2661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 2761847f8eSopenharmony_ci * @since 9 2861847f8eSopenharmony_ci */ 2961847f8eSopenharmony_ci/** 3061847f8eSopenharmony_ci * Defines the options of MeasureText. 3161847f8eSopenharmony_ci * 3261847f8eSopenharmony_ci * @interface MeasureOptions 3361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 3461847f8eSopenharmony_ci * @crossplatform 3561847f8eSopenharmony_ci * @since 11 3661847f8eSopenharmony_ci */ 3761847f8eSopenharmony_ci/** 3861847f8eSopenharmony_ci * Defines the options of MeasureText. 3961847f8eSopenharmony_ci * 4061847f8eSopenharmony_ci * @interface MeasureOptions 4161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 4261847f8eSopenharmony_ci * @crossplatform 4361847f8eSopenharmony_ci * @atomicservice 4461847f8eSopenharmony_ci * @since 12 4561847f8eSopenharmony_ci */ 4661847f8eSopenharmony_ciexport interface MeasureOptions { 4761847f8eSopenharmony_ci /** 4861847f8eSopenharmony_ci * Text to display. 4961847f8eSopenharmony_ci * 5061847f8eSopenharmony_ci * @type { string | Resource } 5161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 5261847f8eSopenharmony_ci * @since 9 5361847f8eSopenharmony_ci */ 5461847f8eSopenharmony_ci /** 5561847f8eSopenharmony_ci * Text to display. 5661847f8eSopenharmony_ci * 5761847f8eSopenharmony_ci * @type { string | Resource } 5861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 5961847f8eSopenharmony_ci * @since 10 6061847f8eSopenharmony_ci */ 6161847f8eSopenharmony_ci /** 6261847f8eSopenharmony_ci * Text to display. 6361847f8eSopenharmony_ci * 6461847f8eSopenharmony_ci * @type { string | Resource } 6561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 6661847f8eSopenharmony_ci * @crossplatform 6761847f8eSopenharmony_ci * @atomicservice 6861847f8eSopenharmony_ci * @since 12 6961847f8eSopenharmony_ci */ 7061847f8eSopenharmony_ci textContent: string | Resource; 7161847f8eSopenharmony_ci 7261847f8eSopenharmony_ci /** 7361847f8eSopenharmony_ci * Text display area of width. 7461847f8eSopenharmony_ci * 7561847f8eSopenharmony_ci * @type { ?(number | string | Resource) } 7661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 7761847f8eSopenharmony_ci * @since 10 7861847f8eSopenharmony_ci */ 7961847f8eSopenharmony_ci /** 8061847f8eSopenharmony_ci * Text display area of width. 8161847f8eSopenharmony_ci * 8261847f8eSopenharmony_ci * @type { ?(number | string | Resource) } 8361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 8461847f8eSopenharmony_ci * @crossplatform 8561847f8eSopenharmony_ci * @atomicservice 8661847f8eSopenharmony_ci * @since 12 8761847f8eSopenharmony_ci */ 8861847f8eSopenharmony_ci constraintWidth?: number | string | Resource; 8961847f8eSopenharmony_ci 9061847f8eSopenharmony_ci /** 9161847f8eSopenharmony_ci * Font Size. 9261847f8eSopenharmony_ci * 9361847f8eSopenharmony_ci * @type { ?(number | string | Resource) } 9461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 9561847f8eSopenharmony_ci * @since 9 9661847f8eSopenharmony_ci */ 9761847f8eSopenharmony_ci /** 9861847f8eSopenharmony_ci * Font Size. 9961847f8eSopenharmony_ci * 10061847f8eSopenharmony_ci * @type { ?(number | string | Resource) } 10161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 10261847f8eSopenharmony_ci * @crossplatform 10361847f8eSopenharmony_ci * @atomicservice 10461847f8eSopenharmony_ci * @since 12 10561847f8eSopenharmony_ci */ 10661847f8eSopenharmony_ci fontSize?: number | string | Resource; 10761847f8eSopenharmony_ci 10861847f8eSopenharmony_ci /** 10961847f8eSopenharmony_ci * Font style. 11061847f8eSopenharmony_ci * 11161847f8eSopenharmony_ci * @type { ?(number | FontStyle) } 11261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 11361847f8eSopenharmony_ci * @since 9 11461847f8eSopenharmony_ci */ 11561847f8eSopenharmony_ci /** 11661847f8eSopenharmony_ci * Font style. 11761847f8eSopenharmony_ci * 11861847f8eSopenharmony_ci * @type { ?(number | FontStyle) } 11961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 12061847f8eSopenharmony_ci * @crossplatform 12161847f8eSopenharmony_ci * @atomicservice 12261847f8eSopenharmony_ci * @since 12 12361847f8eSopenharmony_ci */ 12461847f8eSopenharmony_ci fontStyle?: number | FontStyle; 12561847f8eSopenharmony_ci 12661847f8eSopenharmony_ci /** 12761847f8eSopenharmony_ci * Font weight. 12861847f8eSopenharmony_ci * 12961847f8eSopenharmony_ci * @type { ?(number | string | FontWeight) } 13061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 13161847f8eSopenharmony_ci * @since 9 13261847f8eSopenharmony_ci */ 13361847f8eSopenharmony_ci /** 13461847f8eSopenharmony_ci * Font weight. 13561847f8eSopenharmony_ci * 13661847f8eSopenharmony_ci * @type { ?(number | string | FontWeight) } 13761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 13861847f8eSopenharmony_ci * @crossplatform 13961847f8eSopenharmony_ci * @atomicservice 14061847f8eSopenharmony_ci * @since 12 14161847f8eSopenharmony_ci */ 14261847f8eSopenharmony_ci fontWeight?: number | string | FontWeight; 14361847f8eSopenharmony_ci 14461847f8eSopenharmony_ci /** 14561847f8eSopenharmony_ci * Font list of text. 14661847f8eSopenharmony_ci * 14761847f8eSopenharmony_ci * @type { ?(string | Resource) } 14861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 14961847f8eSopenharmony_ci * @since 9 15061847f8eSopenharmony_ci */ 15161847f8eSopenharmony_ci /** 15261847f8eSopenharmony_ci * Font list of text. 15361847f8eSopenharmony_ci * 15461847f8eSopenharmony_ci * @type { ?(string | Resource) } 15561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 15661847f8eSopenharmony_ci * @crossplatform 15761847f8eSopenharmony_ci * @atomicservice 15861847f8eSopenharmony_ci * @since 12 15961847f8eSopenharmony_ci */ 16061847f8eSopenharmony_ci fontFamily?: string | Resource; 16161847f8eSopenharmony_ci 16261847f8eSopenharmony_ci /** 16361847f8eSopenharmony_ci * Distance between text fonts. 16461847f8eSopenharmony_ci * 16561847f8eSopenharmony_ci * @type { ?(number | string) } 16661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 16761847f8eSopenharmony_ci * @since 9 16861847f8eSopenharmony_ci */ 16961847f8eSopenharmony_ci /** 17061847f8eSopenharmony_ci * Distance between text fonts. 17161847f8eSopenharmony_ci * 17261847f8eSopenharmony_ci * @type { ?(number | string) } 17361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 17461847f8eSopenharmony_ci * @crossplatform 17561847f8eSopenharmony_ci * @atomicservice 17661847f8eSopenharmony_ci * @since 12 17761847f8eSopenharmony_ci */ 17861847f8eSopenharmony_ci letterSpacing?: number | string; 17961847f8eSopenharmony_ci 18061847f8eSopenharmony_ci /** 18161847f8eSopenharmony_ci * Alignment of text. 18261847f8eSopenharmony_ci * 18361847f8eSopenharmony_ci * @type { ?(number | TextAlign) } 18461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 18561847f8eSopenharmony_ci * @since 10 18661847f8eSopenharmony_ci */ 18761847f8eSopenharmony_ci /** 18861847f8eSopenharmony_ci * Alignment of text. 18961847f8eSopenharmony_ci * 19061847f8eSopenharmony_ci * @type { ?(number | TextAlign) } 19161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 19261847f8eSopenharmony_ci * @crossplatform 19361847f8eSopenharmony_ci * @atomicservice 19461847f8eSopenharmony_ci * @since 12 19561847f8eSopenharmony_ci */ 19661847f8eSopenharmony_ci textAlign?: number | TextAlign; 19761847f8eSopenharmony_ci 19861847f8eSopenharmony_ci /** 19961847f8eSopenharmony_ci * Overflow mode of the font. 20061847f8eSopenharmony_ci * 20161847f8eSopenharmony_ci * @type { ?(number | TextOverflow) } 20261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 20361847f8eSopenharmony_ci * @since 10 20461847f8eSopenharmony_ci */ 20561847f8eSopenharmony_ci /** 20661847f8eSopenharmony_ci * Overflow mode of the font. 20761847f8eSopenharmony_ci * 20861847f8eSopenharmony_ci * @type { ?(number | TextOverflow) } 20961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 21061847f8eSopenharmony_ci * @crossplatform 21161847f8eSopenharmony_ci * @atomicservice 21261847f8eSopenharmony_ci * @since 12 21361847f8eSopenharmony_ci */ 21461847f8eSopenharmony_ci overflow?: number | TextOverflow; 21561847f8eSopenharmony_ci 21661847f8eSopenharmony_ci /** 21761847f8eSopenharmony_ci * Maximum number of lines of text. 21861847f8eSopenharmony_ci * 21961847f8eSopenharmony_ci * @type { ?number } 22061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 22161847f8eSopenharmony_ci * @since 10 22261847f8eSopenharmony_ci */ 22361847f8eSopenharmony_ci /** 22461847f8eSopenharmony_ci * Maximum number of lines of text. 22561847f8eSopenharmony_ci * 22661847f8eSopenharmony_ci * @type { ?number } 22761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 22861847f8eSopenharmony_ci * @crossplatform 22961847f8eSopenharmony_ci * @atomicservice 23061847f8eSopenharmony_ci * @since 12 23161847f8eSopenharmony_ci */ 23261847f8eSopenharmony_ci maxLines?: number; 23361847f8eSopenharmony_ci 23461847f8eSopenharmony_ci /** 23561847f8eSopenharmony_ci * Vertical center mode of the font. 23661847f8eSopenharmony_ci * 23761847f8eSopenharmony_ci * @type { ?(number | string | Resource) } 23861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 23961847f8eSopenharmony_ci * @since 10 24061847f8eSopenharmony_ci */ 24161847f8eSopenharmony_ci /** 24261847f8eSopenharmony_ci * Vertical center mode of the font. 24361847f8eSopenharmony_ci * 24461847f8eSopenharmony_ci * @type { ?(number | string | Resource) } 24561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 24661847f8eSopenharmony_ci * @crossplatform 24761847f8eSopenharmony_ci * @atomicservice 24861847f8eSopenharmony_ci * @since 12 24961847f8eSopenharmony_ci */ 25061847f8eSopenharmony_ci lineHeight?: number | string | Resource; 25161847f8eSopenharmony_ci 25261847f8eSopenharmony_ci /** 25361847f8eSopenharmony_ci * Baseline offset. 25461847f8eSopenharmony_ci * 25561847f8eSopenharmony_ci * @type { ?(number | string) } 25661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 25761847f8eSopenharmony_ci * @since 10 25861847f8eSopenharmony_ci */ 25961847f8eSopenharmony_ci /** 26061847f8eSopenharmony_ci * Baseline offset. 26161847f8eSopenharmony_ci * 26261847f8eSopenharmony_ci * @type { ?(number | string) } 26361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 26461847f8eSopenharmony_ci * @crossplatform 26561847f8eSopenharmony_ci * @atomicservice 26661847f8eSopenharmony_ci * @since 12 26761847f8eSopenharmony_ci */ 26861847f8eSopenharmony_ci baselineOffset?: number | string; 26961847f8eSopenharmony_ci 27061847f8eSopenharmony_ci /** 27161847f8eSopenharmony_ci * Type of letter in the text font 27261847f8eSopenharmony_ci * 27361847f8eSopenharmony_ci * @type { ?(number | TextCase) } 27461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 27561847f8eSopenharmony_ci * @since 10 27661847f8eSopenharmony_ci */ 27761847f8eSopenharmony_ci /** 27861847f8eSopenharmony_ci * Type of letter in the text font 27961847f8eSopenharmony_ci * 28061847f8eSopenharmony_ci * @type { ?(number | TextCase) } 28161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 28261847f8eSopenharmony_ci * @crossplatform 28361847f8eSopenharmony_ci * @atomicservice 28461847f8eSopenharmony_ci * @since 12 28561847f8eSopenharmony_ci */ 28661847f8eSopenharmony_ci textCase?: number | TextCase; 28761847f8eSopenharmony_ci 28861847f8eSopenharmony_ci /** 28961847f8eSopenharmony_ci * Specify the indentation of the first line in a text-block. 29061847f8eSopenharmony_ci * 29161847f8eSopenharmony_ci * @type { ?(number | string) } 29261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 29361847f8eSopenharmony_ci * @crossplatform 29461847f8eSopenharmony_ci * @since 11 29561847f8eSopenharmony_ci */ 29661847f8eSopenharmony_ci /** 29761847f8eSopenharmony_ci * Specify the indentation of the first line in a text-block. 29861847f8eSopenharmony_ci * 29961847f8eSopenharmony_ci * @type { ?(number | string) } 30061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 30161847f8eSopenharmony_ci * @crossplatform 30261847f8eSopenharmony_ci * @atomicservice 30361847f8eSopenharmony_ci * @since 12 30461847f8eSopenharmony_ci */ 30561847f8eSopenharmony_ci textIndent?: number | string; 30661847f8eSopenharmony_ci 30761847f8eSopenharmony_ci /** 30861847f8eSopenharmony_ci * Set the word break type. 30961847f8eSopenharmony_ci * 31061847f8eSopenharmony_ci * @type { ?WordBreak } 31161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 31261847f8eSopenharmony_ci * @crossplatform 31361847f8eSopenharmony_ci * @since 11 31461847f8eSopenharmony_ci */ 31561847f8eSopenharmony_ci /** 31661847f8eSopenharmony_ci * Set the word break type. 31761847f8eSopenharmony_ci * 31861847f8eSopenharmony_ci * @type { ?WordBreak } 31961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 32061847f8eSopenharmony_ci * @crossplatform 32161847f8eSopenharmony_ci * @atomicservice 32261847f8eSopenharmony_ci * @since 12 32361847f8eSopenharmony_ci */ 32461847f8eSopenharmony_ci wordBreak?: WordBreak; 32561847f8eSopenharmony_ci} 32661847f8eSopenharmony_ci 32761847f8eSopenharmony_ci/** 32861847f8eSopenharmony_ci * Defines the Measure interface. 32961847f8eSopenharmony_ci * 33061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 33161847f8eSopenharmony_ci * @since 9 33261847f8eSopenharmony_ci */ 33361847f8eSopenharmony_ci/** 33461847f8eSopenharmony_ci * Defines the Measure interface. 33561847f8eSopenharmony_ci * 33661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 33761847f8eSopenharmony_ci * @crossplatform 33861847f8eSopenharmony_ci * @atomicservice 33961847f8eSopenharmony_ci * @since 12 34061847f8eSopenharmony_ci */ 34161847f8eSopenharmony_ciexport default class MeasureText { 34261847f8eSopenharmony_ci /** 34361847f8eSopenharmony_ci * Displays the textWidth. 34461847f8eSopenharmony_ci * 34561847f8eSopenharmony_ci * @param { MeasureOptions } options - Options. 34661847f8eSopenharmony_ci * @returns { number } 34761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 34861847f8eSopenharmony_ci * @since 9 34961847f8eSopenharmony_ci */ 35061847f8eSopenharmony_ci /** 35161847f8eSopenharmony_ci * Displays the textWidth. 35261847f8eSopenharmony_ci * 35361847f8eSopenharmony_ci * @param { MeasureOptions } options - Options. 35461847f8eSopenharmony_ci * @returns { number } 35561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 35661847f8eSopenharmony_ci * @crossplatform 35761847f8eSopenharmony_ci * @since 11 35861847f8eSopenharmony_ci */ 35961847f8eSopenharmony_ci /** 36061847f8eSopenharmony_ci * Displays the textWidth. 36161847f8eSopenharmony_ci * 36261847f8eSopenharmony_ci * @param { MeasureOptions } options - Options. 36361847f8eSopenharmony_ci * @returns { number } 36461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 36561847f8eSopenharmony_ci * @crossplatform 36661847f8eSopenharmony_ci * @atomicservice 36761847f8eSopenharmony_ci * @since 12 36861847f8eSopenharmony_ci */ 36961847f8eSopenharmony_ci static measureText(options: MeasureOptions): number; 37061847f8eSopenharmony_ci 37161847f8eSopenharmony_ci /** 37261847f8eSopenharmony_ci * Displays the text width and height. 37361847f8eSopenharmony_ci * 37461847f8eSopenharmony_ci * @param { MeasureOptions } options - Options of measure area occupied by text. 37561847f8eSopenharmony_ci * @returns { SizeOptions } width and height for text to display \ 37661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 37761847f8eSopenharmony_ci * @since 10 37861847f8eSopenharmony_ci */ 37961847f8eSopenharmony_ci /** 38061847f8eSopenharmony_ci * Displays the text width and height. 38161847f8eSopenharmony_ci * 38261847f8eSopenharmony_ci * @param { MeasureOptions } options - Options of measure area occupied by text. 38361847f8eSopenharmony_ci * @returns { SizeOptions } width and height for text to display \ 38461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 38561847f8eSopenharmony_ci * @crossplatform 38661847f8eSopenharmony_ci * @since 11 38761847f8eSopenharmony_ci */ 38861847f8eSopenharmony_ci /** 38961847f8eSopenharmony_ci * Displays the text width and height. 39061847f8eSopenharmony_ci * 39161847f8eSopenharmony_ci * @param { MeasureOptions } options - Options of measure area occupied by text. 39261847f8eSopenharmony_ci * @returns { SizeOptions } width and height for text to display \ 39361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 39461847f8eSopenharmony_ci * @crossplatform 39561847f8eSopenharmony_ci * @atomicservice 39661847f8eSopenharmony_ci * @since 12 39761847f8eSopenharmony_ci */ 39861847f8eSopenharmony_ci static measureTextSize(options: MeasureOptions): SizeOptions; 39961847f8eSopenharmony_ci} 400