• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2020-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit ArkUI
19 */
20
21/**
22 * Used to do matrix operations
23 *
24 * @namespace matrix4
25 * @syscap SystemCapability.ArkUI.ArkUI.Full
26 * @since 7
27 */
28/**
29 * Used to do matrix operations
30 *
31 * @namespace matrix4
32 * @syscap SystemCapability.ArkUI.ArkUI.Full
33 * @crossplatform
34 * @since 10
35 */
36/**
37 * Used to do matrix operations
38 *
39 * @namespace matrix4
40 * @syscap SystemCapability.ArkUI.ArkUI.Full
41 * @crossplatform
42 * @atomicservice
43 * @since arkts {'1.1':'11','1.2':'20'}
44 * @arkts 1.1&1.2
45 */
46declare namespace matrix4 {
47  /**
48   * Set translation parameters
49   *
50   * @interface TranslateOption
51   * @syscap SystemCapability.ArkUI.ArkUI.Full
52   * @since 7
53   */
54  /**
55   * Set translation parameters
56   *
57   * @interface TranslateOption
58   * @syscap SystemCapability.ArkUI.ArkUI.Full
59   * @crossplatform
60   * @since 10
61   */
62  /**
63   * Set translation parameters
64   *
65   * @interface TranslateOption
66   * @syscap SystemCapability.ArkUI.ArkUI.Full
67   * @crossplatform
68   * @atomicservice
69   * @since arkts {'1.1':'11','1.2':'20'}
70   * @arkts 1.1&1.2
71   */
72  export interface TranslateOption {
73    /**
74     * Indicates the translation distance of the x-axis, in px.
75     *
76     * @type { ?number }
77     * @syscap SystemCapability.ArkUI.ArkUI.Full
78     * @since 7
79     */
80    /**
81     * Indicates the translation distance of the x-axis, in px.
82     *
83     * @type { ?number }
84     * @syscap SystemCapability.ArkUI.ArkUI.Full
85     * @crossplatform
86     * @since 10
87     */
88    /**
89     * Translation distance along the x-axis.
90     * <br>Unit: px.
91     * <br>Default value: **0**.
92     * <br>Value range: (-∞, +∞).
93     *
94     * @type { ?number }
95     * @syscap SystemCapability.ArkUI.ArkUI.Full
96     * @crossplatform
97     * @atomicservice
98     * @since arkts {'1.1':'11','1.2':'20'}
99     * @arkts 1.1&1.2
100     */
101    x?: number;
102
103    /**
104     * Indicates the translation distance of the y-axis, in px.
105     *
106     * @type { ?number }
107     * @syscap SystemCapability.ArkUI.ArkUI.Full
108     * @since 7
109     */
110    /**
111     * Indicates the translation distance of the y-axis, in px.
112     *
113     * @type { ?number }
114     * @syscap SystemCapability.ArkUI.ArkUI.Full
115     * @crossplatform
116     * @since 10
117     */
118    /**
119     * Translation distance along the y-axis.
120     * <br>Unit: px.
121     * <br>Default value: **0**.
122     * <br>Value range: (-∞, +∞).
123     *
124     * @type { ?number }
125     * @syscap SystemCapability.ArkUI.ArkUI.Full
126     * @crossplatform
127     * @atomicservice
128     * @since arkts {'1.1':'11','1.2':'20'}
129     * @arkts 1.1&1.2
130     */
131    y?: number;
132
133    /**
134     * Indicates the translation distance of the z-axis, in px.
135     *
136     * @type { ?number }
137     * @syscap SystemCapability.ArkUI.ArkUI.Full
138     * @since 7
139     */
140    /**
141     * Indicates the translation distance of the z-axis, in px.
142     *
143     * @type { ?number }
144     * @syscap SystemCapability.ArkUI.ArkUI.Full
145     * @crossplatform
146     * @since 10
147     */
148    /**
149     * Translation distance along the z-axis.
150     * <br>Unit: px.
151     * <br>Default value: **0**.
152     * <br>Value range: (-∞, +∞).
153     *
154     * @type { ?number }
155     * @syscap SystemCapability.ArkUI.ArkUI.Full
156     * @crossplatform
157     * @atomicservice
158     * @since arkts {'1.1':'11','1.2':'20'}
159     * @arkts 1.1&1.2
160     */
161    z?: number;
162  }
163
164  /**
165   * Set scaling parameters
166   *
167   * @interface ScaleOption
168   * @syscap SystemCapability.ArkUI.ArkUI.Full
169   * @since 7
170   */
171  /**
172   * Set scaling parameters
173   *
174   * @interface ScaleOption
175   * @syscap SystemCapability.ArkUI.ArkUI.Full
176   * @crossplatform
177   * @since 10
178   */
179  /**
180   * Set scaling parameters
181   *
182   * @interface ScaleOption
183   * @syscap SystemCapability.ArkUI.ArkUI.Full
184   * @crossplatform
185   * @atomicservice
186   * @since arkts {'1.1':'11','1.2':'20'}
187   * @arkts 1.1&1.2
188   */
189  export interface ScaleOption {
190    /**
191     * Zoom factor of the x-axis.
192     *
193     * @type { ?number }
194     * @syscap SystemCapability.ArkUI.ArkUI.Full
195     * @since 7
196     */
197    /**
198     * Zoom factor of the x-axis.
199     *
200     * @type { ?number }
201     * @syscap SystemCapability.ArkUI.ArkUI.Full
202     * @crossplatform
203     * @since 10
204     */
205    /**
206     * Scaling multiple along the x-axis. x > 1: The image is scaled up along the x-axis.
207     * <br>0 < x < 1: The image is scaled down along the x-axis.
208     * <br>x < 0: The image is scaled in the reverse direction of the x-axis.
209     * <br>Default value: **1**.
210     * <br>Value range: (-∞, +∞).
211     *
212     * @type { ?number }
213     * @syscap SystemCapability.ArkUI.ArkUI.Full
214     * @crossplatform
215     * @atomicservice
216     * @since arkts {'1.1':'11','1.2':'20'}
217     * @arkts 1.1&1.2
218     */
219    x?: number;
220
221    /**
222     * Zoom factor of the y-axis.
223     *
224     * @type { ?number }
225     * @syscap SystemCapability.ArkUI.ArkUI.Full
226     * @since 7
227     */
228    /**
229     * Zoom factor of the y-axis.
230     *
231     * @type { ?number }
232     * @syscap SystemCapability.ArkUI.ArkUI.Full
233     * @crossplatform
234     * @since 10
235     */
236    /**
237     * Scaling multiple along the y-axis. y > 1: The image is scaled up along the y-axis.
238     * <br>0 < y < 1: The image is scaled down along the y-axis.
239     * <br>y < 0: The image is scaled in the reverse direction of the y-axis.
240     * <br>Default value: **1**.
241     * <br>Value range: (-∞, +∞).
242     *
243     * @type { ?number }
244     * @syscap SystemCapability.ArkUI.ArkUI.Full
245     * @crossplatform
246     * @atomicservice
247     * @since arkts {'1.1':'11','1.2':'20'}
248     * @arkts 1.1&1.2
249     */
250    y?: number;
251
252    /**
253     * Zoom factor of the z-axis.
254     *
255     * @type { ?number }
256     * @syscap SystemCapability.ArkUI.ArkUI.Full
257     * @since 7
258     */
259    /**
260     * Zoom factor of the z-axis.
261     *
262     * @type { ?number }
263     * @syscap SystemCapability.ArkUI.ArkUI.Full
264     * @crossplatform
265     * @since 10
266     */
267    /**
268     * Scaling multiple along the z-axis. z > 1: The image is scaled up along the z-axis.
269     * <br>0 < z < 1: The image is scaled down along the z-axis.
270     * <br>z < 0: The image is scaled in the reverse direction of the z-axis.
271     * <br>Default value: **1**.
272     * <br>Value range: (-∞, +∞).
273     *
274     * @type { ?number }
275     * @syscap SystemCapability.ArkUI.ArkUI.Full
276     * @crossplatform
277     * @atomicservice
278     * @since arkts {'1.1':'11','1.2':'20'}
279     * @arkts 1.1&1.2
280     */
281    z?: number;
282
283    /**
284     * Transform the x-axis coordinate of the center point.
285     *
286     * @type { ?number }
287     * @syscap SystemCapability.ArkUI.ArkUI.Full
288     * @since 7
289     */
290    /**
291     * Transform the x-axis coordinate of the center point.
292     *
293     * @type { ?number }
294     * @syscap SystemCapability.ArkUI.ArkUI.Full
295     * @crossplatform
296     * @since 10
297     */
298    /**
299     * X coordinate of the center point.
300     * <br>Unit: px.
301     * <br>Default value: X-coordinate of the component center.
302     * <br>Value range: (-∞, +∞).
303     *
304     * @type { ?number }
305     * @syscap SystemCapability.ArkUI.ArkUI.Full
306     * @crossplatform
307     * @atomicservice
308     * @since arkts {'1.1':'11','1.2':'20'}
309     * @arkts 1.1&1.2
310     */
311    centerX?: number;
312
313    /**
314     * Transform the y-axis coordinate of the center point.
315     *
316     * @type { ?number }
317     * @syscap SystemCapability.ArkUI.ArkUI.Full
318     * @since 7
319     */
320    /**
321     * Transform the y-axis coordinate of the center point.
322     *
323     * @type { ?number }
324     * @syscap SystemCapability.ArkUI.ArkUI.Full
325     * @crossplatform
326     * @since 10
327     */
328    /**
329     * Y coordinate of the center point.
330     * <br>Unit: px.
331     * <br>Default value: Y-coordinate of the component center.
332     * <br>Value range: (-∞, +∞).
333     *
334     * @type { ?number }
335     * @syscap SystemCapability.ArkUI.ArkUI.Full
336     * @crossplatform
337     * @atomicservice
338     * @since arkts {'1.1':'11','1.2':'20'}
339     * @arkts 1.1&1.2
340     */
341    centerY?: number;
342  }
343
344  /**
345   * Set Rotation Parameters.
346   *
347   * @interface RotateOption
348   * @syscap SystemCapability.ArkUI.ArkUI.Full
349   * @since 7
350   */
351  /**
352   * Set Rotation Parameters.
353   *
354   * @interface RotateOption
355   * @syscap SystemCapability.ArkUI.ArkUI.Full
356   * @crossplatform
357   * @since 10
358   */
359  /**
360   * Set Rotation Parameters.
361   *
362   * @interface RotateOption
363   * @syscap SystemCapability.ArkUI.ArkUI.Full
364   * @crossplatform
365   * @atomicservice
366   * @since arkts {'1.1':'11','1.2':'20'}
367   * @arkts 1.1&1.2
368   */
369  export interface RotateOption {
370    /**
371     * Axis of rotation vector x coordinate.
372     *
373     * @type { ?number }
374     * @syscap SystemCapability.ArkUI.ArkUI.Full
375     * @since 7
376     */
377    /**
378     * Axis of rotation vector x coordinate.
379     *
380     * @type { ?number }
381     * @syscap SystemCapability.ArkUI.ArkUI.Full
382     * @crossplatform
383     * @since 10
384     */
385    /**
386     * X coordinate of the rotation axis vector.
387     * <br>Default value: **0**.
388     * <br>Value range: (-∞, +∞).
389     *
390     * @type { ?number }
391     * @syscap SystemCapability.ArkUI.ArkUI.Full
392     * @crossplatform
393     * @atomicservice
394     * @since arkts {'1.1':'11','1.2':'20'}
395     * @arkts 1.1&1.2
396     */
397    x?: number;
398
399    /**
400     * Axis of rotation vector y coordinate.
401     *
402     * @type { ?number }
403     * @syscap SystemCapability.ArkUI.ArkUI.Full
404     * @since 7
405     */
406    /**
407     * Axis of rotation vector y coordinate.
408     *
409     * @type { ?number }
410     * @syscap SystemCapability.ArkUI.ArkUI.Full
411     * @crossplatform
412     * @since 10
413     */
414    /**
415     * Y coordinate of the rotation axis vector.
416     * <br>Default value: **0**.
417     * <br>Value range: (-∞, +∞).
418     *
419     * @type { ?number }
420     * @syscap SystemCapability.ArkUI.ArkUI.Full
421     * @crossplatform
422     * @atomicservice
423     * @since arkts {'1.1':'11','1.2':'20'}
424     * @arkts 1.1&1.2
425     */
426    y?: number;
427
428    /**
429     * Axis of rotation vector z coordinate.
430     *
431     * @type { ?number }
432     * @syscap SystemCapability.ArkUI.ArkUI.Full
433     * @since 7
434     */
435    /**
436     * Axis of rotation vector z coordinate.
437     *
438     * @type { ?number }
439     * @syscap SystemCapability.ArkUI.ArkUI.Full
440     * @crossplatform
441     * @since 10
442     */
443    /**
444     * Z coordinate of the rotation axis vector.
445     * <br>Default value: **0**.
446     * <br>Value range: (-∞, +∞).
447     * <br>**NOTE**<br>The rotation axis vector is valid only when at least one of **x**, **y**, and **z** is not 0.
448     *
449     * @type { ?number }
450     * @syscap SystemCapability.ArkUI.ArkUI.Full
451     * @crossplatform
452     * @atomicservice
453     * @since arkts {'1.1':'11','1.2':'20'}
454     * @arkts 1.1&1.2
455     */
456    z?: number;
457
458    /**
459     * Transform the x-axis coordinate of the center point.
460     *
461     * @type { ?number }
462     * @syscap SystemCapability.ArkUI.ArkUI.Full
463     * @since 7
464     */
465    /**
466     * Transform the x-axis coordinate of the center point.
467     *
468     * @type { ?number }
469     * @syscap SystemCapability.ArkUI.ArkUI.Full
470     * @crossplatform
471     * @since 10
472     */
473    /**
474     * Additional x-axis offset of the transformation center relative to the component's anchor.
475     * <br>Unit: px.
476     * <br>Default value: **0**.
477     * <p>**NOTE**:
478     * <br>The value **0** indicates that the transformation center coincides with the component's x-axis anchor.
479     * </p>
480     *
481     * @type { ?number }
482     * @syscap SystemCapability.ArkUI.ArkUI.Full
483     * @crossplatform
484     * @atomicservice
485     * @since arkts {'1.1':'11','1.2':'20'}
486     * @arkts 1.1&1.2
487     */
488    centerX?: number;
489
490    /**
491     * Transform the y-axis coordinate of the center point.
492     *
493     * @type { ?number }
494     * @syscap SystemCapability.ArkUI.ArkUI.Full
495     * @since 7
496     */
497    /**
498     * Transform the y-axis coordinate of the center point.
499     *
500     * @type { ?number }
501     * @syscap SystemCapability.ArkUI.ArkUI.Full
502     * @crossplatform
503     * @since 10
504     */
505    /**
506     * Additional y-axis offset of the transformation center relative to the component's anchor.
507     * <br>Unit: px.
508     * <br>Default value: **0**.
509     * <p>**NOTE**
510     * <br>The value **0** indicates that the transformation center coincides with the component's y-axis anchor.
511     * </p>
512     *
513     * @type { ?number }
514     * @syscap SystemCapability.ArkUI.ArkUI.Full
515     * @crossplatform
516     * @atomicservice
517     * @since arkts {'1.1':'11','1.2':'20'}
518     * @arkts 1.1&1.2
519     */
520    centerY?: number;
521
522    /**
523     * Rotation angle.
524     *
525     * @type { ?number }
526     * @syscap SystemCapability.ArkUI.ArkUI.Full
527     * @since 7
528     */
529    /**
530     * Rotation angle.
531     *
532     * @type { ?number }
533     * @syscap SystemCapability.ArkUI.ArkUI.Full
534     * @crossplatform
535     * @since 10
536     */
537    /**
538     * Rotation angle.
539     * <br>Default value: **0**.
540     *
541     * @type { ?number }
542     * @syscap SystemCapability.ArkUI.ArkUI.Full
543     * @crossplatform
544     * @atomicservice
545     * @since arkts {'1.1':'11','1.2':'20'}
546     * @arkts 1.1&1.2
547     */
548    angle?: number;
549  }
550
551
552  /**
553   * Set poly to poly point.
554   *
555   * @interface Point
556   * @syscap SystemCapability.ArkUI.ArkUI.Full
557   * @crossplatform
558   * @atomicservice
559   * @since arkts {'1.1':'12','1.2':'20'}
560   * @arkts 1.1&1.2
561   */
562  export interface Point {
563
564    /**
565     * Point x.
566     *
567     * @type { number }
568     * @syscap SystemCapability.ArkUI.ArkUI.Full
569     * @crossplatform
570     * @atomicservice
571     * @since arkts {'1.1':'12','1.2':'20'}
572     * @arkts 1.1&1.2
573     */
574    x: number;
575
576    /**
577     * Point y.
578     *
579     * @type { number }
580     * @syscap SystemCapability.ArkUI.ArkUI.Full
581     * @crossplatform
582     * @atomicservice
583     * @since arkts {'1.1':'12','1.2':'20'}
584     * @arkts 1.1&1.2
585     */
586    y: number;
587  }
588
589  /**
590   * Set poly to poly point options.
591   *
592   * @interface PolyToPolyOptions
593   * @syscap SystemCapability.ArkUI.ArkUI.Full
594   * @crossplatform
595   * @atomicservice
596   * @since arkts {'1.1':'12','1.2':'20'}
597   * @arkts 1.1&1.2
598   */
599  export interface PolyToPolyOptions {
600
601    /**
602     * Array of point coordinates for the source polygon.
603     *
604     * @type { Array<Point> }
605     * @syscap SystemCapability.ArkUI.ArkUI.Full
606     * @crossplatform
607     * @atomicservice
608     * @since arkts {'1.1':'12','1.2':'20'}
609     * @arkts 1.1&1.2
610     */
611    src: Array<Point>;
612
613    /**
614     * Start point index of the source polygon, which defaults to 0.
615     * @type { ?number }
616     * @default 0
617     * @syscap SystemCapability.ArkUI.ArkUI.Full
618     * @crossplatform
619     * @atomicservice
620     * @since arkts {'1.1':'12','1.2':'20'}
621     * @arkts 1.1&1.2
622     */
623    srcIndex?: number;
624
625    /**
626     * Array of point coordinates for the target polygon.
627     *
628     * @type { Array<Point> }
629     * @syscap SystemCapability.ArkUI.ArkUI.Full
630     * @crossplatform
631     * @atomicservice
632     * @since arkts {'1.1':'12','1.2':'20'}
633     * @arkts 1.1&1.2
634     */
635    dst:Array<Point>;
636
637    /**
638     * Start index of the target polygon, which defaults to 0.
639     *
640     * @type { ?number }
641     * @default src.Length/2
642     * @syscap SystemCapability.ArkUI.ArkUI.Full
643     * @crossplatform
644     * @atomicservice
645     * @since arkts {'1.1':'12','1.2':'20'}
646     * @arkts 1.1&1.2
647     */
648    dstIndex?: number;
649
650    /**
651     * The number of points to be used.
652     * If it is 0, it returns the identity matrix.
653     * If it is 1, it returns a translation matrix that changed before two points.
654     * If it is 2-4, it returns a transformation matrix.
655     * @type { ?number }
656     * @default 0
657     * @syscap SystemCapability.ArkUI.ArkUI.Full
658     * @crossplatform
659     * @atomicservice
660     * @since arkts {'1.1':'12','1.2':'20'}
661     * @arkts 1.1&1.2
662     */
663    pointCount?:number;
664
665  }
666  /**
667   * Matrix4Transit.
668   *
669   * @interface Matrix4Transit
670   * @syscap SystemCapability.ArkUI.ArkUI.Full
671   * @since 7
672   */
673  /**
674   * Matrix4Transit.
675   *
676   * @interface Matrix4Transit
677   * @syscap SystemCapability.ArkUI.ArkUI.Full
678   * @crossplatform
679   * @since 10
680   */
681  /**
682   * Matrix4Transit.
683   *
684   * @interface Matrix4Transit
685   * @syscap SystemCapability.ArkUI.ArkUI.Full
686   * @crossplatform
687   * @atomicservice
688   * @since arkts {'1.1':'11','1.2':'20'}
689   * @arkts 1.1&1.2
690   */
691  export interface Matrix4Transit {
692    /**
693     * Copy function of Matrix, which can copy a copy of the current matrix object.
694     *
695     * @returns { Matrix4Transit } Return to Matrix4Transit
696     * @syscap SystemCapability.ArkUI.ArkUI.Full
697     * @since 7
698     */
699    /**
700     * Copy function of Matrix, which can copy a copy of the current matrix object.
701     *
702     * @returns { Matrix4Transit } Return to Matrix4Transit
703     * @syscap SystemCapability.ArkUI.ArkUI.Full
704     * @crossplatform
705     * @since 10
706     */
707    /**
708     * Copy function of Matrix, which can copy a copy of the current matrix object.
709     *
710     * @returns { Matrix4Transit } Return to Matrix4Transit
711     * @syscap SystemCapability.ArkUI.ArkUI.Full
712     * @crossplatform
713     * @atomicservice
714     * @since arkts {'1.1':'11','1.2':'20'}
715     * @arkts 1.1&1.2
716     */
717    copy(): Matrix4Transit;
718
719    /**
720     * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite.
721     *
722     * @returns { Matrix4Transit } Return to Matrix4Transit
723     * @syscap SystemCapability.ArkUI.ArkUI.Full
724     * @since 7
725     */
726    /**
727     * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite.
728     *
729     * @returns { Matrix4Transit } Return to Matrix4Transit
730     * @syscap SystemCapability.ArkUI.ArkUI.Full
731     * @crossplatform
732     * @since 10
733     */
734    /**
735     * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite.
736     *
737     * @returns { Matrix4Transit } Return to Matrix4Transit
738     * @syscap SystemCapability.ArkUI.ArkUI.Full
739     * @crossplatform
740     * @atomicservice
741     * @since arkts {'1.1':'11','1.2':'20'}
742     * @arkts 1.1&1.2
743     */
744    invert(): Matrix4Transit;
745
746    /**
747     * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object.
748     *
749     * @param { Matrix4Transit } options
750     * @returns { Matrix4Transit } Return to Matrix4Transit
751     * @syscap SystemCapability.ArkUI.ArkUI.Full
752     * @since 7
753     */
754    /**
755     * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object.
756     *
757     * @param { Matrix4Transit } options
758     * @returns { Matrix4Transit } Return to Matrix4Transit
759     * @syscap SystemCapability.ArkUI.ArkUI.Full
760     * @crossplatform
761     * @since 10
762     */
763    /**
764     * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object.
765     *
766     * @param { Matrix4Transit } options
767     * @returns { Matrix4Transit } Return to Matrix4Transit
768     * @syscap SystemCapability.ArkUI.ArkUI.Full
769     * @crossplatform
770     * @atomicservice
771     * @since arkts {'1.1':'11','1.2':'20'}
772     * @arkts 1.1&1.2
773     */
774    combine(options: Matrix4Transit): Matrix4Transit;
775
776    /**
777     * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix.
778     *
779     * @param { TranslateOption } options
780     * @returns { Matrix4Transit } Return to Matrix4Transit
781     * @syscap SystemCapability.ArkUI.ArkUI.Full
782     * @since 7
783     */
784    /**
785     * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix.
786     *
787     * @param { TranslateOption } options
788     * @returns { Matrix4Transit } Return to Matrix4Transit
789     * @syscap SystemCapability.ArkUI.ArkUI.Full
790     * @crossplatform
791     * @since 10
792     */
793    /**
794     * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix.
795     *
796     * @param { TranslateOption } options
797     * @returns { Matrix4Transit } Return to Matrix4Transit
798     * @syscap SystemCapability.ArkUI.ArkUI.Full
799     * @crossplatform
800     * @atomicservice
801     * @since arkts {'1.1':'11','1.2':'20'}
802     * @arkts 1.1&1.2
803     */
804    translate(options: TranslateOption): Matrix4Transit;
805
806    /**
807     * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix.
808     *
809     * @param { ScaleOption } options
810     * @returns { Matrix4Transit } Return to Matrix4Transit
811     * @syscap SystemCapability.ArkUI.ArkUI.Full
812     * @since 7
813     */
814    /**
815     * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix.
816     *
817     * @param { ScaleOption } options
818     * @returns { Matrix4Transit } Return to Matrix4Transit
819     * @syscap SystemCapability.ArkUI.ArkUI.Full
820     * @crossplatform
821     * @since 10
822     */
823    /**
824     * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix.
825     *
826     * @param { ScaleOption } options
827     * @returns { Matrix4Transit } Return to Matrix4Transit
828     * @syscap SystemCapability.ArkUI.ArkUI.Full
829     * @crossplatform
830     * @atomicservice
831     * @since arkts {'1.1':'11','1.2':'20'}
832     * @arkts 1.1&1.2
833     */
834    scale(options: ScaleOption): Matrix4Transit;
835
836    /**
837     * Skew function of the Matrix, which can add the x-axis, y-axis skew effect to the current matrix.
838     * Skew function takes a generic point with coordinates (x0, y0, z0) to the point (x0 + x*y0, y0 + y*x0, z0),
839     * where x, y are fixed parameters, called the shear factors.
840     *
841     * @param { number } x - the shear factor of x-axis.
842     * @param { number } y - the shear factor of y-axis.
843     * @returns { Matrix4Transit } Return to Matrix4Transit
844     * @syscap SystemCapability.ArkUI.ArkUI.Full
845     * @crossplatform
846     * @atomicservice
847     * @since arkts {'1.1':'12','1.2':'20'}
848     * @arkts 1.1&1.2
849     */
850    skew(x: number, y: number): Matrix4Transit;
851
852    /**
853     * Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix.
854     *
855     * @param { RotateOption } options
856     * @returns { Matrix4Transit } Return to Matrix4Transit
857     * @syscap SystemCapability.ArkUI.ArkUI.Full
858     * @since 7
859     */
860    /**
861     * Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix.
862     *
863     * @param { RotateOption } options
864     * @returns { Matrix4Transit } Return to Matrix4Transit
865     * @syscap SystemCapability.ArkUI.ArkUI.Full
866     * @crossplatform
867     * @since 10
868     */
869    /**
870     * Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix.
871     *
872     * @param { RotateOption } options
873     * @returns { Matrix4Transit } Return to Matrix4Transit
874     * @syscap SystemCapability.ArkUI.ArkUI.Full
875     * @crossplatform
876     * @atomicservice
877     * @since arkts {'1.1':'11','1.2':'20'}
878     * @arkts 1.1&1.2
879     */
880    rotate(options: RotateOption): Matrix4Transit;
881
882    /**
883     * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point.
884     *
885     * @param { [number, number] } options
886     * @returns { [number, number] } Return to Matrix4Transit
887     * @syscap SystemCapability.ArkUI.ArkUI.Full
888     * @since 7
889     */
890    /**
891     * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point.
892     *
893     * @param { [number, number] } options
894     * @returns { [number, number] } Return to Matrix4Transit
895     * @syscap SystemCapability.ArkUI.ArkUI.Full
896     * @crossplatform
897     * @since 10
898     */
899    /**
900     * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point.
901     *
902     * @param { [number, number] } options
903     * @returns { [number, number] } Return to Matrix4Transit
904     * @syscap SystemCapability.ArkUI.ArkUI.Full
905     * @crossplatform
906     * @atomicservice
907     * @since arkts {'1.1':'11','1.2':'20'}
908     * @arkts 1.1&1.2
909     */
910    transformPoint(options: [number, number]): [number, number];
911
912    /**
913     * Sets matrix to map src to dst.
914     *
915     * @param { PolyToPolyOptions } options - polyToPoly options
916     * @returns { Matrix4Transit } Return to Matrix4Transit
917     * @syscap SystemCapability.ArkUI.ArkUI.Full
918     * @crossplatform
919     * @atomicservice
920     * @since arkts {'1.1':'12','1.2':'20'}
921     * @arkts 1.1&1.2
922     */
923    setPolyToPoly(options: PolyToPolyOptions): Matrix4Transit;
924  }
925
926  /**
927   * Constructor of Matrix, which can create a fourth-order matrix based on the input parameters. The matrix is column-first.
928   *
929   * @param { [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number] } options
930   * options indicates a fourth-order matrix
931   * The default value:
932   * [1, 0, 0, 0,
933   * 0, 1, 0, 0,
934   * 0, 0, 1, 0,
935   * 0, 0, 0, 1]
936   * @returns { Matrix4Transit } Return to Matrix4Transit
937   * @syscap SystemCapability.ArkUI.ArkUI.Full
938   * @since 7
939   */
940  /**
941   * Constructor of Matrix, which can create a fourth-order matrix based on the input parameters. The matrix is column-first.
942   *
943   * @param { [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number] } options
944   * options indicates a fourth-order matrix
945   * The default value:
946   * [1, 0, 0, 0,
947   * 0, 1, 0, 0,
948   * 0, 0, 1, 0,
949   * 0, 0, 0, 1]
950   * @returns { Matrix4Transit } Return to Matrix4Transit
951   * @syscap SystemCapability.ArkUI.ArkUI.Full
952   * @crossplatform
953   * @since 10
954   */
955  /**
956   * Constructor of Matrix, which can create a fourth-order matrix based on the input parameters. The matrix is column-first.
957   *
958   * @param { [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number] } options
959   * options indicates a fourth-order matrix
960   * The default value:
961   * [1, 0, 0, 0,
962   * 0, 1, 0, 0,
963   * 0, 0, 1, 0,
964   * 0, 0, 0, 1]
965   * Fourth-order matrix notes:
966   * m00 { number } -The x-axis scale value, the identity matrix defaults to 1.
967   * m01 { number } -The second value, the rotation of the xyz axis affects this value.
968   * m02 { number } -The third value, the rotation of the xyz axis affects this value.
969   * m03 { number } -Meaningless.
970   * m10 { number } -The fifth value, the rotation of the xyz axis affects this value.
971   * m11 { number } -The y-axis scales the value, and the identity matrix defaults to 1.
972   * m12 { number } -The 7th value, the rotation of the xyz axis affects this value.
973   * m13 { number } -Meaningless.
974   * m20 { number } -The 9th value, the rotation of the xyz axis affects this value.
975   * m21 { number } -The 10th value, xyz axis rotation affects this value.
976   * m22 { number } -The z-axis scale value, the identity matrix defaults to 1.
977   * m23 { number } -Meaningless.
978   * m30 { number } -The x-axis translation value in px, the identity matrix defaults to 0.
979   * m31 { number } -Y-axis translation value, in px, the identity matrix defaults to 0.
980   * m32 { number } -The z-axis translation value in px, the identity matrix defaults to 0.
981   * m33 { number } -It takes effect in homogeneous coordinates to produce a perspective projection effect.
982   * @returns { Matrix4Transit } Return to Matrix4Transit
983   * @syscap SystemCapability.ArkUI.ArkUI.Full
984   * @crossplatform
985   * @atomicservice
986   * @since 11
987   */
988  /**
989   * Matrix constructor, which is used to create a 4 x 4 matrix with the input parameters. Column-major order is used.
990   *
991   * @param { [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number] } options
992   * A number array whose length is 16 (4 x 4). For details, see **4 x 4 matrix description**.
993   * <br>Value range of each number: (-∞, +∞).
994   * <br>Default value:<br>[1, 0, 0, 0,<br>0, 1, 0, 0,<br>0, 0, 1, 0,<br>0, 0, 0, 1].
995   * Fourth-order matrix notes:
996   * m00 { number } -Scaling value of the x-axis. The default value is **1** for the identity matrix.
997   * m01 { number } -The second value, which is affected by the rotation or tilt of the x, y, and z axes.
998   * m02 { number } -The third value, which is affected by the rotation of the x, y, and z axes.
999   * m03 { number } -The fourth value, which is affected by perspective projection.
1000   * m10 { number } -The fifth value, which is affected by the rotation or tilt of the x, y, and z axes.
1001   * m11 { number } -Scaling value of the y-axis. The default value is **1** for the identity matrix.
1002   * m12 { number } -The seventh value, which is affected by the rotation of the x, y, and z axes.
1003   * m13 { number } -The eighth value, which is affected by perspective projection.
1004   * m20 { number } -The ninth value, which is affected by the rotation of the x, y, and z axes.
1005   * m21 { number } -The tenth value, which is affected by the rotation of the x, y, and z axes.
1006   * m22 { number } -Scaling value of the z-axis. The default value is **1** for the identity matrix.
1007   * m23 { number } -The 12th value, which is affected by perspective projection.
1008   * m30 { number } -Translation value of the x-axis, in px. The default value is **0** for the identity matrix.
1009   * m31 { number } -Translation value of the y-axis, in px. The default value is **0** for the identity matrix.
1010   * m32 { number } -Translation value of the z-axis, in px. The default value is **0** for the identity matrix.
1011   * m33 { number } -Valid in homogeneous coordinates, presenting the perspective projection effect.
1012   * @returns { Matrix4Transit } Return to Matrix4Transit
1013   * @syscap SystemCapability.ArkUI.ArkUI.Full
1014   * @crossplatform
1015   * @atomicservice
1016   * @since arkts {'1.1':'12','1.2':'20'}
1017   * @arkts 1.1&1.2
1018   */
1019  function init(
1020    options: [
1021      number,
1022      number,
1023      number,
1024      number,
1025      number,
1026      number,
1027      number,
1028      number,
1029      number,
1030      number,
1031      number,
1032      number,
1033      number,
1034      number,
1035      number,
1036      number
1037    ]
1038  ): Matrix4Transit;
1039
1040  /**
1041   * Matrix initialization function, which can return an identity matrix object.
1042   *
1043   * @returns { Matrix4Transit } Return to Matrix4Transit
1044   * @syscap SystemCapability.ArkUI.ArkUI.Full
1045   * @since 7
1046   */
1047  /**
1048   * Matrix initialization function, which can return an identity matrix object.
1049   *
1050   * @returns { Matrix4Transit } Return to Matrix4Transit
1051   * @syscap SystemCapability.ArkUI.ArkUI.Full
1052   * @crossplatform
1053   * @since 10
1054   */
1055  /**
1056   * Constructs an identity matrix.
1057   *
1058   * @returns { Matrix4Transit } Identity matrix object.
1059   * @syscap SystemCapability.ArkUI.ArkUI.Full
1060   * @crossplatform
1061   * @atomicservice
1062   * @since arkts {'1.1':'11','1.2':'20'}
1063   * @arkts 1.1&1.2
1064   */
1065  function identity(): Matrix4Transit;
1066
1067  /**
1068   * Copy function of Matrix, which can copy a copy of the current matrix object.
1069   *
1070   * @returns { Matrix4Transit } Return to Matrix4Transit
1071   * @syscap SystemCapability.ArkUI.ArkUI.Full
1072   * @since 7
1073   * @deprecated since 10
1074   */
1075  function copy(): Matrix4Transit;
1076
1077  /**
1078   * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite.
1079   *
1080   * @returns { Matrix4Transit } Return to Matrix4Transit
1081   * @syscap SystemCapability.ArkUI.ArkUI.Full
1082   * @since 7
1083   * @deprecated since 10
1084   */
1085  function invert(): Matrix4Transit;
1086
1087  /**
1088   * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object.
1089   *
1090   * @param { Matrix4Transit } options
1091   * @returns { Matrix4Transit } Return to Matrix4Transit
1092   * @syscap SystemCapability.ArkUI.ArkUI.Full
1093   * @since 7
1094   * @deprecated since 10
1095   */
1096  function combine(options: Matrix4Transit): Matrix4Transit;
1097
1098  /**
1099   * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix.
1100   *
1101   * @param { TranslateOption } options
1102   * @returns { Matrix4Transit } Return to Matrix4Transit
1103   * @syscap SystemCapability.ArkUI.ArkUI.Full
1104   * @since 7
1105   * @deprecated since 10
1106   */
1107  function translate(options: TranslateOption): Matrix4Transit;
1108
1109  /**
1110   * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix.
1111   *
1112   * @param { ScaleOption } options
1113   * @returns { Matrix4Transit } Return to Matrix4Transit
1114   * @syscap SystemCapability.ArkUI.ArkUI.Full
1115   * @since 7
1116   * @deprecated since 10
1117   */
1118  function scale(options: ScaleOption): Matrix4Transit;
1119
1120  /**
1121   * Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix.
1122   *
1123   * @param { RotateOption } options
1124   * @returns { Matrix4Transit } Return to Matrix4Transit
1125   * @syscap SystemCapability.ArkUI.ArkUI.Full
1126   * @since 7
1127   * @deprecated since 10
1128   */
1129  function rotate(options: RotateOption): Matrix4Transit;
1130
1131  /**
1132   * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point.
1133   *
1134   * @param { [number, number] } options
1135   * @returns { [number, number] } Return to Matrix4Transit
1136   * @syscap SystemCapability.ArkUI.ArkUI.Full
1137   * @since 7
1138   * @deprecated since 10
1139   */
1140  function transformPoint(options: [number, number]): [number, number];
1141}
1142
1143export default matrix4;
1144