161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2024-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 Defines 3D node related interfaces 1861847f8eSopenharmony_ci * @kit ArkGraphics3D 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport { SceneResource, Mesh } from './SceneResources'; 2261847f8eSopenharmony_ciimport { Position3, Quaternion, Scale3, Color } from './SceneTypes'; 2361847f8eSopenharmony_ciimport { PostProcessSettings } from './ScenePostProcessSettings'; 2461847f8eSopenharmony_ci 2561847f8eSopenharmony_ci/** 2661847f8eSopenharmony_ci * Defines the layer mask of the node. 2761847f8eSopenharmony_ci * 2861847f8eSopenharmony_ci * @interface LayerMask 2961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 3061847f8eSopenharmony_ci * @since 12 3161847f8eSopenharmony_ci */ 3261847f8eSopenharmony_ciexport interface LayerMask { 3361847f8eSopenharmony_ci /** 3461847f8eSopenharmony_ci * Get whether layer mask is enabled. 3561847f8eSopenharmony_ci * 3661847f8eSopenharmony_ci * @param { number } index - the layer mask 3761847f8eSopenharmony_ci * @returns { boolean } whether layer mask is enabled 3861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 3961847f8eSopenharmony_ci * @since 12 4061847f8eSopenharmony_ci */ 4161847f8eSopenharmony_ci getEnabled(index: number): boolean; 4261847f8eSopenharmony_ci 4361847f8eSopenharmony_ci /** 4461847f8eSopenharmony_ci * Set whether the layer mask is enabled. 4561847f8eSopenharmony_ci * 4661847f8eSopenharmony_ci * @param { number } index - the layer mask 4761847f8eSopenharmony_ci * @param { boolean } enabled - whether layer mask is enabled 4861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 4961847f8eSopenharmony_ci * @since 12 5061847f8eSopenharmony_ci */ 5161847f8eSopenharmony_ci setEnabled(index: number, enabled: boolean): void; 5261847f8eSopenharmony_ci} 5361847f8eSopenharmony_ci 5461847f8eSopenharmony_ci/** 5561847f8eSopenharmony_ci * The enum of node type. 5661847f8eSopenharmony_ci * 5761847f8eSopenharmony_ci * @enum { number } 5861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 5961847f8eSopenharmony_ci * @since 12 6061847f8eSopenharmony_ci */ 6161847f8eSopenharmony_ciexport enum NodeType { 6261847f8eSopenharmony_ci /** 6361847f8eSopenharmony_ci * The node is an empty node. 6461847f8eSopenharmony_ci * 6561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 6661847f8eSopenharmony_ci * @since 12 6761847f8eSopenharmony_ci */ 6861847f8eSopenharmony_ci NODE = 1, 6961847f8eSopenharmony_ci 7061847f8eSopenharmony_ci /** 7161847f8eSopenharmony_ci * The node is a geometry node. 7261847f8eSopenharmony_ci * 7361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 7461847f8eSopenharmony_ci * @since 12 7561847f8eSopenharmony_ci */ 7661847f8eSopenharmony_ci GEOMETRY = 2, 7761847f8eSopenharmony_ci 7861847f8eSopenharmony_ci /** 7961847f8eSopenharmony_ci * The node is a camera node. 8061847f8eSopenharmony_ci * 8161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 8261847f8eSopenharmony_ci * @since 12 8361847f8eSopenharmony_ci */ 8461847f8eSopenharmony_ci CAMERA = 3, 8561847f8eSopenharmony_ci 8661847f8eSopenharmony_ci /** 8761847f8eSopenharmony_ci * The node is a light node. 8861847f8eSopenharmony_ci * 8961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 9061847f8eSopenharmony_ci * @since 12 9161847f8eSopenharmony_ci */ 9261847f8eSopenharmony_ci LIGHT = 4 9361847f8eSopenharmony_ci} 9461847f8eSopenharmony_ci 9561847f8eSopenharmony_ci/** 9661847f8eSopenharmony_ci * Defines a scene object container. 9761847f8eSopenharmony_ci * 9861847f8eSopenharmony_ci * @interface Container 9961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 10061847f8eSopenharmony_ci * @since 12 10161847f8eSopenharmony_ci */ 10261847f8eSopenharmony_ciexport interface Container<T> { 10361847f8eSopenharmony_ci /** 10461847f8eSopenharmony_ci * Append a item to the container. 10561847f8eSopenharmony_ci * 10661847f8eSopenharmony_ci * @param { T } item - the item append to the end of container 10761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 10861847f8eSopenharmony_ci * @since 12 10961847f8eSopenharmony_ci */ 11061847f8eSopenharmony_ci append(item: T): void; 11161847f8eSopenharmony_ci 11261847f8eSopenharmony_ci /** 11361847f8eSopenharmony_ci * Insert a item. 11461847f8eSopenharmony_ci * 11561847f8eSopenharmony_ci * @param { T } item - the item insert to the container 11661847f8eSopenharmony_ci * @param { T | null } sibling - insert after this item, insert to the head if sibling is null 11761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 11861847f8eSopenharmony_ci * @since 12 11961847f8eSopenharmony_ci */ 12061847f8eSopenharmony_ci insertAfter(item: T, sibling: T | null): void; 12161847f8eSopenharmony_ci 12261847f8eSopenharmony_ci /** 12361847f8eSopenharmony_ci * Remove a item from Container's children. 12461847f8eSopenharmony_ci * 12561847f8eSopenharmony_ci * @param { T } item - the item to be removed 12661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 12761847f8eSopenharmony_ci * @since 12 12861847f8eSopenharmony_ci */ 12961847f8eSopenharmony_ci remove(item: T): void; 13061847f8eSopenharmony_ci 13161847f8eSopenharmony_ci /** 13261847f8eSopenharmony_ci * Returns a child at given index from this Container's child list. 13361847f8eSopenharmony_ci * 13461847f8eSopenharmony_ci * @param { number } index - the index of the child to return 13561847f8eSopenharmony_ci * @returns { T | null } return the item specified by the index 13661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 13761847f8eSopenharmony_ci * @since 12 13861847f8eSopenharmony_ci */ 13961847f8eSopenharmony_ci get(index: number): T | null; 14061847f8eSopenharmony_ci 14161847f8eSopenharmony_ci /** 14261847f8eSopenharmony_ci * Clear all children. 14361847f8eSopenharmony_ci * 14461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 14561847f8eSopenharmony_ci * @since 12 14661847f8eSopenharmony_ci */ 14761847f8eSopenharmony_ci clear(): void; 14861847f8eSopenharmony_ci 14961847f8eSopenharmony_ci /** 15061847f8eSopenharmony_ci * Returns the number of items in the container. 15161847f8eSopenharmony_ci * 15261847f8eSopenharmony_ci * @returns { number } the number of the container 15361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 15461847f8eSopenharmony_ci * @since 12 15561847f8eSopenharmony_ci */ 15661847f8eSopenharmony_ci count(): number; 15761847f8eSopenharmony_ci} 15861847f8eSopenharmony_ci 15961847f8eSopenharmony_ci/** 16061847f8eSopenharmony_ci * Defines Node interface. 16161847f8eSopenharmony_ci * 16261847f8eSopenharmony_ci * @interface Node 16361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 16461847f8eSopenharmony_ci * @since 12 16561847f8eSopenharmony_ci */ 16661847f8eSopenharmony_ciexport interface Node extends SceneResource { 16761847f8eSopenharmony_ci /** 16861847f8eSopenharmony_ci * position of the node. 16961847f8eSopenharmony_ci * 17061847f8eSopenharmony_ci * @type { Position3 } 17161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 17261847f8eSopenharmony_ci * @since 12 17361847f8eSopenharmony_ci */ 17461847f8eSopenharmony_ci position: Position3; 17561847f8eSopenharmony_ci 17661847f8eSopenharmony_ci /** 17761847f8eSopenharmony_ci * Rotation of the node. 17861847f8eSopenharmony_ci * 17961847f8eSopenharmony_ci * @type { Quaternion } 18061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 18161847f8eSopenharmony_ci * @since 12 18261847f8eSopenharmony_ci */ 18361847f8eSopenharmony_ci rotation: Quaternion; 18461847f8eSopenharmony_ci 18561847f8eSopenharmony_ci /** 18661847f8eSopenharmony_ci * Scale of the node. 18761847f8eSopenharmony_ci * 18861847f8eSopenharmony_ci * @type { Scale3 } 18961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 19061847f8eSopenharmony_ci * @since 12 19161847f8eSopenharmony_ci */ 19261847f8eSopenharmony_ci scale: Scale3; 19361847f8eSopenharmony_ci 19461847f8eSopenharmony_ci /** 19561847f8eSopenharmony_ci * Visibility flag for the node. 19661847f8eSopenharmony_ci * 19761847f8eSopenharmony_ci * @type { boolean } 19861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 19961847f8eSopenharmony_ci * @since 12 20061847f8eSopenharmony_ci */ 20161847f8eSopenharmony_ci visible: boolean; 20261847f8eSopenharmony_ci 20361847f8eSopenharmony_ci /** 20461847f8eSopenharmony_ci * Type of the node. 20561847f8eSopenharmony_ci * 20661847f8eSopenharmony_ci * @type { NodeType } 20761847f8eSopenharmony_ci * @readonly 20861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 20961847f8eSopenharmony_ci * @since 12 21061847f8eSopenharmony_ci */ 21161847f8eSopenharmony_ci readonly nodeType: NodeType; 21261847f8eSopenharmony_ci 21361847f8eSopenharmony_ci /** 21461847f8eSopenharmony_ci * Layer mask of the node. 21561847f8eSopenharmony_ci * 21661847f8eSopenharmony_ci * @type { LayerMask } 21761847f8eSopenharmony_ci * @readonly 21861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 21961847f8eSopenharmony_ci * @since 12 22061847f8eSopenharmony_ci */ 22161847f8eSopenharmony_ci readonly layerMask: LayerMask; 22261847f8eSopenharmony_ci 22361847f8eSopenharmony_ci /** 22461847f8eSopenharmony_ci * Path of the node. 22561847f8eSopenharmony_ci * 22661847f8eSopenharmony_ci * @type { string } 22761847f8eSopenharmony_ci * @readonly 22861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 22961847f8eSopenharmony_ci * @since 12 23061847f8eSopenharmony_ci */ 23161847f8eSopenharmony_ci readonly path: string; 23261847f8eSopenharmony_ci 23361847f8eSopenharmony_ci /** 23461847f8eSopenharmony_ci * Parent of the node. 23561847f8eSopenharmony_ci * 23661847f8eSopenharmony_ci * @type { Node | null } 23761847f8eSopenharmony_ci * @readonly 23861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 23961847f8eSopenharmony_ci * @since 12 24061847f8eSopenharmony_ci */ 24161847f8eSopenharmony_ci readonly parent: Node | null; 24261847f8eSopenharmony_ci 24361847f8eSopenharmony_ci /** 24461847f8eSopenharmony_ci * Get node by path. 24561847f8eSopenharmony_ci * 24661847f8eSopenharmony_ci * @param { string } path - the path of the node queried 24761847f8eSopenharmony_ci * @returns { Node | null } 24861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 24961847f8eSopenharmony_ci * @since 12 25061847f8eSopenharmony_ci */ 25161847f8eSopenharmony_ci getNodeByPath(path: string): Node | null; 25261847f8eSopenharmony_ci 25361847f8eSopenharmony_ci /** 25461847f8eSopenharmony_ci * Children of the node. 25561847f8eSopenharmony_ci * 25661847f8eSopenharmony_ci * @type { Container<Node> } 25761847f8eSopenharmony_ci * @readonly 25861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 25961847f8eSopenharmony_ci * @since 12 26061847f8eSopenharmony_ci */ 26161847f8eSopenharmony_ci readonly children: Container<Node> 26261847f8eSopenharmony_ci} 26361847f8eSopenharmony_ci 26461847f8eSopenharmony_ci/** 26561847f8eSopenharmony_ci * Defines Geometry interface. 26661847f8eSopenharmony_ci * 26761847f8eSopenharmony_ci * @interface Geometry 26861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 26961847f8eSopenharmony_ci * @since 12 27061847f8eSopenharmony_ci */ 27161847f8eSopenharmony_ciexport interface Geometry extends Node { 27261847f8eSopenharmony_ci /** 27361847f8eSopenharmony_ci * Mesh of the node. 27461847f8eSopenharmony_ci * 27561847f8eSopenharmony_ci * @type { Mesh } 27661847f8eSopenharmony_ci * @readonly 27761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 27861847f8eSopenharmony_ci * @since 12 27961847f8eSopenharmony_ci */ 28061847f8eSopenharmony_ci readonly mesh: Mesh; 28161847f8eSopenharmony_ci} 28261847f8eSopenharmony_ci 28361847f8eSopenharmony_ci/** 28461847f8eSopenharmony_ci * The enum of light type. 28561847f8eSopenharmony_ci * 28661847f8eSopenharmony_ci * @enum { number } 28761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 28861847f8eSopenharmony_ci * @since 12 28961847f8eSopenharmony_ci */ 29061847f8eSopenharmony_ciexport enum LightType { 29161847f8eSopenharmony_ci /** 29261847f8eSopenharmony_ci * Directional light. 29361847f8eSopenharmony_ci * 29461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 29561847f8eSopenharmony_ci * @since 12 29661847f8eSopenharmony_ci */ 29761847f8eSopenharmony_ci DIRECTIONAL = 1, 29861847f8eSopenharmony_ci 29961847f8eSopenharmony_ci /** 30061847f8eSopenharmony_ci * Spot light. 30161847f8eSopenharmony_ci * 30261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 30361847f8eSopenharmony_ci * @since 12 30461847f8eSopenharmony_ci */ 30561847f8eSopenharmony_ci SPOT = 2, 30661847f8eSopenharmony_ci} 30761847f8eSopenharmony_ci 30861847f8eSopenharmony_ci/** 30961847f8eSopenharmony_ci * Defines light interface. 31061847f8eSopenharmony_ci * 31161847f8eSopenharmony_ci * @interface Light 31261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 31361847f8eSopenharmony_ci * @since 12 31461847f8eSopenharmony_ci */ 31561847f8eSopenharmony_ciexport interface Light extends Node { 31661847f8eSopenharmony_ci /** 31761847f8eSopenharmony_ci * The type of the light. 31861847f8eSopenharmony_ci * 31961847f8eSopenharmony_ci * @type { LightType } 32061847f8eSopenharmony_ci * @readonly 32161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 32261847f8eSopenharmony_ci * @since 12 32361847f8eSopenharmony_ci */ 32461847f8eSopenharmony_ci readonly lightType: LightType; 32561847f8eSopenharmony_ci 32661847f8eSopenharmony_ci /** 32761847f8eSopenharmony_ci * The color of the light. 32861847f8eSopenharmony_ci * 32961847f8eSopenharmony_ci * @type { Color } 33061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 33161847f8eSopenharmony_ci * @since 12 33261847f8eSopenharmony_ci */ 33361847f8eSopenharmony_ci color: Color; 33461847f8eSopenharmony_ci 33561847f8eSopenharmony_ci /** 33661847f8eSopenharmony_ci * The intensity of the light. 33761847f8eSopenharmony_ci * 33861847f8eSopenharmony_ci * @type { number } 33961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 34061847f8eSopenharmony_ci * @since 12 34161847f8eSopenharmony_ci */ 34261847f8eSopenharmony_ci intensity: number; 34361847f8eSopenharmony_ci 34461847f8eSopenharmony_ci /** 34561847f8eSopenharmony_ci * Whether casting shadows. 34661847f8eSopenharmony_ci * 34761847f8eSopenharmony_ci * @type { boolean } 34861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 34961847f8eSopenharmony_ci * @since 12 35061847f8eSopenharmony_ci */ 35161847f8eSopenharmony_ci shadowEnabled: boolean; 35261847f8eSopenharmony_ci 35361847f8eSopenharmony_ci /** 35461847f8eSopenharmony_ci * Whether enable the light. 35561847f8eSopenharmony_ci * 35661847f8eSopenharmony_ci * @type { boolean } 35761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 35861847f8eSopenharmony_ci * @since 12 35961847f8eSopenharmony_ci */ 36061847f8eSopenharmony_ci enabled: boolean; 36161847f8eSopenharmony_ci} 36261847f8eSopenharmony_ci 36361847f8eSopenharmony_ci/** 36461847f8eSopenharmony_ci * Defines spot light. 36561847f8eSopenharmony_ci * 36661847f8eSopenharmony_ci * @interface SpotLight 36761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 36861847f8eSopenharmony_ci * @since 12 36961847f8eSopenharmony_ci */ 37061847f8eSopenharmony_ciexport interface SpotLight extends Light { 37161847f8eSopenharmony_ci} 37261847f8eSopenharmony_ci 37361847f8eSopenharmony_ci/** 37461847f8eSopenharmony_ci * Defines directional light. 37561847f8eSopenharmony_ci * 37661847f8eSopenharmony_ci * @interface DirectionalLight 37761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 37861847f8eSopenharmony_ci * @since 12 37961847f8eSopenharmony_ci */ 38061847f8eSopenharmony_ciexport interface DirectionalLight extends Light { 38161847f8eSopenharmony_ci} 38261847f8eSopenharmony_ci 38361847f8eSopenharmony_ci/** 38461847f8eSopenharmony_ci * Defines camera. 38561847f8eSopenharmony_ci * 38661847f8eSopenharmony_ci * @interface Camera 38761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 38861847f8eSopenharmony_ci * @since 12 38961847f8eSopenharmony_ci */ 39061847f8eSopenharmony_ciexport interface Camera extends Node { 39161847f8eSopenharmony_ci /** 39261847f8eSopenharmony_ci * Field of view of the camera. 39361847f8eSopenharmony_ci * 39461847f8eSopenharmony_ci * @type { number } 39561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 39661847f8eSopenharmony_ci * @since 12 39761847f8eSopenharmony_ci */ 39861847f8eSopenharmony_ci fov: number; 39961847f8eSopenharmony_ci 40061847f8eSopenharmony_ci /** 40161847f8eSopenharmony_ci * Near plane of the directional light. 40261847f8eSopenharmony_ci * 40361847f8eSopenharmony_ci * @type { number } 40461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 40561847f8eSopenharmony_ci * @since 12 40661847f8eSopenharmony_ci */ 40761847f8eSopenharmony_ci nearPlane: number; 40861847f8eSopenharmony_ci 40961847f8eSopenharmony_ci /** 41061847f8eSopenharmony_ci * Far plane of the directional light. 41161847f8eSopenharmony_ci * 41261847f8eSopenharmony_ci * @type { number } 41361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 41461847f8eSopenharmony_ci * @since 12 41561847f8eSopenharmony_ci */ 41661847f8eSopenharmony_ci farPlane: number; 41761847f8eSopenharmony_ci 41861847f8eSopenharmony_ci /** 41961847f8eSopenharmony_ci * Whether enabled the camera. 42061847f8eSopenharmony_ci * 42161847f8eSopenharmony_ci * @type { boolean } 42261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 42361847f8eSopenharmony_ci * @since 12 42461847f8eSopenharmony_ci */ 42561847f8eSopenharmony_ci enabled: boolean; 42661847f8eSopenharmony_ci 42761847f8eSopenharmony_ci /** 42861847f8eSopenharmony_ci * The post processing settings of the camera. 42961847f8eSopenharmony_ci * 43061847f8eSopenharmony_ci * @type { PostProcessSettings | null } 43161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 43261847f8eSopenharmony_ci * @since 12 43361847f8eSopenharmony_ci */ 43461847f8eSopenharmony_ci postProcess: PostProcessSettings | null; 43561847f8eSopenharmony_ci 43661847f8eSopenharmony_ci /** 43761847f8eSopenharmony_ci * Background clear color (environment background overrides this color, 43861847f8eSopenharmony_ci * BACKGROUND_NONE is needed for this to actually take effect). 43961847f8eSopenharmony_ci * 44061847f8eSopenharmony_ci * @type { Color | null } 44161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUi.Graphics3D 44261847f8eSopenharmony_ci * @since 12 44361847f8eSopenharmony_ci */ 44461847f8eSopenharmony_ci clearColor: Color | null; 44561847f8eSopenharmony_ci} 446