161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2020-2023 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 * Used to do matrix operations 2361847f8eSopenharmony_ci * 2461847f8eSopenharmony_ci * @namespace matrix4 2561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 2661847f8eSopenharmony_ci * @since 7 2761847f8eSopenharmony_ci */ 2861847f8eSopenharmony_ci/** 2961847f8eSopenharmony_ci * Used to do matrix operations 3061847f8eSopenharmony_ci * 3161847f8eSopenharmony_ci * @namespace matrix4 3261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 3361847f8eSopenharmony_ci * @crossplatform 3461847f8eSopenharmony_ci * @since 10 3561847f8eSopenharmony_ci */ 3661847f8eSopenharmony_ci/** 3761847f8eSopenharmony_ci * Used to do matrix operations 3861847f8eSopenharmony_ci * 3961847f8eSopenharmony_ci * @namespace matrix4 4061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 4161847f8eSopenharmony_ci * @crossplatform 4261847f8eSopenharmony_ci * @atomicservice 4361847f8eSopenharmony_ci * @since 11 4461847f8eSopenharmony_ci */ 4561847f8eSopenharmony_cideclare namespace matrix4 { 4661847f8eSopenharmony_ci /** 4761847f8eSopenharmony_ci * Set translation parameters 4861847f8eSopenharmony_ci * 4961847f8eSopenharmony_ci * @interface TranslateOption 5061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 5161847f8eSopenharmony_ci * @since 7 5261847f8eSopenharmony_ci */ 5361847f8eSopenharmony_ci /** 5461847f8eSopenharmony_ci * Set translation parameters 5561847f8eSopenharmony_ci * 5661847f8eSopenharmony_ci * @interface TranslateOption 5761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 5861847f8eSopenharmony_ci * @crossplatform 5961847f8eSopenharmony_ci * @since 10 6061847f8eSopenharmony_ci */ 6161847f8eSopenharmony_ci /** 6261847f8eSopenharmony_ci * Set translation parameters 6361847f8eSopenharmony_ci * 6461847f8eSopenharmony_ci * @interface TranslateOption 6561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 6661847f8eSopenharmony_ci * @crossplatform 6761847f8eSopenharmony_ci * @atomicservice 6861847f8eSopenharmony_ci * @since 11 6961847f8eSopenharmony_ci */ 7061847f8eSopenharmony_ci interface TranslateOption { 7161847f8eSopenharmony_ci /** 7261847f8eSopenharmony_ci * Indicates the translation distance of the x-axis, in px. 7361847f8eSopenharmony_ci * 7461847f8eSopenharmony_ci * @type { ?number } 7561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 7661847f8eSopenharmony_ci * @since 7 7761847f8eSopenharmony_ci */ 7861847f8eSopenharmony_ci /** 7961847f8eSopenharmony_ci * Indicates the translation distance of the x-axis, in px. 8061847f8eSopenharmony_ci * 8161847f8eSopenharmony_ci * @type { ?number } 8261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 8361847f8eSopenharmony_ci * @crossplatform 8461847f8eSopenharmony_ci * @since 10 8561847f8eSopenharmony_ci */ 8661847f8eSopenharmony_ci /** 8761847f8eSopenharmony_ci * Indicates the translation distance of the x-axis, in px. 8861847f8eSopenharmony_ci * 8961847f8eSopenharmony_ci * @type { ?number } 9061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 9161847f8eSopenharmony_ci * @crossplatform 9261847f8eSopenharmony_ci * @atomicservice 9361847f8eSopenharmony_ci * @since 11 9461847f8eSopenharmony_ci */ 9561847f8eSopenharmony_ci x?: number; 9661847f8eSopenharmony_ci 9761847f8eSopenharmony_ci /** 9861847f8eSopenharmony_ci * Indicates the translation distance of the y-axis, in px. 9961847f8eSopenharmony_ci * 10061847f8eSopenharmony_ci * @type { ?number } 10161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 10261847f8eSopenharmony_ci * @since 7 10361847f8eSopenharmony_ci */ 10461847f8eSopenharmony_ci /** 10561847f8eSopenharmony_ci * Indicates the translation distance of the y-axis, in px. 10661847f8eSopenharmony_ci * 10761847f8eSopenharmony_ci * @type { ?number } 10861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 10961847f8eSopenharmony_ci * @crossplatform 11061847f8eSopenharmony_ci * @since 10 11161847f8eSopenharmony_ci */ 11261847f8eSopenharmony_ci /** 11361847f8eSopenharmony_ci * Indicates the translation distance of the y-axis, in px. 11461847f8eSopenharmony_ci * 11561847f8eSopenharmony_ci * @type { ?number } 11661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 11761847f8eSopenharmony_ci * @crossplatform 11861847f8eSopenharmony_ci * @atomicservice 11961847f8eSopenharmony_ci * @since 11 12061847f8eSopenharmony_ci */ 12161847f8eSopenharmony_ci y?: number; 12261847f8eSopenharmony_ci 12361847f8eSopenharmony_ci /** 12461847f8eSopenharmony_ci * Indicates the translation distance of the z-axis, in px. 12561847f8eSopenharmony_ci * 12661847f8eSopenharmony_ci * @type { ?number } 12761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 12861847f8eSopenharmony_ci * @since 7 12961847f8eSopenharmony_ci */ 13061847f8eSopenharmony_ci /** 13161847f8eSopenharmony_ci * Indicates the translation distance of the z-axis, in px. 13261847f8eSopenharmony_ci * 13361847f8eSopenharmony_ci * @type { ?number } 13461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 13561847f8eSopenharmony_ci * @crossplatform 13661847f8eSopenharmony_ci * @since 10 13761847f8eSopenharmony_ci */ 13861847f8eSopenharmony_ci /** 13961847f8eSopenharmony_ci * Indicates the translation distance of the z-axis, in px. 14061847f8eSopenharmony_ci * 14161847f8eSopenharmony_ci * @type { ?number } 14261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 14361847f8eSopenharmony_ci * @crossplatform 14461847f8eSopenharmony_ci * @atomicservice 14561847f8eSopenharmony_ci * @since 11 14661847f8eSopenharmony_ci */ 14761847f8eSopenharmony_ci z?: number; 14861847f8eSopenharmony_ci } 14961847f8eSopenharmony_ci 15061847f8eSopenharmony_ci /** 15161847f8eSopenharmony_ci * Set scaling parameters 15261847f8eSopenharmony_ci * 15361847f8eSopenharmony_ci * @interface ScaleOption 15461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 15561847f8eSopenharmony_ci * @since 7 15661847f8eSopenharmony_ci */ 15761847f8eSopenharmony_ci /** 15861847f8eSopenharmony_ci * Set scaling parameters 15961847f8eSopenharmony_ci * 16061847f8eSopenharmony_ci * @interface ScaleOption 16161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 16261847f8eSopenharmony_ci * @crossplatform 16361847f8eSopenharmony_ci * @since 10 16461847f8eSopenharmony_ci */ 16561847f8eSopenharmony_ci /** 16661847f8eSopenharmony_ci * Set scaling parameters 16761847f8eSopenharmony_ci * 16861847f8eSopenharmony_ci * @interface ScaleOption 16961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 17061847f8eSopenharmony_ci * @crossplatform 17161847f8eSopenharmony_ci * @atomicservice 17261847f8eSopenharmony_ci * @since 11 17361847f8eSopenharmony_ci */ 17461847f8eSopenharmony_ci interface ScaleOption { 17561847f8eSopenharmony_ci /** 17661847f8eSopenharmony_ci * Zoom factor of the x-axis. 17761847f8eSopenharmony_ci * 17861847f8eSopenharmony_ci * @type { ?number } 17961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 18061847f8eSopenharmony_ci * @since 7 18161847f8eSopenharmony_ci */ 18261847f8eSopenharmony_ci /** 18361847f8eSopenharmony_ci * Zoom factor of the x-axis. 18461847f8eSopenharmony_ci * 18561847f8eSopenharmony_ci * @type { ?number } 18661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 18761847f8eSopenharmony_ci * @crossplatform 18861847f8eSopenharmony_ci * @since 10 18961847f8eSopenharmony_ci */ 19061847f8eSopenharmony_ci /** 19161847f8eSopenharmony_ci * Zoom factor of the x-axis. 19261847f8eSopenharmony_ci * 19361847f8eSopenharmony_ci * @type { ?number } 19461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 19561847f8eSopenharmony_ci * @crossplatform 19661847f8eSopenharmony_ci * @atomicservice 19761847f8eSopenharmony_ci * @since 11 19861847f8eSopenharmony_ci */ 19961847f8eSopenharmony_ci x?: number; 20061847f8eSopenharmony_ci 20161847f8eSopenharmony_ci /** 20261847f8eSopenharmony_ci * Zoom factor of the y-axis. 20361847f8eSopenharmony_ci * 20461847f8eSopenharmony_ci * @type { ?number } 20561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 20661847f8eSopenharmony_ci * @since 7 20761847f8eSopenharmony_ci */ 20861847f8eSopenharmony_ci /** 20961847f8eSopenharmony_ci * Zoom factor of the y-axis. 21061847f8eSopenharmony_ci * 21161847f8eSopenharmony_ci * @type { ?number } 21261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 21361847f8eSopenharmony_ci * @crossplatform 21461847f8eSopenharmony_ci * @since 10 21561847f8eSopenharmony_ci */ 21661847f8eSopenharmony_ci /** 21761847f8eSopenharmony_ci * Zoom factor of the y-axis. 21861847f8eSopenharmony_ci * 21961847f8eSopenharmony_ci * @type { ?number } 22061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 22161847f8eSopenharmony_ci * @crossplatform 22261847f8eSopenharmony_ci * @atomicservice 22361847f8eSopenharmony_ci * @since 11 22461847f8eSopenharmony_ci */ 22561847f8eSopenharmony_ci y?: number; 22661847f8eSopenharmony_ci 22761847f8eSopenharmony_ci /** 22861847f8eSopenharmony_ci * Zoom factor of the z-axis. 22961847f8eSopenharmony_ci * 23061847f8eSopenharmony_ci * @type { ?number } 23161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 23261847f8eSopenharmony_ci * @since 7 23361847f8eSopenharmony_ci */ 23461847f8eSopenharmony_ci /** 23561847f8eSopenharmony_ci * Zoom factor of the z-axis. 23661847f8eSopenharmony_ci * 23761847f8eSopenharmony_ci * @type { ?number } 23861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 23961847f8eSopenharmony_ci * @crossplatform 24061847f8eSopenharmony_ci * @since 10 24161847f8eSopenharmony_ci */ 24261847f8eSopenharmony_ci /** 24361847f8eSopenharmony_ci * Zoom factor of the z-axis. 24461847f8eSopenharmony_ci * 24561847f8eSopenharmony_ci * @type { ?number } 24661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 24761847f8eSopenharmony_ci * @crossplatform 24861847f8eSopenharmony_ci * @atomicservice 24961847f8eSopenharmony_ci * @since 11 25061847f8eSopenharmony_ci */ 25161847f8eSopenharmony_ci z?: number; 25261847f8eSopenharmony_ci 25361847f8eSopenharmony_ci /** 25461847f8eSopenharmony_ci * Transform the x-axis coordinate of the center point. 25561847f8eSopenharmony_ci * 25661847f8eSopenharmony_ci * @type { ?number } 25761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 25861847f8eSopenharmony_ci * @since 7 25961847f8eSopenharmony_ci */ 26061847f8eSopenharmony_ci /** 26161847f8eSopenharmony_ci * Transform the x-axis coordinate of the center point. 26261847f8eSopenharmony_ci * 26361847f8eSopenharmony_ci * @type { ?number } 26461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 26561847f8eSopenharmony_ci * @crossplatform 26661847f8eSopenharmony_ci * @since 10 26761847f8eSopenharmony_ci */ 26861847f8eSopenharmony_ci /** 26961847f8eSopenharmony_ci * Transform the x-axis coordinate of the center point. 27061847f8eSopenharmony_ci * 27161847f8eSopenharmony_ci * @type { ?number } 27261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 27361847f8eSopenharmony_ci * @crossplatform 27461847f8eSopenharmony_ci * @atomicservice 27561847f8eSopenharmony_ci * @since 11 27661847f8eSopenharmony_ci */ 27761847f8eSopenharmony_ci centerX?: number; 27861847f8eSopenharmony_ci 27961847f8eSopenharmony_ci /** 28061847f8eSopenharmony_ci * Transform the y-axis coordinate of the center point. 28161847f8eSopenharmony_ci * 28261847f8eSopenharmony_ci * @type { ?number } 28361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 28461847f8eSopenharmony_ci * @since 7 28561847f8eSopenharmony_ci */ 28661847f8eSopenharmony_ci /** 28761847f8eSopenharmony_ci * Transform the y-axis coordinate of the center point. 28861847f8eSopenharmony_ci * 28961847f8eSopenharmony_ci * @type { ?number } 29061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 29161847f8eSopenharmony_ci * @crossplatform 29261847f8eSopenharmony_ci * @since 10 29361847f8eSopenharmony_ci */ 29461847f8eSopenharmony_ci /** 29561847f8eSopenharmony_ci * Transform the y-axis coordinate of the center point. 29661847f8eSopenharmony_ci * 29761847f8eSopenharmony_ci * @type { ?number } 29861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 29961847f8eSopenharmony_ci * @crossplatform 30061847f8eSopenharmony_ci * @atomicservice 30161847f8eSopenharmony_ci * @since 11 30261847f8eSopenharmony_ci */ 30361847f8eSopenharmony_ci centerY?: number; 30461847f8eSopenharmony_ci } 30561847f8eSopenharmony_ci 30661847f8eSopenharmony_ci /** 30761847f8eSopenharmony_ci * Set Rotation Parameters. 30861847f8eSopenharmony_ci * 30961847f8eSopenharmony_ci * @interface RotateOption 31061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 31161847f8eSopenharmony_ci * @since 7 31261847f8eSopenharmony_ci */ 31361847f8eSopenharmony_ci /** 31461847f8eSopenharmony_ci * Set Rotation Parameters. 31561847f8eSopenharmony_ci * 31661847f8eSopenharmony_ci * @interface RotateOption 31761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 31861847f8eSopenharmony_ci * @crossplatform 31961847f8eSopenharmony_ci * @since 10 32061847f8eSopenharmony_ci */ 32161847f8eSopenharmony_ci /** 32261847f8eSopenharmony_ci * Set Rotation Parameters. 32361847f8eSopenharmony_ci * 32461847f8eSopenharmony_ci * @interface RotateOption 32561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 32661847f8eSopenharmony_ci * @crossplatform 32761847f8eSopenharmony_ci * @atomicservice 32861847f8eSopenharmony_ci * @since 11 32961847f8eSopenharmony_ci */ 33061847f8eSopenharmony_ci interface RotateOption { 33161847f8eSopenharmony_ci /** 33261847f8eSopenharmony_ci * Axis of rotation vector x coordinate. 33361847f8eSopenharmony_ci * 33461847f8eSopenharmony_ci * @type { ?number } 33561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 33661847f8eSopenharmony_ci * @since 7 33761847f8eSopenharmony_ci */ 33861847f8eSopenharmony_ci /** 33961847f8eSopenharmony_ci * Axis of rotation vector x coordinate. 34061847f8eSopenharmony_ci * 34161847f8eSopenharmony_ci * @type { ?number } 34261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 34361847f8eSopenharmony_ci * @crossplatform 34461847f8eSopenharmony_ci * @since 10 34561847f8eSopenharmony_ci */ 34661847f8eSopenharmony_ci /** 34761847f8eSopenharmony_ci * Axis of rotation vector x coordinate. 34861847f8eSopenharmony_ci * 34961847f8eSopenharmony_ci * @type { ?number } 35061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 35161847f8eSopenharmony_ci * @crossplatform 35261847f8eSopenharmony_ci * @atomicservice 35361847f8eSopenharmony_ci * @since 11 35461847f8eSopenharmony_ci */ 35561847f8eSopenharmony_ci x?: number; 35661847f8eSopenharmony_ci 35761847f8eSopenharmony_ci /** 35861847f8eSopenharmony_ci * Axis of rotation vector y coordinate. 35961847f8eSopenharmony_ci * 36061847f8eSopenharmony_ci * @type { ?number } 36161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 36261847f8eSopenharmony_ci * @since 7 36361847f8eSopenharmony_ci */ 36461847f8eSopenharmony_ci /** 36561847f8eSopenharmony_ci * Axis of rotation vector y coordinate. 36661847f8eSopenharmony_ci * 36761847f8eSopenharmony_ci * @type { ?number } 36861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 36961847f8eSopenharmony_ci * @crossplatform 37061847f8eSopenharmony_ci * @since 10 37161847f8eSopenharmony_ci */ 37261847f8eSopenharmony_ci /** 37361847f8eSopenharmony_ci * Axis of rotation vector y coordinate. 37461847f8eSopenharmony_ci * 37561847f8eSopenharmony_ci * @type { ?number } 37661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 37761847f8eSopenharmony_ci * @crossplatform 37861847f8eSopenharmony_ci * @atomicservice 37961847f8eSopenharmony_ci * @since 11 38061847f8eSopenharmony_ci */ 38161847f8eSopenharmony_ci y?: number; 38261847f8eSopenharmony_ci 38361847f8eSopenharmony_ci /** 38461847f8eSopenharmony_ci * Axis of rotation vector z coordinate. 38561847f8eSopenharmony_ci * 38661847f8eSopenharmony_ci * @type { ?number } 38761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 38861847f8eSopenharmony_ci * @since 7 38961847f8eSopenharmony_ci */ 39061847f8eSopenharmony_ci /** 39161847f8eSopenharmony_ci * Axis of rotation vector z coordinate. 39261847f8eSopenharmony_ci * 39361847f8eSopenharmony_ci * @type { ?number } 39461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 39561847f8eSopenharmony_ci * @crossplatform 39661847f8eSopenharmony_ci * @since 10 39761847f8eSopenharmony_ci */ 39861847f8eSopenharmony_ci /** 39961847f8eSopenharmony_ci * Axis of rotation vector z coordinate. 40061847f8eSopenharmony_ci * 40161847f8eSopenharmony_ci * @type { ?number } 40261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 40361847f8eSopenharmony_ci * @crossplatform 40461847f8eSopenharmony_ci * @atomicservice 40561847f8eSopenharmony_ci * @since 11 40661847f8eSopenharmony_ci */ 40761847f8eSopenharmony_ci z?: number; 40861847f8eSopenharmony_ci 40961847f8eSopenharmony_ci /** 41061847f8eSopenharmony_ci * Transform the x-axis coordinate of the center point. 41161847f8eSopenharmony_ci * 41261847f8eSopenharmony_ci * @type { ?number } 41361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 41461847f8eSopenharmony_ci * @since 7 41561847f8eSopenharmony_ci */ 41661847f8eSopenharmony_ci /** 41761847f8eSopenharmony_ci * Transform the x-axis coordinate of the center point. 41861847f8eSopenharmony_ci * 41961847f8eSopenharmony_ci * @type { ?number } 42061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 42161847f8eSopenharmony_ci * @crossplatform 42261847f8eSopenharmony_ci * @since 10 42361847f8eSopenharmony_ci */ 42461847f8eSopenharmony_ci /** 42561847f8eSopenharmony_ci * Transform the x-axis coordinate of the center point. 42661847f8eSopenharmony_ci * 42761847f8eSopenharmony_ci * @type { ?number } 42861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 42961847f8eSopenharmony_ci * @crossplatform 43061847f8eSopenharmony_ci * @atomicservice 43161847f8eSopenharmony_ci * @since 11 43261847f8eSopenharmony_ci */ 43361847f8eSopenharmony_ci centerX?: number; 43461847f8eSopenharmony_ci 43561847f8eSopenharmony_ci /** 43661847f8eSopenharmony_ci * Transform the y-axis coordinate of the center point. 43761847f8eSopenharmony_ci * 43861847f8eSopenharmony_ci * @type { ?number } 43961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 44061847f8eSopenharmony_ci * @since 7 44161847f8eSopenharmony_ci */ 44261847f8eSopenharmony_ci /** 44361847f8eSopenharmony_ci * Transform the y-axis coordinate of the center point. 44461847f8eSopenharmony_ci * 44561847f8eSopenharmony_ci * @type { ?number } 44661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 44761847f8eSopenharmony_ci * @crossplatform 44861847f8eSopenharmony_ci * @since 10 44961847f8eSopenharmony_ci */ 45061847f8eSopenharmony_ci /** 45161847f8eSopenharmony_ci * Transform the y-axis coordinate of the center point. 45261847f8eSopenharmony_ci * 45361847f8eSopenharmony_ci * @type { ?number } 45461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 45561847f8eSopenharmony_ci * @crossplatform 45661847f8eSopenharmony_ci * @atomicservice 45761847f8eSopenharmony_ci * @since 11 45861847f8eSopenharmony_ci */ 45961847f8eSopenharmony_ci centerY?: number; 46061847f8eSopenharmony_ci 46161847f8eSopenharmony_ci /** 46261847f8eSopenharmony_ci * Rotation angle. 46361847f8eSopenharmony_ci * 46461847f8eSopenharmony_ci * @type { ?number } 46561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 46661847f8eSopenharmony_ci * @since 7 46761847f8eSopenharmony_ci */ 46861847f8eSopenharmony_ci /** 46961847f8eSopenharmony_ci * Rotation angle. 47061847f8eSopenharmony_ci * 47161847f8eSopenharmony_ci * @type { ?number } 47261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 47361847f8eSopenharmony_ci * @crossplatform 47461847f8eSopenharmony_ci * @since 10 47561847f8eSopenharmony_ci */ 47661847f8eSopenharmony_ci /** 47761847f8eSopenharmony_ci * Rotation angle. 47861847f8eSopenharmony_ci * 47961847f8eSopenharmony_ci * @type { ?number } 48061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 48161847f8eSopenharmony_ci * @crossplatform 48261847f8eSopenharmony_ci * @atomicservice 48361847f8eSopenharmony_ci * @since 11 48461847f8eSopenharmony_ci */ 48561847f8eSopenharmony_ci angle?: number; 48661847f8eSopenharmony_ci } 48761847f8eSopenharmony_ci 48861847f8eSopenharmony_ci 48961847f8eSopenharmony_ci /** 49061847f8eSopenharmony_ci * Set poly to poly point. 49161847f8eSopenharmony_ci * 49261847f8eSopenharmony_ci * @interface Point 49361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 49461847f8eSopenharmony_ci * @crossplatform 49561847f8eSopenharmony_ci * @atomicservice 49661847f8eSopenharmony_ci * @since 12 49761847f8eSopenharmony_ci */ 49861847f8eSopenharmony_ci export interface Point { 49961847f8eSopenharmony_ci 50061847f8eSopenharmony_ci /** 50161847f8eSopenharmony_ci * Point x. 50261847f8eSopenharmony_ci * 50361847f8eSopenharmony_ci * @type { number } 50461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 50561847f8eSopenharmony_ci * @crossplatform 50661847f8eSopenharmony_ci * @atomicservice 50761847f8eSopenharmony_ci * @since 12 50861847f8eSopenharmony_ci */ 50961847f8eSopenharmony_ci x: number; 51061847f8eSopenharmony_ci 51161847f8eSopenharmony_ci /** 51261847f8eSopenharmony_ci * Point y. 51361847f8eSopenharmony_ci * 51461847f8eSopenharmony_ci * @type { number } 51561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 51661847f8eSopenharmony_ci * @crossplatform 51761847f8eSopenharmony_ci * @atomicservice 51861847f8eSopenharmony_ci * @since 12 51961847f8eSopenharmony_ci */ 52061847f8eSopenharmony_ci y: number; 52161847f8eSopenharmony_ci } 52261847f8eSopenharmony_ci 52361847f8eSopenharmony_ci /** 52461847f8eSopenharmony_ci * Set poly to poly point options. 52561847f8eSopenharmony_ci * 52661847f8eSopenharmony_ci * @interface PolyToPolyOptions 52761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 52861847f8eSopenharmony_ci * @crossplatform 52961847f8eSopenharmony_ci * @atomicservice 53061847f8eSopenharmony_ci * @since 12 53161847f8eSopenharmony_ci */ 53261847f8eSopenharmony_ci export interface PolyToPolyOptions { 53361847f8eSopenharmony_ci 53461847f8eSopenharmony_ci /** 53561847f8eSopenharmony_ci * Array of point coordinates for the source polygon. 53661847f8eSopenharmony_ci * 53761847f8eSopenharmony_ci * @type { Array<Point> } 53861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 53961847f8eSopenharmony_ci * @crossplatform 54061847f8eSopenharmony_ci * @atomicservice 54161847f8eSopenharmony_ci * @since 12 54261847f8eSopenharmony_ci */ 54361847f8eSopenharmony_ci src: Array<Point>; 54461847f8eSopenharmony_ci 54561847f8eSopenharmony_ci /** 54661847f8eSopenharmony_ci * Start point index of the source polygon, which defaults to 0. 54761847f8eSopenharmony_ci * @type { ?number } 54861847f8eSopenharmony_ci * @default 0 54961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 55061847f8eSopenharmony_ci * @crossplatform 55161847f8eSopenharmony_ci * @atomicservice 55261847f8eSopenharmony_ci * @since 12 55361847f8eSopenharmony_ci */ 55461847f8eSopenharmony_ci srcIndex?: number; 55561847f8eSopenharmony_ci 55661847f8eSopenharmony_ci /** 55761847f8eSopenharmony_ci * Array of point coordinates for the target polygon. 55861847f8eSopenharmony_ci * 55961847f8eSopenharmony_ci * @type { Array<Point> } 56061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 56161847f8eSopenharmony_ci * @crossplatform 56261847f8eSopenharmony_ci * @atomicservice 56361847f8eSopenharmony_ci * @since 12 56461847f8eSopenharmony_ci */ 56561847f8eSopenharmony_ci dst:Array<Point>; 56661847f8eSopenharmony_ci 56761847f8eSopenharmony_ci /** 56861847f8eSopenharmony_ci * Start index of the target polygon, which defaults to 0. 56961847f8eSopenharmony_ci * 57061847f8eSopenharmony_ci * @type { ?number } 57161847f8eSopenharmony_ci * @default src.Length/2 57261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 57361847f8eSopenharmony_ci * @crossplatform 57461847f8eSopenharmony_ci * @atomicservice 57561847f8eSopenharmony_ci * @since 12 57661847f8eSopenharmony_ci */ 57761847f8eSopenharmony_ci dstIndex?: number; 57861847f8eSopenharmony_ci 57961847f8eSopenharmony_ci /** 58061847f8eSopenharmony_ci * The number of points to be used. 58161847f8eSopenharmony_ci * If it is 0, it returns the identity matrix. 58261847f8eSopenharmony_ci * If it is 1, it returns a translation matrix that changed before two points. 58361847f8eSopenharmony_ci * If it is 2-4, it returns a transformation matrix. 58461847f8eSopenharmony_ci * @type { ?number } 58561847f8eSopenharmony_ci * @default 0 58661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 58761847f8eSopenharmony_ci * @crossplatform 58861847f8eSopenharmony_ci * @atomicservice 58961847f8eSopenharmony_ci * @since 12 59061847f8eSopenharmony_ci */ 59161847f8eSopenharmony_ci pointCount?:number; 59261847f8eSopenharmony_ci 59361847f8eSopenharmony_ci } 59461847f8eSopenharmony_ci /** 59561847f8eSopenharmony_ci * Matrix4Transit. 59661847f8eSopenharmony_ci * 59761847f8eSopenharmony_ci * @interface Matrix4Transit 59861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 59961847f8eSopenharmony_ci * @since 7 60061847f8eSopenharmony_ci */ 60161847f8eSopenharmony_ci /** 60261847f8eSopenharmony_ci * Matrix4Transit. 60361847f8eSopenharmony_ci * 60461847f8eSopenharmony_ci * @interface Matrix4Transit 60561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 60661847f8eSopenharmony_ci * @crossplatform 60761847f8eSopenharmony_ci * @since 10 60861847f8eSopenharmony_ci */ 60961847f8eSopenharmony_ci /** 61061847f8eSopenharmony_ci * Matrix4Transit. 61161847f8eSopenharmony_ci * 61261847f8eSopenharmony_ci * @interface Matrix4Transit 61361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 61461847f8eSopenharmony_ci * @crossplatform 61561847f8eSopenharmony_ci * @atomicservice 61661847f8eSopenharmony_ci * @since 11 61761847f8eSopenharmony_ci */ 61861847f8eSopenharmony_ci interface Matrix4Transit { 61961847f8eSopenharmony_ci /** 62061847f8eSopenharmony_ci * Copy function of Matrix, which can copy a copy of the current matrix object. 62161847f8eSopenharmony_ci * 62261847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 62361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 62461847f8eSopenharmony_ci * @since 7 62561847f8eSopenharmony_ci */ 62661847f8eSopenharmony_ci /** 62761847f8eSopenharmony_ci * Copy function of Matrix, which can copy a copy of the current matrix object. 62861847f8eSopenharmony_ci * 62961847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 63061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 63161847f8eSopenharmony_ci * @crossplatform 63261847f8eSopenharmony_ci * @since 10 63361847f8eSopenharmony_ci */ 63461847f8eSopenharmony_ci /** 63561847f8eSopenharmony_ci * Copy function of Matrix, which can copy a copy of the current matrix object. 63661847f8eSopenharmony_ci * 63761847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 63861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 63961847f8eSopenharmony_ci * @crossplatform 64061847f8eSopenharmony_ci * @atomicservice 64161847f8eSopenharmony_ci * @since 11 64261847f8eSopenharmony_ci */ 64361847f8eSopenharmony_ci copy(): Matrix4Transit; 64461847f8eSopenharmony_ci 64561847f8eSopenharmony_ci /** 64661847f8eSopenharmony_ci * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite. 64761847f8eSopenharmony_ci * 64861847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 64961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 65061847f8eSopenharmony_ci * @since 7 65161847f8eSopenharmony_ci */ 65261847f8eSopenharmony_ci /** 65361847f8eSopenharmony_ci * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite. 65461847f8eSopenharmony_ci * 65561847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 65661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 65761847f8eSopenharmony_ci * @crossplatform 65861847f8eSopenharmony_ci * @since 10 65961847f8eSopenharmony_ci */ 66061847f8eSopenharmony_ci /** 66161847f8eSopenharmony_ci * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite. 66261847f8eSopenharmony_ci * 66361847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 66461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 66561847f8eSopenharmony_ci * @crossplatform 66661847f8eSopenharmony_ci * @atomicservice 66761847f8eSopenharmony_ci * @since 11 66861847f8eSopenharmony_ci */ 66961847f8eSopenharmony_ci invert(): Matrix4Transit; 67061847f8eSopenharmony_ci 67161847f8eSopenharmony_ci /** 67261847f8eSopenharmony_ci * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object. 67361847f8eSopenharmony_ci * 67461847f8eSopenharmony_ci * @param { Matrix4Transit } options 67561847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 67661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 67761847f8eSopenharmony_ci * @since 7 67861847f8eSopenharmony_ci */ 67961847f8eSopenharmony_ci /** 68061847f8eSopenharmony_ci * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object. 68161847f8eSopenharmony_ci * 68261847f8eSopenharmony_ci * @param { Matrix4Transit } options 68361847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 68461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 68561847f8eSopenharmony_ci * @crossplatform 68661847f8eSopenharmony_ci * @since 10 68761847f8eSopenharmony_ci */ 68861847f8eSopenharmony_ci /** 68961847f8eSopenharmony_ci * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object. 69061847f8eSopenharmony_ci * 69161847f8eSopenharmony_ci * @param { Matrix4Transit } options 69261847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 69361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 69461847f8eSopenharmony_ci * @crossplatform 69561847f8eSopenharmony_ci * @atomicservice 69661847f8eSopenharmony_ci * @since 11 69761847f8eSopenharmony_ci */ 69861847f8eSopenharmony_ci combine(options: Matrix4Transit): Matrix4Transit; 69961847f8eSopenharmony_ci 70061847f8eSopenharmony_ci /** 70161847f8eSopenharmony_ci * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix. 70261847f8eSopenharmony_ci * 70361847f8eSopenharmony_ci * @param { TranslateOption } options 70461847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 70561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 70661847f8eSopenharmony_ci * @since 7 70761847f8eSopenharmony_ci */ 70861847f8eSopenharmony_ci /** 70961847f8eSopenharmony_ci * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix. 71061847f8eSopenharmony_ci * 71161847f8eSopenharmony_ci * @param { TranslateOption } options 71261847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 71361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 71461847f8eSopenharmony_ci * @crossplatform 71561847f8eSopenharmony_ci * @since 10 71661847f8eSopenharmony_ci */ 71761847f8eSopenharmony_ci /** 71861847f8eSopenharmony_ci * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix. 71961847f8eSopenharmony_ci * 72061847f8eSopenharmony_ci * @param { TranslateOption } options 72161847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 72261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 72361847f8eSopenharmony_ci * @crossplatform 72461847f8eSopenharmony_ci * @atomicservice 72561847f8eSopenharmony_ci * @since 11 72661847f8eSopenharmony_ci */ 72761847f8eSopenharmony_ci translate(options: TranslateOption): Matrix4Transit; 72861847f8eSopenharmony_ci 72961847f8eSopenharmony_ci /** 73061847f8eSopenharmony_ci * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix. 73161847f8eSopenharmony_ci * 73261847f8eSopenharmony_ci * @param { ScaleOption } options 73361847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 73461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 73561847f8eSopenharmony_ci * @since 7 73661847f8eSopenharmony_ci */ 73761847f8eSopenharmony_ci /** 73861847f8eSopenharmony_ci * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix. 73961847f8eSopenharmony_ci * 74061847f8eSopenharmony_ci * @param { ScaleOption } options 74161847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 74261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 74361847f8eSopenharmony_ci * @crossplatform 74461847f8eSopenharmony_ci * @since 10 74561847f8eSopenharmony_ci */ 74661847f8eSopenharmony_ci /** 74761847f8eSopenharmony_ci * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix. 74861847f8eSopenharmony_ci * 74961847f8eSopenharmony_ci * @param { ScaleOption } options 75061847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 75161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 75261847f8eSopenharmony_ci * @crossplatform 75361847f8eSopenharmony_ci * @atomicservice 75461847f8eSopenharmony_ci * @since 11 75561847f8eSopenharmony_ci */ 75661847f8eSopenharmony_ci scale(options: ScaleOption): Matrix4Transit; 75761847f8eSopenharmony_ci 75861847f8eSopenharmony_ci /** 75961847f8eSopenharmony_ci * Skew function of the Matrix, which can add the x-axis, y-axis skew effect to the current matrix. 76061847f8eSopenharmony_ci * Skew function takes a generic point with coordinates (x0, y0, z0) to the point (x0 + x*y0, y0 + y*x0, z0), 76161847f8eSopenharmony_ci * where x, y are fixed parameters, called the shear factors. 76261847f8eSopenharmony_ci * 76361847f8eSopenharmony_ci * @param { number } x - the shear factor of x-axis. 76461847f8eSopenharmony_ci * @param { number } y - the shear factor of y-axis. 76561847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 76661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 76761847f8eSopenharmony_ci * @crossplatform 76861847f8eSopenharmony_ci * @atomicservice 76961847f8eSopenharmony_ci * @since 12 77061847f8eSopenharmony_ci */ 77161847f8eSopenharmony_ci skew(x: number, y: number): Matrix4Transit; 77261847f8eSopenharmony_ci 77361847f8eSopenharmony_ci /** 77461847f8eSopenharmony_ci * Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix. 77561847f8eSopenharmony_ci * 77661847f8eSopenharmony_ci * @param { RotateOption } options 77761847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 77861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 77961847f8eSopenharmony_ci * @since 7 78061847f8eSopenharmony_ci */ 78161847f8eSopenharmony_ci /** 78261847f8eSopenharmony_ci * Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix. 78361847f8eSopenharmony_ci * 78461847f8eSopenharmony_ci * @param { RotateOption } options 78561847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 78661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 78761847f8eSopenharmony_ci * @crossplatform 78861847f8eSopenharmony_ci * @since 10 78961847f8eSopenharmony_ci */ 79061847f8eSopenharmony_ci /** 79161847f8eSopenharmony_ci * Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix. 79261847f8eSopenharmony_ci * 79361847f8eSopenharmony_ci * @param { RotateOption } options 79461847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 79561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 79661847f8eSopenharmony_ci * @crossplatform 79761847f8eSopenharmony_ci * @atomicservice 79861847f8eSopenharmony_ci * @since 11 79961847f8eSopenharmony_ci */ 80061847f8eSopenharmony_ci rotate(options: RotateOption): Matrix4Transit; 80161847f8eSopenharmony_ci 80261847f8eSopenharmony_ci /** 80361847f8eSopenharmony_ci * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point. 80461847f8eSopenharmony_ci * 80561847f8eSopenharmony_ci * @param { [number, number] } options 80661847f8eSopenharmony_ci * @returns { [number, number] } Return to Matrix4Transit 80761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 80861847f8eSopenharmony_ci * @since 7 80961847f8eSopenharmony_ci */ 81061847f8eSopenharmony_ci /** 81161847f8eSopenharmony_ci * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point. 81261847f8eSopenharmony_ci * 81361847f8eSopenharmony_ci * @param { [number, number] } options 81461847f8eSopenharmony_ci * @returns { [number, number] } Return to Matrix4Transit 81561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 81661847f8eSopenharmony_ci * @crossplatform 81761847f8eSopenharmony_ci * @since 10 81861847f8eSopenharmony_ci */ 81961847f8eSopenharmony_ci /** 82061847f8eSopenharmony_ci * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point. 82161847f8eSopenharmony_ci * 82261847f8eSopenharmony_ci * @param { [number, number] } options 82361847f8eSopenharmony_ci * @returns { [number, number] } Return to Matrix4Transit 82461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 82561847f8eSopenharmony_ci * @crossplatform 82661847f8eSopenharmony_ci * @atomicservice 82761847f8eSopenharmony_ci * @since 11 82861847f8eSopenharmony_ci */ 82961847f8eSopenharmony_ci transformPoint(options: [number, number]): [number, number]; 83061847f8eSopenharmony_ci 83161847f8eSopenharmony_ci /** 83261847f8eSopenharmony_ci * Sets matrix to map src to dst. 83361847f8eSopenharmony_ci * 83461847f8eSopenharmony_ci * @param { PolyToPolyOptions } options - polyToPoly options 83561847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 83661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 83761847f8eSopenharmony_ci * @crossplatform 83861847f8eSopenharmony_ci * @atomicservice 83961847f8eSopenharmony_ci * @since 12 84061847f8eSopenharmony_ci */ 84161847f8eSopenharmony_ci setPolyToPoly(options: PolyToPolyOptions): Matrix4Transit 84261847f8eSopenharmony_ci 84361847f8eSopenharmony_ci } 84461847f8eSopenharmony_ci 84561847f8eSopenharmony_ci /** 84661847f8eSopenharmony_ci * Constructor of Matrix, which can create a fourth-order matrix based on the input parameters. The matrix is column-first. 84761847f8eSopenharmony_ci * 84861847f8eSopenharmony_ci * @param { [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number] } options 84961847f8eSopenharmony_ci * options indicates a fourth-order matrix 85061847f8eSopenharmony_ci * The default value: 85161847f8eSopenharmony_ci * [1, 0, 0, 0, 85261847f8eSopenharmony_ci * 0, 1, 0, 0, 85361847f8eSopenharmony_ci * 0, 0, 1, 0, 85461847f8eSopenharmony_ci * 0, 0, 0, 1] 85561847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 85661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 85761847f8eSopenharmony_ci * @since 7 85861847f8eSopenharmony_ci */ 85961847f8eSopenharmony_ci /** 86061847f8eSopenharmony_ci * Constructor of Matrix, which can create a fourth-order matrix based on the input parameters. The matrix is column-first. 86161847f8eSopenharmony_ci * 86261847f8eSopenharmony_ci * @param { [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number] } options 86361847f8eSopenharmony_ci * options indicates a fourth-order matrix 86461847f8eSopenharmony_ci * The default value: 86561847f8eSopenharmony_ci * [1, 0, 0, 0, 86661847f8eSopenharmony_ci * 0, 1, 0, 0, 86761847f8eSopenharmony_ci * 0, 0, 1, 0, 86861847f8eSopenharmony_ci * 0, 0, 0, 1] 86961847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 87061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 87161847f8eSopenharmony_ci * @crossplatform 87261847f8eSopenharmony_ci * @since 10 87361847f8eSopenharmony_ci */ 87461847f8eSopenharmony_ci /** 87561847f8eSopenharmony_ci * Constructor of Matrix, which can create a fourth-order matrix based on the input parameters. The matrix is column-first. 87661847f8eSopenharmony_ci * 87761847f8eSopenharmony_ci * @param { [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number] } options 87861847f8eSopenharmony_ci * options indicates a fourth-order matrix 87961847f8eSopenharmony_ci * The default value: 88061847f8eSopenharmony_ci * [1, 0, 0, 0, 88161847f8eSopenharmony_ci * 0, 1, 0, 0, 88261847f8eSopenharmony_ci * 0, 0, 1, 0, 88361847f8eSopenharmony_ci * 0, 0, 0, 1] 88461847f8eSopenharmony_ci * Fourth-order matrix notes: 88561847f8eSopenharmony_ci * m00 { number } -The x-axis scale value, the identity matrix defaults to 1. 88661847f8eSopenharmony_ci * m01 { number } -The second value, the rotation of the xyz axis affects this value. 88761847f8eSopenharmony_ci * m02 { number } -The third value, the rotation of the xyz axis affects this value. 88861847f8eSopenharmony_ci * m03 { number } -Meaningless. 88961847f8eSopenharmony_ci * m10 { number } -The fifth value, the rotation of the xyz axis affects this value. 89061847f8eSopenharmony_ci * m11 { number } -The y-axis scales the value, and the identity matrix defaults to 1. 89161847f8eSopenharmony_ci * m12 { number } -The 7th value, the rotation of the xyz axis affects this value. 89261847f8eSopenharmony_ci * m13 { number } -Meaningless. 89361847f8eSopenharmony_ci * m20 { number } -The 9th value, the rotation of the xyz axis affects this value. 89461847f8eSopenharmony_ci * m21 { number } -The 10th value, xyz axis rotation affects this value. 89561847f8eSopenharmony_ci * m22 { number } -The z-axis scale value, the identity matrix defaults to 1. 89661847f8eSopenharmony_ci * m23 { number } -Meaningless. 89761847f8eSopenharmony_ci * m30 { number } -The x-axis translation value in px, the identity matrix defaults to 0. 89861847f8eSopenharmony_ci * m31 { number } -Y-axis translation value, in px, the identity matrix defaults to 0. 89961847f8eSopenharmony_ci * m32 { number } -The z-axis translation value in px, the identity matrix defaults to 0. 90061847f8eSopenharmony_ci * m33 { number } -It takes effect in homogeneous coordinates to produce a perspective projection effect. 90161847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 90261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 90361847f8eSopenharmony_ci * @crossplatform 90461847f8eSopenharmony_ci * @atomicservice 90561847f8eSopenharmony_ci * @since 11 90661847f8eSopenharmony_ci */ 90761847f8eSopenharmony_ci /** 90861847f8eSopenharmony_ci * Constructor of Matrix, which can create a fourth-order matrix based on the input parameters. The matrix is column-first. 90961847f8eSopenharmony_ci * 91061847f8eSopenharmony_ci * @param { [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number] } options 91161847f8eSopenharmony_ci * options indicates a fourth-order matrix 91261847f8eSopenharmony_ci * The default value: 91361847f8eSopenharmony_ci * [1, 0, 0, 0, 91461847f8eSopenharmony_ci * 0, 1, 0, 0, 91561847f8eSopenharmony_ci * 0, 0, 1, 0, 91661847f8eSopenharmony_ci * 0, 0, 0, 1] 91761847f8eSopenharmony_ci * Fourth-order matrix notes: 91861847f8eSopenharmony_ci * m00 { number } -The x-axis scale value, the identity matrix defaults to 1. 91961847f8eSopenharmony_ci * m01 { number } -The second value, the rotation and skew of the xyz axis affects this value. 92061847f8eSopenharmony_ci * m02 { number } -The third value, the rotation of the xyz axis affects this value. 92161847f8eSopenharmony_ci * m03 { number } -The fourth value, the perspective projection affects this value. 92261847f8eSopenharmony_ci * m10 { number } -The fifth value, the rotation and skew of the xyz axis affects this value. 92361847f8eSopenharmony_ci * m11 { number } -The y-axis scales the value, and the identity matrix defaults to 1. 92461847f8eSopenharmony_ci * m12 { number } -The 7th value, the rotation of the xyz axis affects this value. 92561847f8eSopenharmony_ci * m13 { number } -The 8th value, the perspective projection affects this value. 92661847f8eSopenharmony_ci * m20 { number } -The 9th value, the rotation of the xyz axis affects this value. 92761847f8eSopenharmony_ci * m21 { number } -The 10th value, xyz axis rotation affects this value. 92861847f8eSopenharmony_ci * m22 { number } -The z-axis scale value, the identity matrix defaults to 1. 92961847f8eSopenharmony_ci * m23 { number } -The 12th value, the perspective projection affects this value. 93061847f8eSopenharmony_ci * m30 { number } -The x-axis translation value in px, the identity matrix defaults to 0. 93161847f8eSopenharmony_ci * m31 { number } -Y-axis translation value, in px, the identity matrix defaults to 0. 93261847f8eSopenharmony_ci * m32 { number } -The z-axis translation value in px, the identity matrix defaults to 0. 93361847f8eSopenharmony_ci * m33 { number } -It takes effect in homogeneous coordinates to produce a perspective projection effect. 93461847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 93561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 93661847f8eSopenharmony_ci * @crossplatform 93761847f8eSopenharmony_ci * @atomicservice 93861847f8eSopenharmony_ci * @since 12 93961847f8eSopenharmony_ci */ 94061847f8eSopenharmony_ci function init( 94161847f8eSopenharmony_ci options: [ 94261847f8eSopenharmony_ci number, 94361847f8eSopenharmony_ci number, 94461847f8eSopenharmony_ci number, 94561847f8eSopenharmony_ci number, 94661847f8eSopenharmony_ci number, 94761847f8eSopenharmony_ci number, 94861847f8eSopenharmony_ci number, 94961847f8eSopenharmony_ci number, 95061847f8eSopenharmony_ci number, 95161847f8eSopenharmony_ci number, 95261847f8eSopenharmony_ci number, 95361847f8eSopenharmony_ci number, 95461847f8eSopenharmony_ci number, 95561847f8eSopenharmony_ci number, 95661847f8eSopenharmony_ci number, 95761847f8eSopenharmony_ci number 95861847f8eSopenharmony_ci ] 95961847f8eSopenharmony_ci ): Matrix4Transit; 96061847f8eSopenharmony_ci 96161847f8eSopenharmony_ci /** 96261847f8eSopenharmony_ci * Matrix initialization function, which can return an identity matrix object. 96361847f8eSopenharmony_ci * 96461847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 96561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 96661847f8eSopenharmony_ci * @since 7 96761847f8eSopenharmony_ci */ 96861847f8eSopenharmony_ci /** 96961847f8eSopenharmony_ci * Matrix initialization function, which can return an identity matrix object. 97061847f8eSopenharmony_ci * 97161847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 97261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 97361847f8eSopenharmony_ci * @crossplatform 97461847f8eSopenharmony_ci * @since 10 97561847f8eSopenharmony_ci */ 97661847f8eSopenharmony_ci /** 97761847f8eSopenharmony_ci * Matrix initialization function, which can return an identity matrix object. 97861847f8eSopenharmony_ci * 97961847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 98061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 98161847f8eSopenharmony_ci * @crossplatform 98261847f8eSopenharmony_ci * @atomicservice 98361847f8eSopenharmony_ci * @since 11 98461847f8eSopenharmony_ci */ 98561847f8eSopenharmony_ci function identity(): Matrix4Transit; 98661847f8eSopenharmony_ci 98761847f8eSopenharmony_ci /** 98861847f8eSopenharmony_ci * Copy function of Matrix, which can copy a copy of the current matrix object. 98961847f8eSopenharmony_ci * 99061847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 99161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 99261847f8eSopenharmony_ci * @since 7 99361847f8eSopenharmony_ci * @deprecated since 10 99461847f8eSopenharmony_ci */ 99561847f8eSopenharmony_ci function copy(): Matrix4Transit; 99661847f8eSopenharmony_ci 99761847f8eSopenharmony_ci /** 99861847f8eSopenharmony_ci * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite. 99961847f8eSopenharmony_ci * 100061847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 100161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 100261847f8eSopenharmony_ci * @since 7 100361847f8eSopenharmony_ci * @deprecated since 10 100461847f8eSopenharmony_ci */ 100561847f8eSopenharmony_ci function invert(): Matrix4Transit; 100661847f8eSopenharmony_ci 100761847f8eSopenharmony_ci /** 100861847f8eSopenharmony_ci * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object. 100961847f8eSopenharmony_ci * 101061847f8eSopenharmony_ci * @param { Matrix4Transit } options 101161847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 101261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 101361847f8eSopenharmony_ci * @since 7 101461847f8eSopenharmony_ci * @deprecated since 10 101561847f8eSopenharmony_ci */ 101661847f8eSopenharmony_ci function combine(options: Matrix4Transit): Matrix4Transit; 101761847f8eSopenharmony_ci 101861847f8eSopenharmony_ci /** 101961847f8eSopenharmony_ci * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix. 102061847f8eSopenharmony_ci * 102161847f8eSopenharmony_ci * @param { TranslateOption } options 102261847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 102361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 102461847f8eSopenharmony_ci * @since 7 102561847f8eSopenharmony_ci * @deprecated since 10 102661847f8eSopenharmony_ci */ 102761847f8eSopenharmony_ci function translate(options: TranslateOption): Matrix4Transit; 102861847f8eSopenharmony_ci 102961847f8eSopenharmony_ci /** 103061847f8eSopenharmony_ci * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix. 103161847f8eSopenharmony_ci * 103261847f8eSopenharmony_ci * @param { ScaleOption } options 103361847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 103461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 103561847f8eSopenharmony_ci * @since 7 103661847f8eSopenharmony_ci * @deprecated since 10 103761847f8eSopenharmony_ci */ 103861847f8eSopenharmony_ci function scale(options: ScaleOption): Matrix4Transit; 103961847f8eSopenharmony_ci 104061847f8eSopenharmony_ci /** 104161847f8eSopenharmony_ci * Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix. 104261847f8eSopenharmony_ci * 104361847f8eSopenharmony_ci * @param { RotateOption } options 104461847f8eSopenharmony_ci * @returns { Matrix4Transit } Return to Matrix4Transit 104561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 104661847f8eSopenharmony_ci * @since 7 104761847f8eSopenharmony_ci * @deprecated since 10 104861847f8eSopenharmony_ci */ 104961847f8eSopenharmony_ci function rotate(options: RotateOption): Matrix4Transit; 105061847f8eSopenharmony_ci 105161847f8eSopenharmony_ci /** 105261847f8eSopenharmony_ci * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point. 105361847f8eSopenharmony_ci * 105461847f8eSopenharmony_ci * @param { [number, number] } options 105561847f8eSopenharmony_ci * @returns { [number, number] } Return to Matrix4Transit 105661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 105761847f8eSopenharmony_ci * @since 7 105861847f8eSopenharmony_ci * @deprecated since 10 105961847f8eSopenharmony_ci */ 106061847f8eSopenharmony_ci function transformPoint(options: [number, number]): [number, number]; 106161847f8eSopenharmony_ci} 106261847f8eSopenharmony_ci 106361847f8eSopenharmony_ciexport default matrix4; 1064