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