161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci* Copyright (c) 2024 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci* Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci* you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci* You may obtain a copy of the License at
661847f8eSopenharmony_ci*
761847f8eSopenharmony_ci* http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci*
961847f8eSopenharmony_ci* Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci* distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci* See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci* limitations under the License.
1461847f8eSopenharmony_ci*/
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit ArkGraphics2D
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport { AsyncCallback } from './@ohos.base';
2261847f8eSopenharmony_ci
2361847f8eSopenharmony_ci
2461847f8eSopenharmony_ci/**
2561847f8eSopenharmony_ci * @namespace uiEffect
2661847f8eSopenharmony_ci * @syscap SystemCapability.Graphics.Drawing
2761847f8eSopenharmony_ci * @since 12
2861847f8eSopenharmony_ci */
2961847f8eSopenharmony_cideclare namespace uiEffect {
3061847f8eSopenharmony_ci
3161847f8eSopenharmony_ci  /**
3261847f8eSopenharmony_ci   * The Filter for Component.
3361847f8eSopenharmony_ci   * @typedef Filter
3461847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
3561847f8eSopenharmony_ci   * @since 12
3661847f8eSopenharmony_ci   */
3761847f8eSopenharmony_ci  interface Filter {
3861847f8eSopenharmony_ci    /**
3961847f8eSopenharmony_ci     * Set the edge pixel stretch effect of the Component.
4061847f8eSopenharmony_ci     *
4161847f8eSopenharmony_ci     * @param { Array<number> } stretchSizes
4261847f8eSopenharmony_ci     * @param { TileMode } tileMode
4361847f8eSopenharmony_ci     * @returns { Filter }
4461847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
4561847f8eSopenharmony_ci     * @systemapi
4661847f8eSopenharmony_ci     * @since 12
4761847f8eSopenharmony_ci     */
4861847f8eSopenharmony_ci    pixelStretch(stretchSizes: Array<number>, tileMode: TileMode): Filter;
4961847f8eSopenharmony_ci
5061847f8eSopenharmony_ci    /**
5161847f8eSopenharmony_ci     * Set blur effect of the Component.
5261847f8eSopenharmony_ci     *
5361847f8eSopenharmony_ci     * @param { number } blurRadius
5461847f8eSopenharmony_ci     * @returns { Filter }
5561847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
5661847f8eSopenharmony_ci     * @since 12
5761847f8eSopenharmony_ci     */
5861847f8eSopenharmony_ci    blur(blurRadius: number): Filter;
5961847f8eSopenharmony_ci
6061847f8eSopenharmony_ci    /**
6161847f8eSopenharmony_ci     * Set waterRipple effect of the Component.
6261847f8eSopenharmony_ci     *
6361847f8eSopenharmony_ci     * @param { number } progress - Indicates the ripple progress. The value 1 indicates that ripples are displayed on all screens.
6461847f8eSopenharmony_ci     * @param { number } waveCount - The number of waves when the water ripples. The maximum count of waves is 3, the minimum value is 1,  default is 2.
6561847f8eSopenharmony_ci     * @param { number } x - Represents the X-axis position of center point  where the water ripple first appears on the screen.
6661847f8eSopenharmony_ci     * @param { number } y - Represents the Y-axis position of center point  where the water ripple first appears on the screen.
6761847f8eSopenharmony_ci     * @param { WaterRippleMode } rippleMode - Set the mode of water ripple,
6861847f8eSopenharmony_ci     * 0 for mobile to desktop(Receive), 1 for mobile to desktop(Send), 2 for mobile to mobile.
6961847f8eSopenharmony_ci     * @returns { Filter } - Returns  water ripple Filter.
7061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
7161847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
7261847f8eSopenharmony_ci     * @systemapi
7361847f8eSopenharmony_ci     * @since 12
7461847f8eSopenharmony_ci     */
7561847f8eSopenharmony_ci    waterRipple(progress: number, waveCount: number, x: number, y: number, rippleMode: WaterRippleMode): Filter;
7661847f8eSopenharmony_ci
7761847f8eSopenharmony_ci    /**
7861847f8eSopenharmony_ci     * Set the fly in or fly out effect of the component.
7961847f8eSopenharmony_ci     *
8061847f8eSopenharmony_ci     * @param { number } degree - set the degree of fly in or fly out effect, value range [0, 1].
8161847f8eSopenharmony_ci     * @param { FlyMode } flyMode - set the location of stretching when fly in or out
8261847f8eSopenharmony_ci     * If the value is 0, the component keep same, else the value is 1, component are fully fly out or fly in.
8361847f8eSopenharmony_ci     * @returns { Filter } - Returns  fly in fly out Filter.
8461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
8561847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
8661847f8eSopenharmony_ci     * @systemapi
8761847f8eSopenharmony_ci     * @since 12
8861847f8eSopenharmony_ci     */
8961847f8eSopenharmony_ci    flyInFlyOutEffect(degree: number, flyMode: FlyMode): Filter;
9061847f8eSopenharmony_ci
9161847f8eSopenharmony_ci    /**
9261847f8eSopenharmony_ci     * Set distort effect of the component.
9361847f8eSopenharmony_ci     *
9461847f8eSopenharmony_ci     * @param { number } distortionK - set the degree of distort effect, value range [-1, 1].
9561847f8eSopenharmony_ci     * If the value is 0, the component keep same,
9661847f8eSopenharmony_ci     * if the value is less than 0, the component is barrel distortion,
9761847f8eSopenharmony_ci     * if the value is more than 0, the component is pincussion distortion.
9861847f8eSopenharmony_ci     * @returns { Filter } - Returns distort Filter.
9961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
10061847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
10161847f8eSopenharmony_ci     * @systemapi
10261847f8eSopenharmony_ci     * @since 14
10361847f8eSopenharmony_ci     */
10461847f8eSopenharmony_ci    distort(distortionK: number): Filter;
10561847f8eSopenharmony_ci  }
10661847f8eSopenharmony_ci
10761847f8eSopenharmony_ci  /**
10861847f8eSopenharmony_ci   * TileMode enumeration description
10961847f8eSopenharmony_ci   *
11061847f8eSopenharmony_ci   * @enum { number }
11161847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
11261847f8eSopenharmony_ci   * @systemapi
11361847f8eSopenharmony_ci   * @since 12
11461847f8eSopenharmony_ci   */
11561847f8eSopenharmony_ci  enum TileMode {
11661847f8eSopenharmony_ci    /**
11761847f8eSopenharmony_ci     * Clamp mode.
11861847f8eSopenharmony_ci     *
11961847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
12061847f8eSopenharmony_ci     * @systemapi
12161847f8eSopenharmony_ci     * @since 12
12261847f8eSopenharmony_ci     */
12361847f8eSopenharmony_ci    CLAMP = 0,
12461847f8eSopenharmony_ci
12561847f8eSopenharmony_ci    /**
12661847f8eSopenharmony_ci     * Repeat mode.
12761847f8eSopenharmony_ci     *
12861847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
12961847f8eSopenharmony_ci     * @systemapi
13061847f8eSopenharmony_ci     * @since 12
13161847f8eSopenharmony_ci     */
13261847f8eSopenharmony_ci    REPEAT = 1,
13361847f8eSopenharmony_ci
13461847f8eSopenharmony_ci    /**
13561847f8eSopenharmony_ci     * Mirror mode.
13661847f8eSopenharmony_ci     *
13761847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
13861847f8eSopenharmony_ci     * @systemapi
13961847f8eSopenharmony_ci     * @since 12
14061847f8eSopenharmony_ci     */
14161847f8eSopenharmony_ci    MIRROR = 2,
14261847f8eSopenharmony_ci
14361847f8eSopenharmony_ci    /**
14461847f8eSopenharmony_ci     * Decal mode.
14561847f8eSopenharmony_ci     *
14661847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
14761847f8eSopenharmony_ci     * @systemapi
14861847f8eSopenharmony_ci     * @since 12
14961847f8eSopenharmony_ci     */
15061847f8eSopenharmony_ci    DECAL = 3,
15161847f8eSopenharmony_ci  }
15261847f8eSopenharmony_ci
15361847f8eSopenharmony_ci  /**
15461847f8eSopenharmony_ci   * WaterRippleMode enumeration description
15561847f8eSopenharmony_ci   *
15661847f8eSopenharmony_ci   * @enum { number }
15761847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
15861847f8eSopenharmony_ci   * @systemapi
15961847f8eSopenharmony_ci   * @since 12
16061847f8eSopenharmony_ci   */
16161847f8eSopenharmony_ci  enum WaterRippleMode {
16261847f8eSopenharmony_ci    /**
16361847f8eSopenharmony_ci     * SMALL2MEDIUM_RECV mode.
16461847f8eSopenharmony_ci     *
16561847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
16661847f8eSopenharmony_ci     * @systemapi
16761847f8eSopenharmony_ci     * @since 12
16861847f8eSopenharmony_ci     */
16961847f8eSopenharmony_ci    SMALL2MEDIUM_RECV = 0,
17061847f8eSopenharmony_ci
17161847f8eSopenharmony_ci    /**
17261847f8eSopenharmony_ci     * SMALL2MEDIUM_SEND mode.
17361847f8eSopenharmony_ci     *
17461847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
17561847f8eSopenharmony_ci     * @systemapi
17661847f8eSopenharmony_ci     * @since 12
17761847f8eSopenharmony_ci     */
17861847f8eSopenharmony_ci    SMALL2MEDIUM_SEND = 1,
17961847f8eSopenharmony_ci
18061847f8eSopenharmony_ci    /**
18161847f8eSopenharmony_ci     * SMALL2SMALL mode.
18261847f8eSopenharmony_ci     *
18361847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
18461847f8eSopenharmony_ci     * @systemapi
18561847f8eSopenharmony_ci     * @since 12
18661847f8eSopenharmony_ci     */
18761847f8eSopenharmony_ci    SMALL2SMALL = 2,
18861847f8eSopenharmony_ci  }
18961847f8eSopenharmony_ci
19061847f8eSopenharmony_ci  /**
19161847f8eSopenharmony_ci   * FlyMode enumeration description
19261847f8eSopenharmony_ci   *
19361847f8eSopenharmony_ci   * @enum { number }
19461847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
19561847f8eSopenharmony_ci   * @systemapi
19661847f8eSopenharmony_ci   * @since 12
19761847f8eSopenharmony_ci   */
19861847f8eSopenharmony_ci  enum FlyMode {
19961847f8eSopenharmony_ci    /**
20061847f8eSopenharmony_ci     * BOTTOM fly mode.
20161847f8eSopenharmony_ci     *
20261847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
20361847f8eSopenharmony_ci     * @systemapi
20461847f8eSopenharmony_ci     * @since 12
20561847f8eSopenharmony_ci     */
20661847f8eSopenharmony_ci    BOTTOM = 0,
20761847f8eSopenharmony_ci
20861847f8eSopenharmony_ci    /**
20961847f8eSopenharmony_ci     * TOP fly mode.
21061847f8eSopenharmony_ci     *
21161847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
21261847f8eSopenharmony_ci     * @systemapi
21361847f8eSopenharmony_ci     * @since 12
21461847f8eSopenharmony_ci     */
21561847f8eSopenharmony_ci    TOP = 1,
21661847f8eSopenharmony_ci  }
21761847f8eSopenharmony_ci
21861847f8eSopenharmony_ci  /**
21961847f8eSopenharmony_ci   * The VisualEffect of Component.
22061847f8eSopenharmony_ci   * @typedef VisualEffect
22161847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
22261847f8eSopenharmony_ci   * @since 12
22361847f8eSopenharmony_ci   */
22461847f8eSopenharmony_ci  interface VisualEffect {
22561847f8eSopenharmony_ci    /**
22661847f8eSopenharmony_ci    * A backgroundColorEffect effect is added to the Component.
22761847f8eSopenharmony_ci    * @param { BrightnessBlender } blender - The blender to blend backgroundColor.
22861847f8eSopenharmony_ci    * @returns { VisualEffect } VisualEffects for the current effect have been added.
22961847f8eSopenharmony_ci    * @syscap SystemCapability.Graphics.Drawing
23061847f8eSopenharmony_ci    * @systemapi
23161847f8eSopenharmony_ci    * @since 12
23261847f8eSopenharmony_ci    */
23361847f8eSopenharmony_ci    backgroundColorBlender(blender: BrightnessBlender): VisualEffect;
23461847f8eSopenharmony_ci  }
23561847f8eSopenharmony_ci
23661847f8eSopenharmony_ci  /**
23761847f8eSopenharmony_ci   * Defines the blending effect.
23861847f8eSopenharmony_ci   * @typedef Blender
23961847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
24061847f8eSopenharmony_ci   * @systemapi
24161847f8eSopenharmony_ci   * @since 13
24261847f8eSopenharmony_ci   */
24361847f8eSopenharmony_ci  type Blender = BrightnessBlender;
24461847f8eSopenharmony_ci
24561847f8eSopenharmony_ci  /**
24661847f8eSopenharmony_ci   * The Blender of backgroundColorEffect.
24761847f8eSopenharmony_ci   * @typedef BrightnessBlender
24861847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
24961847f8eSopenharmony_ci   * @systemapi
25061847f8eSopenharmony_ci   * @since 12
25161847f8eSopenharmony_ci   */
25261847f8eSopenharmony_ci  interface BrightnessBlender {
25361847f8eSopenharmony_ci    /**
25461847f8eSopenharmony_ci     * Defines third-order rate for grayscale adjustment.
25561847f8eSopenharmony_ci     *
25661847f8eSopenharmony_ci     * @type { number }
25761847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
25861847f8eSopenharmony_ci     * @systemapi
25961847f8eSopenharmony_ci     * @since 12
26061847f8eSopenharmony_ci     */
26161847f8eSopenharmony_ci    cubicRate: number;
26261847f8eSopenharmony_ci
26361847f8eSopenharmony_ci    /**
26461847f8eSopenharmony_ci     * Defines second-order rate for grayscale adjustment.
26561847f8eSopenharmony_ci     *
26661847f8eSopenharmony_ci     * @type { number }
26761847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
26861847f8eSopenharmony_ci     * @systemapi
26961847f8eSopenharmony_ci     * @since 12
27061847f8eSopenharmony_ci     */
27161847f8eSopenharmony_ci    quadraticRate: number;
27261847f8eSopenharmony_ci
27361847f8eSopenharmony_ci    /**
27461847f8eSopenharmony_ci     * Defines linear rate for grayscale adjustment.
27561847f8eSopenharmony_ci     *
27661847f8eSopenharmony_ci     * @type { number }
27761847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
27861847f8eSopenharmony_ci     * @systemapi
27961847f8eSopenharmony_ci     * @since 12
28061847f8eSopenharmony_ci     */
28161847f8eSopenharmony_ci    linearRate: number;
28261847f8eSopenharmony_ci
28361847f8eSopenharmony_ci    /**
28461847f8eSopenharmony_ci     * Defines grayscale adjustment degree.
28561847f8eSopenharmony_ci     *
28661847f8eSopenharmony_ci     * @type { number }
28761847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
28861847f8eSopenharmony_ci     * @systemapi
28961847f8eSopenharmony_ci     * @since 12
29061847f8eSopenharmony_ci     */
29161847f8eSopenharmony_ci    degree: number;
29261847f8eSopenharmony_ci
29361847f8eSopenharmony_ci    /**
29461847f8eSopenharmony_ci     * Defines the reference saturation for brightness.
29561847f8eSopenharmony_ci     *
29661847f8eSopenharmony_ci     * @type { number }
29761847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
29861847f8eSopenharmony_ci     * @systemapi
29961847f8eSopenharmony_ci     * @since 12
30061847f8eSopenharmony_ci     */
30161847f8eSopenharmony_ci    saturation: number;
30261847f8eSopenharmony_ci
30361847f8eSopenharmony_ci    /**
30461847f8eSopenharmony_ci     * Defines the positive adjustment coefficients in RGB channels based on the reference saturation.
30561847f8eSopenharmony_ci     *
30661847f8eSopenharmony_ci     * @type { [number, number, number] }
30761847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
30861847f8eSopenharmony_ci     * @systemapi
30961847f8eSopenharmony_ci     * @since 12
31061847f8eSopenharmony_ci     */
31161847f8eSopenharmony_ci    positiveCoefficient: [number, number, number];
31261847f8eSopenharmony_ci
31361847f8eSopenharmony_ci    /**
31461847f8eSopenharmony_ci     * Defines the negative adjustment coefficients in RGB channels based on the reference saturation.
31561847f8eSopenharmony_ci     *
31661847f8eSopenharmony_ci     * @type { [number, number, number] }
31761847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
31861847f8eSopenharmony_ci     * @systemapi
31961847f8eSopenharmony_ci     * @since 12
32061847f8eSopenharmony_ci     */
32161847f8eSopenharmony_ci    negativeCoefficient: [number, number, number];
32261847f8eSopenharmony_ci
32361847f8eSopenharmony_ci    /**
32461847f8eSopenharmony_ci     * Defines the blending fraction for brightness effect.
32561847f8eSopenharmony_ci     *
32661847f8eSopenharmony_ci     * @type { number }
32761847f8eSopenharmony_ci     * @syscap SystemCapability.Graphics.Drawing
32861847f8eSopenharmony_ci     * @systemapi
32961847f8eSopenharmony_ci     * @since 12
33061847f8eSopenharmony_ci     */
33161847f8eSopenharmony_ci    fraction: number;
33261847f8eSopenharmony_ci  }
33361847f8eSopenharmony_ci
33461847f8eSopenharmony_ci  /**
33561847f8eSopenharmony_ci   * Create a Filter to add multiple effects to the component.
33661847f8eSopenharmony_ci   * @returns { Filter } Returns the head node of Filter.
33761847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
33861847f8eSopenharmony_ci   * @since 12
33961847f8eSopenharmony_ci   */
34061847f8eSopenharmony_ci  function createFilter(): Filter;
34161847f8eSopenharmony_ci
34261847f8eSopenharmony_ci  /**
34361847f8eSopenharmony_ci   * Create a VisualEffect to add multiple effects to the component.
34461847f8eSopenharmony_ci   * @returns { VisualEffect } Returns the head node of visualEffect.
34561847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
34661847f8eSopenharmony_ci   * @since 12
34761847f8eSopenharmony_ci   */
34861847f8eSopenharmony_ci  function createEffect(): VisualEffect;
34961847f8eSopenharmony_ci
35061847f8eSopenharmony_ci  /**
35161847f8eSopenharmony_ci   * Create a BrightnessBlender to add BrightnessBlender to the component.
35261847f8eSopenharmony_ci   * @param { BrightnessBlenderParam } param - The brightness blender parameters.
35361847f8eSopenharmony_ci   * @returns { BrightnessBlender } Returns the blender.
35461847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
35561847f8eSopenharmony_ci   * @systemapi
35661847f8eSopenharmony_ci   * @since 12
35761847f8eSopenharmony_ci   */
35861847f8eSopenharmony_ci  function createBrightnessBlender(param: BrightnessBlenderParam): BrightnessBlender;
35961847f8eSopenharmony_ci}
36061847f8eSopenharmony_ci
36161847f8eSopenharmony_ci/**
36261847f8eSopenharmony_ci * The parameters of brightness blender.
36361847f8eSopenharmony_ci * @typedef BrightnessBlenderParam
36461847f8eSopenharmony_ci * @syscap SystemCapability.Graphics.Drawing
36561847f8eSopenharmony_ci * @systemapi
36661847f8eSopenharmony_ci * @since 12
36761847f8eSopenharmony_ci */
36861847f8eSopenharmony_cideclare interface BrightnessBlenderParam {
36961847f8eSopenharmony_ci  /**
37061847f8eSopenharmony_ci   * Defines third-order rate for grayscale adjustment.
37161847f8eSopenharmony_ci   *
37261847f8eSopenharmony_ci   * @type { number }
37361847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
37461847f8eSopenharmony_ci   * @systemapi
37561847f8eSopenharmony_ci   * @since 12
37661847f8eSopenharmony_ci   */
37761847f8eSopenharmony_ci  cubicRate: number;
37861847f8eSopenharmony_ci
37961847f8eSopenharmony_ci  /**
38061847f8eSopenharmony_ci   * Defines second-order rate for grayscale adjustment.
38161847f8eSopenharmony_ci   *
38261847f8eSopenharmony_ci   * @type { number }
38361847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
38461847f8eSopenharmony_ci   * @systemapi
38561847f8eSopenharmony_ci   * @since 12
38661847f8eSopenharmony_ci   */
38761847f8eSopenharmony_ci  quadraticRate: number;
38861847f8eSopenharmony_ci
38961847f8eSopenharmony_ci  /**
39061847f8eSopenharmony_ci   * Defines linear rate for grayscale adjustment.
39161847f8eSopenharmony_ci   *
39261847f8eSopenharmony_ci   * @type { number }
39361847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
39461847f8eSopenharmony_ci   * @systemapi
39561847f8eSopenharmony_ci   * @since 12
39661847f8eSopenharmony_ci   */
39761847f8eSopenharmony_ci  linearRate: number;
39861847f8eSopenharmony_ci
39961847f8eSopenharmony_ci  /**
40061847f8eSopenharmony_ci   * Defines grayscale adjustment degree.
40161847f8eSopenharmony_ci   *
40261847f8eSopenharmony_ci   * @type { number }
40361847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
40461847f8eSopenharmony_ci   * @systemapi
40561847f8eSopenharmony_ci   * @since 12
40661847f8eSopenharmony_ci   */
40761847f8eSopenharmony_ci  degree: number;
40861847f8eSopenharmony_ci
40961847f8eSopenharmony_ci  /**
41061847f8eSopenharmony_ci   * Defines the reference saturation for brightness.
41161847f8eSopenharmony_ci   *
41261847f8eSopenharmony_ci   * @type { number }
41361847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
41461847f8eSopenharmony_ci   * @systemapi
41561847f8eSopenharmony_ci   * @since 12
41661847f8eSopenharmony_ci   */
41761847f8eSopenharmony_ci  saturation: number;
41861847f8eSopenharmony_ci
41961847f8eSopenharmony_ci  /**
42061847f8eSopenharmony_ci   * Defines the positive adjustment coefficients in RGB channels based on the reference saturation.
42161847f8eSopenharmony_ci   *
42261847f8eSopenharmony_ci   * @type { [number, number, number] }
42361847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
42461847f8eSopenharmony_ci   * @systemapi
42561847f8eSopenharmony_ci   * @since 12
42661847f8eSopenharmony_ci   */
42761847f8eSopenharmony_ci  positiveCoefficient: [number, number, number];
42861847f8eSopenharmony_ci
42961847f8eSopenharmony_ci  /**
43061847f8eSopenharmony_ci   * Defines the negative adjustment coefficients in RGB channels based on the reference saturation.
43161847f8eSopenharmony_ci   *
43261847f8eSopenharmony_ci   * @type { [number, number, number] }
43361847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
43461847f8eSopenharmony_ci   * @systemapi
43561847f8eSopenharmony_ci   * @since 12
43661847f8eSopenharmony_ci   */
43761847f8eSopenharmony_ci  negativeCoefficient: [number, number, number];
43861847f8eSopenharmony_ci
43961847f8eSopenharmony_ci  /**
44061847f8eSopenharmony_ci   * Defines the blending fraction for brightness effect.
44161847f8eSopenharmony_ci   *
44261847f8eSopenharmony_ci   * @type { number }
44361847f8eSopenharmony_ci   * @syscap SystemCapability.Graphics.Drawing
44461847f8eSopenharmony_ci   * @systemapi
44561847f8eSopenharmony_ci   * @since 12
44661847f8eSopenharmony_ci   */
44761847f8eSopenharmony_ci  fraction: number;
44861847f8eSopenharmony_ci}
44961847f8eSopenharmony_ci
45061847f8eSopenharmony_ciexport default uiEffect;