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;