From 2a8dc2eb49f53becdf40ba0318b8a34c04cacec0 Mon Sep 17 00:00:00 2001 From: hehongyang9 Date: Sat, 28 Jun 2025 12:31:42 +0800 Subject: [PATCH] curve, particle, TransitionEffect Signed-off-by: hehongyang9 Change-Id: I4c7434bc44c77d2b4f7abaf6d4a6036717b5ce08 --- api/@internal/component/ets/common.d.ts | 32 ++-- api/@internal/component/ets/enums.d.ts | 59 +++--- api/@internal/component/ets/particle.d.ts | 33 ++-- api/@ohos.curves.d.ts | 214 +++++++++++++++++++--- 4 files changed, 253 insertions(+), 85 deletions(-) diff --git a/api/@internal/component/ets/common.d.ts b/api/@internal/component/ets/common.d.ts index b0e104b1d5..83aa5171b4 100644 --- a/api/@internal/component/ets/common.d.ts +++ b/api/@internal/component/ets/common.d.ts @@ -68,6 +68,7 @@ import { PathAttribute } from './path'; import { EllipseAttribute } from './ellipse'; import { LocalStorage } from '../stateManagement/storage/localStorage'; import { CustomBuilder, WrappedBuilder } from './builder'; +import curves from '../../@ohos.curves'; /*** endif */ /** @@ -3883,8 +3884,7 @@ declare interface AnimateParam { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ interface ICurve { /** @@ -3918,12 +3918,24 @@ interface ICurve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ interpolate(fraction: number): number; } +/** + * Interface for curve object. + * + * @typedef { curves.ICurve } ICurve + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 + * @arkts 1.2 + */ +export type ICurve = curves.ICurve; + /** * Defines the motion path options. * @@ -7241,7 +7253,6 @@ declare class TransitionEffect { * Disables the transition effect * * @type { TransitionEffect } - * @readonly * @static * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform @@ -7250,13 +7261,12 @@ declare class TransitionEffect { * @since 20 * @arkts 1.2 */ - static readonly IDENTITY: TransitionEffect; + static get IDENTITY(): TransitionEffect; /** * Specifies a transition effect with transparency of 0, which is equivalent to TransitionEffect.opacity(0). * * @type { TransitionEffect } - * @readonly * @static * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform @@ -7265,13 +7275,12 @@ declare class TransitionEffect { * @since 20 * @arkts 1.2 */ - static readonly OPACITY: TransitionEffect; + static get OPACITY(): TransitionEffect; /** * Defines a slide transition effect * * @type { TransitionEffect } - * @readonly * @static * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform @@ -7280,7 +7289,7 @@ declare class TransitionEffect { * @since 20 * @arkts 1.2 */ - static readonly SLIDE: TransitionEffect; + static get SLIDE(): TransitionEffect; /** * Specify a transition effect where the element enters by shrinking first and then expanding as it slides in from the right, @@ -7289,7 +7298,6 @@ declare class TransitionEffect { * The default animation duration is set to 600ms, and the specified animation curve is cubicBezierCurve(0.24, 0.0, 0.50, 1.0). * * @type { TransitionEffect } - * @readonly * @static * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform @@ -7298,7 +7306,7 @@ declare class TransitionEffect { * @since 20 * @arkts 1.2 */ - static readonly SLIDE_SWITCH: TransitionEffect; + static get SLIDE_SWITCH(): TransitionEffect; /** * Creates a translate transition effect diff --git a/api/@internal/component/ets/enums.d.ts b/api/@internal/component/ets/enums.d.ts index 9b7534ff63..d5ba928cc3 100644 --- a/api/@internal/component/ets/enums.d.ts +++ b/api/@internal/component/ets/enums.d.ts @@ -18,6 +18,10 @@ * @kit ArkUI */ +/*** if arkts 1.2 */ +import curves from '../../@ohos.curves'; +/*** endif */ + /** * common enum of the checkbox shape * @@ -1844,8 +1848,7 @@ declare enum AnimationStatus { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ declare enum Curve { /** @@ -1876,8 +1879,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ Linear, @@ -1909,8 +1911,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ Ease, @@ -1942,8 +1943,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ EaseIn, @@ -1975,8 +1975,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ EaseOut, @@ -2008,8 +2007,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ EaseInOut, @@ -2041,8 +2039,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ FastOutSlowIn, @@ -2074,8 +2071,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ LinearOutSlowIn, @@ -2107,8 +2103,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ FastOutLinearIn, @@ -2140,8 +2135,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ ExtremeDeceleration, @@ -2173,8 +2167,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ Sharp, @@ -2206,8 +2199,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ Rhythm, @@ -2239,8 +2231,7 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ Smooth, @@ -2272,12 +2263,24 @@ declare enum Curve { * @crossplatform * @form * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} - * @arkts 1.1&1.2 + * @since 11 */ Friction, } +/** + * enum Curve. + * + * @typedef { curves.Curve } Curve + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 + * @arkts 1.2 + */ +export type Curve = curves.Curve; + /** * Sets the state before and after the animation starts. * diff --git a/api/@internal/component/ets/particle.d.ts b/api/@internal/component/ets/particle.d.ts index 5f5fd3e2a6..301a6c13e1 100644 --- a/api/@internal/component/ets/particle.d.ts +++ b/api/@internal/component/ets/particle.d.ts @@ -2170,7 +2170,8 @@ interface Particles { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since 11 + * @since arkts {'1.1':'11','1.2':'20'} + * @arkts 1.1&1.2 */ interface ParticleInterface { /** @@ -2221,24 +2222,20 @@ interface ParticleInterface { ACC_ANGLE_UPDATER, SPIN_UPDATER >): ParticleAttribute; -} -/** - * Defines Particle Component. - * - * @param { Particles } particles - Particle infomation. - * @returns { ParticleAttribute } Returns the particle attribute. - * @syscap SystemCapability.ArkUI.ArkUI.Full - * @crossplatform - * @atomicservice - * @since 20 - * @arkts 1.2 - */ -@memo -@ComponentBuilder -export declare function Particle( - particles: Particles -): ParticleAttribute + /** + * create a particle array. + * + * @param { Particles } particles - Array of particles. + * @returns { ParticleAttribute } Returns the particle attribute. + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + (particles: Particles): ParticleAttribute; +} /** * Enumerates the particle types. diff --git a/api/@ohos.curves.d.ts b/api/@ohos.curves.d.ts index 54fd46f765..e0f9054ed8 100644 --- a/api/@ohos.curves.d.ts +++ b/api/@ohos.curves.d.ts @@ -40,7 +40,17 @@ * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ +/** + * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves. + * + * @namespace curves + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ declare namespace curves { @@ -66,10 +76,20 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * enum Curve. + * + * @enum { number } + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ - enum Curve { + export enum Curve { /** * Linear. Indicates that the animation has the same velocity from start to finish. * @@ -89,7 +109,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * Linear. Indicates that the animation has the same velocity from start to finish. + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ Linear, @@ -115,7 +144,17 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end, + * CubicBezier(0.25, 0.1, 0.25, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ Ease, @@ -138,7 +177,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ EaseIn, @@ -161,7 +209,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ EaseOut, @@ -184,7 +241,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ EaseInOut, @@ -207,7 +273,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ FastOutSlowIn, @@ -230,7 +305,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ LinearOutSlowIn, @@ -253,7 +337,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ FastOutLinearIn, @@ -276,7 +369,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ ExtremeDeceleration, @@ -299,7 +401,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ Sharp, @@ -322,7 +433,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ Rhythm, @@ -345,7 +465,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ Smooth, @@ -368,7 +497,16 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0). + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ Friction, @@ -396,10 +534,20 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * Interface for curve object. + * + * @interface ICurve + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ - interface ICurve { + export interface ICurve { /** * Get curve value by fraction. * @@ -428,7 +576,19 @@ declare namespace curves { * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice - * @since arkts {'1.1':'11','1.2':'20'} + * @since 11 + */ + /** + * Get curve value by fraction. + * + * @param { number } fraction -Indicates the current normalized time parameter. Value range: [0, 1]. + * Note: If the value is less than 0, it will be processed as 0. If the value is greater than 1, 1 is used. + * @returns { number } + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @crossplatform + * @form + * @atomicservice + * @since 20 * @arkts 1.1&1.2 */ interpolate(fraction: number): number; @@ -462,7 +622,7 @@ declare namespace curves { * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ - function initCurve(curve?: Curve): ICurve; + export function initCurve(curve?: Curve): ICurve; /** * Initializes the interpolator curve when called. @@ -507,7 +667,7 @@ declare namespace curves { * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ - function stepsCurve(count: number, end: boolean): ICurve; + export function stepsCurve(count: number, end: boolean): ICurve; /** * Constructs a custom curve when called. @@ -529,7 +689,7 @@ declare namespace curves { * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ - function customCurve(interpolate: (fraction: number) => number): ICurve; + export function customCurve(interpolate: (fraction: number) => number): ICurve; /** * Constructs a step curve when called. @@ -586,7 +746,7 @@ declare namespace curves { * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ - function cubicBezierCurve(x1: number, y1: number, x2: number, y2: number): ICurve; + export function cubicBezierCurve(x1: number, y1: number, x2: number, y2: number): ICurve; /** * Constructs a third-order Bezier curve when called. @@ -642,7 +802,7 @@ declare namespace curves { * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ - function springCurve(velocity: number, mass: number, stiffness: number, damping: number): ICurve; + export function springCurve(velocity: number, mass: number, stiffness: number, damping: number): ICurve; /** * Constructs a spring curve when called. @@ -704,7 +864,7 @@ declare namespace curves { * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ - function springMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve; + export function springMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve; /** * Constructs a responsive spring motion when called. @@ -750,7 +910,7 @@ declare namespace curves { * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ - function responsiveSpringMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve; + export function responsiveSpringMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve; /** * Constructs an interpolating spring curve when called, the animation duration can not be specified manually, @@ -790,7 +950,7 @@ declare namespace curves { * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ - function interpolatingSpring(velocity: number, mass: number, stiffness: number, damping: number): ICurve; + export function interpolatingSpring(velocity: number, mass: number, stiffness: number, damping: number): ICurve; } export default curves; -- Gitee