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