diff --git a/api/@ohos.curves.d.ts b/api/@ohos.curves.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..1ffd9819ad5008827d0a5ed60c7d78f796165608 --- /dev/null +++ b/api/@ohos.curves.d.ts @@ -0,0 +1,73 @@ +/* +* Copyright (c) 2021 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/** + * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves. + * @import import Curves from '@ohos.curves' + * @devices phone, tablet, tv, wearable + * @since 7 + */ +declare namespace curves { + /** + * enum Curve. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + enum Curve { + Linear, + Ease, + EaseIn, + EaseOut, + EaseInOut, + FastOutSlowIn, + LinearOutSlowIn, + FastOutLinearIn, + ExtremeDeceleration, + Sharp, + Rhythm, + Smooth, + Friction, + } + + /** + * Initializes the interpolator curve when called. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + function init(curve?: Curve): string; + + /** + * Constructs a step curve when called. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + function steps(count: number, end: boolean): string; + + /** + * Constructs a third-order Bezier curve when called. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + function cubicBezier(x1: number, y1: number, x2: number, y2: number): string; + + /** + * Constructs a spring curve when called. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + function spring(velocity: number, mass: number, stiffness: number, damping: number): string; +} + +export default curves; diff --git a/api/@ohos.matrix4.d.ts b/api/@ohos.matrix4.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..635a260179ca9879324b6c25558f6dd2759501a0 --- /dev/null +++ b/api/@ohos.matrix4.d.ts @@ -0,0 +1,277 @@ +/* + * Copyright (c) 2020 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Used to do matrix operations + * @import import Matrix4 from '@ohos.matrix4' + * @devices phone, tablet, tv, wearable + * @since 7 + */ +declare namespace matrix4 { + /** + * Set translation parameters + * @devices phone, tablet, tv, wearable + * @since 7 + */ + interface TranslateOption { + /** + * Indicates the translation distance of the x-axis, in px. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + x?: number; + + /** + * Indicates the translation distance of the y-axis, in px. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + y?: number; + + /** + * Indicates the translation distance of the z-axis, in px. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + z?: number; + } + + /** + * Set scaling parameters + * @devices phone, tablet, tv, wearable + * @since 7 + */ + interface ScaleOption { + /** + * Zoom factor of the x-axis. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + x?: number; + + /** + * Zoom factor of the y-axis. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + y?: number; + + /** + * Zoom factor of the z-axis. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + z?: number; + + /** + * Transform the x-axis coordinate of the center point. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + centerX?: number; + + /** + * Transform the y-axis coordinate of the center point. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + centerY?: number; + } + + /** + * Set Rotation Parameters. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + interface RotateOption { + /** + * Axis of rotation vector x coordinate. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + x?: number; + + /** + * Axis of rotation vector y coordinate. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + y?: number; + + /** + * Axis of rotation vector z coordinate. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + z?: number; + + /** + * Transform the x-axis coordinate of the center point. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + centerX?: number; + + /** + * Transform the y-axis coordinate of the center point. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + centerY?: number; + + /** + * Rotation angle. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + angle?: number; + } + + /** + * Matrix4Transit. + * @devices phone, tablet, tv, wearable + * @since 7 + */ + interface Matrix4Transit { + /** + * Copy function of Matrix, which can copy a copy of the current matrix object. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + copy(): Matrix4Transit; + + /** + * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + invert(): Matrix4Transit; + + /** + * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + combine(options:Matrix4Transit): Matrix4Transit; + + /** + * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + translate(options:TranslateOption): Matrix4Transit; + + /** + * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + scale(options:ScaleOption): Matrix4Transit; + + /* Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + rotate(options:RotateOption): Matrix4Transit; + + /** + * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + transformPoint(options:[number,number]): [number,number]; + } + + /** + * Constructor of Matrix, which can create a fourth-order matrix based on the input parameters. The matrix is column-first. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + function init(options: [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number]): Matrix4Transit; + + /** + * Matrix initialization function, which can return an identity matrix object. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + function identity(): Matrix4Transit; + + /** + * Copy function of Matrix, which can copy a copy of the current matrix object. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + function copy(): Matrix4Transit; + + /** + * The inverse function of Matrix returns an inverse matrix of the current matrix object, that is, the effect is exactly the opposite. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + function invert(): Matrix4Transit; + + /** + * Matrix superposition function, which can superpose the effects of two matrices to generate a new matrix object. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + function combine(options:Matrix4Transit): Matrix4Transit; + + /** + * Matrix translation function, which can add the x-axis, Y-axis, or Z-axis translation effect to the current matrix. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + function translate(options:TranslateOption): Matrix4Transit; + + /** + * Scaling function of the Matrix, which can add the x-axis, Y-axis, or Z-axis scaling effect to the current matrix. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + function scale(options:ScaleOption): Matrix4Transit; + + /** + * Rotation function of the Matrix. You can add the x-axis, Y-axis, or Z-axis rotation effect to the current matrix. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + function rotate(options:RotateOption): Matrix4Transit; + + /** + * Matrix coordinate point conversion function, which can apply the current transformation effect to a coordinate point. + * @since 7 + * @devices phone, tablet, tv, wearable + * @return Return to Matrix4Transit + */ + function transformPoint(options:[number,number]): [number,number]; +} + +export default matrix4; \ No newline at end of file diff --git a/api/@ohos.mediaquery.d.ts b/api/@ohos.mediaquery.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..fe889218bf4c2fbc32eb5beb197e38dc4c4db719 --- /dev/null +++ b/api/@ohos.mediaquery.d.ts @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {Callback} from './basic'; + +declare namespace mediaquery { + + interface MediaQueryResult { + + /** + * Whether the match condition is met. + * This parameter is read-only. + * @since 8 + */ + readonly matches: boolean; + + /** + * Matching condition of a media event. + * This parameter is read-only. + * @since 8 + */ + readonly media: string; + } + + interface MediaQueryListener extends MediaQueryResult { + + /** + * Registers a callback with the corresponding query condition by using the handle. + * This callback is triggered when the media attributes change. + * @since 8 + */ + on(type: 'change', callback: Callback): void; + + /** + * Deregisters a callback with the corresponding query condition by using the handle. + * This callback is not triggered when the media attributes chang. + * @since 8 + */ + off(type: 'change', callback?: Callback): void; + } + + /** + * Sets the media query criteria and returns the corresponding listening handle + * @since 8 + */ + function matchMediaSync(condition: string): MediaQueryListener; +} + +export default mediaquery;