diff --git a/en/application-dev/Readme-EN.md b/en/application-dev/Readme-EN.md index 206b69d6dc613a4e9434bbbf161f2d33c99c1b1c..dd682c80aab3d6eb42c86251fab551a3e0991e10 100644 --- a/en/application-dev/Readme-EN.md +++ b/en/application-dev/Readme-EN.md @@ -3,7 +3,6 @@ - [Application Development Overview](application-dev-guide.md) - [DevEco Studio \(OpenHarmony\) User Guide](quick-start/deveco-studio-user-guide-for-openharmony.md) - [Directory Structure](quick-start/package-structure.md) -- [Getting Started](quick-start/start.md) - [ArkUI](ui/ui-arkui.md) - [JavaScript-based Web-like Development Paradigm](ui/ui-arkui-js.md) diff --git a/en/application-dev/quick-start/Readme-EN.md b/en/application-dev/quick-start/Readme-EN.md index ae9b9c0c16f12b582364364cac781208f5e1494f..cb35fe17513b8b7111db96b57c7fa00605121b1f 100644 --- a/en/application-dev/quick-start/Readme-EN.md +++ b/en/application-dev/quick-start/Readme-EN.md @@ -11,7 +11,4 @@ - [Configuring the OpenHarmony App Signature](configuring-openharmony-app-signature.md) - [Installing and Running Your OpenHarmony App](installing-openharmony-app.md) - [Directory Structure](package-structure.md) -- [Getting Started](start.md) - - [Preparations](start-overview.md) - - [Getting Started with JavaScript](start-with-js.md) diff --git a/en/application-dev/quick-start/figures/en-us_image_0000001167850660.png b/en/application-dev/quick-start/figures/en-us_image_0000001167850660.png deleted file mode 100644 index 469ca774dde99530329d5e7bd62a5a40fb16237b..0000000000000000000000000000000000000000 Binary files a/en/application-dev/quick-start/figures/en-us_image_0000001167850660.png and /dev/null differ diff --git a/en/application-dev/quick-start/start-overview.md b/en/application-dev/quick-start/start-overview.md deleted file mode 100644 index 90ba0afd82988bde9af320446b52a29c52cddfd0..0000000000000000000000000000000000000000 --- a/en/application-dev/quick-start/start-overview.md +++ /dev/null @@ -1,62 +0,0 @@ -# Preparations - -## Task Description - -This document is intended for novices at developing apps. You will learn the development procedure from the following sections to build two pages and implement redirection from the first page to the second one. The following figure shows how the pages look on the [Previewer](https://developer.harmonyos.com/en/docs/documentation/doc-guides/previewer-0000001054328973#ZH-CN_TOPIC_0000001056725592__section16523172216252). - -For best results, use the [latest version of DevEco Studio](https://developer.harmonyos.com/en/develop/deveco-studio#download) for your development. - -![](figures/3.png) - -**Table 1** Comparison between ArkUI paradigms - - - - - - - - - - - - - - - - - - - - - - - - -

Comparison Item

-

JavaScript-based Web-like Development Paradigm

-

TypeScript-based Declarative Development Paradigm

-

Language

-

JS

-

eTS

-

Paradigm

-

Web-like paradigm

-

Declarative paradigm

-

Execution

-

Handled by the framework; data-driven automatic UI update

-

Handled by the framework; data-driven automatic UI update

-

Advantages

-

Simple and easy to use

-

Simplified development, less memory usage, and higher running performance

-
- -## Before You Start - -1. Install DevEco Studio and configure the development environment. For details, see [Configuring the OpenHarmony SDK](configuring-openharmony-sdk.md). -2. Create a project as instructed in [Creating an OpenHarmony Project](create-openharmony-project.md). - - If you are using the JavaScript language, select **Empty Ability** for **Template** and **JS** for **Language**. - -3. Use the [previewer](https://developer.harmonyos.com/en/docs/documentation/doc-guides/previewer-0000001054328973#EN-US_TOPIC_0000001056725592__section16523172216252) or [emulator](https://developer.harmonyos.com/en/docs/documentation/doc-guides/run_simulator-0000001053303709) to run the project. - -Now you have created your first OpenHarmony project. You can continue the development by following instructions in [Getting Started with JavaScript](start-with-js.md). - diff --git a/en/application-dev/quick-start/start-with-js.md b/en/application-dev/quick-start/start-with-js.md deleted file mode 100644 index bee0ea9153406836a01c380e4b3b23adb0c45489..0000000000000000000000000000000000000000 --- a/en/application-dev/quick-start/start-with-js.md +++ /dev/null @@ -1,114 +0,0 @@ -# Getting Started with JavaScript - -For best results, use the [latest version of DevEco Studio](https://developer.harmonyos.com/en/develop/deveco-studio#download) for your development. - -## Building the First Page - -1. Add a **Text** and a **Button** component to the first page. - - In the **Project** window, choose **entry** \> **src** \> **main** \> **js** \> **default** \> **pages** \> **index**, open the **index.hml** file, and add the components. - - ``` - -
- - - Hello World - - - -
- ``` - -2. Open the **index.css** file and set text and button styles. - - ``` - /* index.css */ - .container { - flex-direction: column; /* Arrange container items vertically. */ - justify-content: center; /* Center the items along the main axis of the container. */ - align-items: center; /* Center the items along the cross axis of the container. */ - width:100%; - height:100%; - } - /* Set the style for the component of the text class. */ - .text{ - font-size: 42px; - } - /* Set the style for the component of the button class. */ - .button { - width: 240px; - height: 60px; - background-color: #007dff; - font-size: 30px; - text-color: white; - margin-top: 20px; - } - ``` - -3. [Preview](https://developer.harmonyos.com/en/docs/documentation/doc-guides/previewer-0000001054328973#EN-US_TOPIC_0000001056725592__section16523172216252) or [run your app on the emulator](https://developer.harmonyos.com/en/docs/documentation/doc-guides/run_simulator-0000001053303709). The following figure shows the running effect. - - ![](figures/1.png) - - -## Creating the Second Page - -1. In the **Project** window, choose **entry** \> **src** \> **main** \> **js** \> **default**, right-click the **pages** folder, and then choose **New** \> **JS Page**. Name the new page **details** and press **Enter**. - - Below is the structure of the **pages** folder: - - ![](figures/en-us_image_0000001167850660.png) - -2. Open the **details.hml** file, add the **** component, and set its layout. - - ``` - -
- - Hi there - -
- ``` - -3. Open the **details.css** file and set the text style. - - ``` - /* details.css */ - .container { - flex-direction: column; - justify-content: center; - align-items: center; - width:100%; - height:100%; - } - .text { - font-size: 42px; - text-align: center; - } - ``` - - -## Implementing Page Redirection - -1. Open the **index.js** file and import the router module. The page router finds the target page based on its URI for the redirection. The sample code is as follows: - - ``` - // index.js - import router from '@system.router'; - - export default { - launch() { - router.push ({ - uri:'pages/details/details', // Specify the page to be redirected to. - }) - } - } - ``` - -2. [Preview](https://developer.harmonyos.com/en/docs/documentation/doc-guides/previewer-0000001054328973#EN-US_TOPIC_0000001056725592__section16523172216252) or [run your app on the emulator](https://developer.harmonyos.com/en/docs/documentation/doc-guides/run_simulator-0000001053303709) again. The following figure shows the running effect. - - ![](figures/2.png) - - -Congratulations! You have finished developing your app in JavaScript. - diff --git a/en/application-dev/quick-start/start.md b/en/application-dev/quick-start/start.md deleted file mode 100644 index 1e4c7a3ff554ac98af6844a00a2275924a3b5305..0000000000000000000000000000000000000000 --- a/en/application-dev/quick-start/start.md +++ /dev/null @@ -1,7 +0,0 @@ -# Getting Started - -- **[Preparations](start-overview.md)** - -- **[Getting Started with JavaScript](start-with-js.md)** - - diff --git a/en/application-dev/reference/apis/js-apis-bluetooth.md b/en/application-dev/reference/apis/js-apis-bluetooth.md index 41295611985e939ba1ada638060c747b9873f5cb..588c942cb2b77556023606197b23a106f9ffc0be 100644 --- a/en/application-dev/reference/apis/js-apis-bluetooth.md +++ b/en/application-dev/reference/apis/js-apis-bluetooth.md @@ -2111,7 +2111,7 @@ let deviceName = gattClient.getDeviceName().then((data) => { getRssiValue(callback: AsyncCallback<number>): void -Obtains the received signal strength indication (RSSI) of the peer BLE device. This method uses an asynchronous callback to return the result. It can be used only after a connection is set up by calling [connect](#connect-boolean). +Obtains the received signal strength indication (RSSI) of the peer BLE device. This method uses an asynchronous callback to return the result. It can be used only after a connection is set up by calling [connect](#connect). **Parameters:** @@ -2140,7 +2140,7 @@ let rssi = gattClient.getRssiValue((err, data)=> { getRssiValue(): Promise<number> -Obtains the RSSI of the peer BLE device. This method uses a promise to return the result. It can be used only after a connection is set up by calling [connect](#connect-boolean). +Obtains the RSSI of the peer BLE device. This method uses a promise to return the result. It can be used only after a connection is set up by calling [connect](#connect). **Return values:** diff --git a/en/application-dev/reference/apis/js-apis-data-resultset.md b/en/application-dev/reference/apis/js-apis-data-resultset.md index c672898f18348a1fcf2f7302e31b8168162c2968..4a13518debfc8bd7ad762e81ca69035d464082e9 100644 --- a/en/application-dev/reference/apis/js-apis-data-resultset.md +++ b/en/application-dev/reference/apis/js-apis-data-resultset.md @@ -8,7 +8,7 @@ SystemCapability.DistributedDataManager.RelationalStore.Core ## Usage -The **resultSet** object is obtained by using [**RdbStore.query\(\)**](js-apis-data-rdb.md#section6231155031814). +The **resultSet** object is obtained by using [**RdbStore.query\(\)**](js-apis-data-rdb.md#query). ``` import dataRdb from '@ohos.data.rdb'; @@ -795,4 +795,3 @@ Closes the result set. }) ``` - diff --git a/en/application-dev/reference/apis/js-apis-hichecker.md b/en/application-dev/reference/apis/js-apis-hichecker.md index dec8de1c5414a6036413e8463d16b779f66bd140..70022fd0211204446dee616640221bd394f61e7e 100644 --- a/en/application-dev/reference/apis/js-apis-hichecker.md +++ b/en/application-dev/reference/apis/js-apis-hichecker.md @@ -22,7 +22,7 @@ Provides the constants of all rule types. | Name| Type| Description| | ---------------------------------- | -------- | ------------------------------------------------------ | | RULE_CAUTION_PRINT_LOG | BigInt | Alarm rule, which is programmed to print a log when an alarm is generated.| -| RULE_CAUTION_TRIGGER_CRASH | BigInt | Alarm rule. When an alarm is generated, the application exits.| +| RULE_CAUTION_TRIGGER_CRASH | BigInt | Alarm rule, which is programmed to force the application to exit when an alarm is generated.| | RULE_THREAD_CHECK_SLOW_PROCESS | BigInt | Caution rule, which is programmed to detect whether any time-consuming function is invoked.| | RULE_CHECK_SLOW_EVENT | BigInt | Caution rule, which is programmed to detect whether the event distribution or processing time has exceeded the specified time threshold.| | RULE_CHECK_ABILITY_CONNECTION_LEAK | BigInt | Caution rule, which is programmed to detect whether ability leakage has occurred.| diff --git a/en/application-dev/reference/apis/js-apis-settings.md b/en/application-dev/reference/apis/js-apis-settings.md index afb02dba1e8104b405b6d280c75e55466d398165..bc2b4d022ac2bf949104cbb192e1a8776be3c565 100644 --- a/en/application-dev/reference/apis/js-apis-settings.md +++ b/en/application-dev/reference/apis/js-apis-settings.md @@ -19,9 +19,9 @@ import settings from '@ohos.settings'; None -## settings.getUri +## settings.getUriSync -getUri(name: string): string +getUriSync(name: string): string Obtains the URI of a data item. @@ -38,13 +38,13 @@ Obtains the URI of a data item. - Example ``` // Obtain the URI of a data item. - let urivar = settings.getUri('settings.screen.brightness'); + let urivar = settings.getUriSync('settings.screen.brightness'); ``` -## settings.getValue +## settings.getValueSync -getValue(dataAbilityHelper: DataAbilityHelper, name: string, defValue: string): string +getValueSync(dataAbilityHelper: DataAbilityHelper, name: string, defValue: string): string Obtains the value of a data item. @@ -66,18 +66,18 @@ Obtains the value of a data item. // Obtain the value of 'settings.screen.brightness' (this data item already exists in the database). let brightness = 'settings.screen.brightness'; - let uri = settings.getUri(brightness); + let uri = settings.getUriSync(brightness); let helper = featureAbility.acquireDataAbilityHelper(uri); - let value = settings.getValue(helper, brightness, '10'); + let value = settings.getValueSync(helper, brightness, '10'); ``` -## settings.setValue +## settings.setValueSync -setValue(dataAbilityHelper: DataAbilityHelper, name: string, value: string): boolean +setValueSync(dataAbilityHelper: DataAbilityHelper, name: string, value: string): boolean Sets the value of a data item. -If the specified data item exists in the database, the **setValue** method updates the value of the data item. If the data item does not exist in the database, the **setValue** method inserts the data item into the database. +If the specified data item exists in the database, the **setValueSync** method updates the value of the data item. If the data item does not exist in the database, the **setValueSync** method inserts the data item into the database. To use this method, you must have the **ohos.permission.WRITE_SYSTEM_SETTING** permission. @@ -97,10 +97,10 @@ To use this method, you must have the **ohos.permission.WRITE_SYSTEM_SETTING** p ``` import featureAbility from '@ohos.featureAbility'; - // Update the value of 'settings.screen.brightness'. (As this data item exists in the database, the setValue method + // Update the value of 'settings.screen.brightness'. (As this data item exists in the database, the setValueSync method will update the value of the data item.) let brightness = 'settings.screen.brightness'; - let uri = settings.getUri(brightness); + let uri = settings.getUriSync(brightness); let helper = featureAbility.acquireDataAbilityHelper(uri); - let ret = settings.setValue(helper, brightness, '100'); + let ret = settings.setValueSync(helper, brightness, '100'); ``` diff --git a/en/application-dev/reference/apis/js-apis-webgl.md b/en/application-dev/reference/apis/js-apis-webgl.md index 8247029ffb23e8667c3625f364a96f58c316eb2e..da8d99f69cf791cf35f3e9bb3346ea8b1f96ca5e 100644 --- a/en/application-dev/reference/apis/js-apis-webgl.md +++ b/en/application-dev/reference/apis/js-apis-webgl.md @@ -1,696 +1,587 @@ -# WebGL +# webgl -> ![icon-note.gif](public_sys-resources/icon-note.gif) **Note:** +> ![icon-note.gif](public_sys-resources/icon-note.gif) **Note:** > The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. -This module provides WebGL APIs that correspond to the OpenGL ES 2.0 feature set. For more information, see [WebGL™](https://www.khronos.org/registry/webgl/specs/latest/1.0/). - - +This module provides WebGL APIs that correspond to the OpenGL ES 2.0 feature set. For more information, see [WebGL™](https://www.khronos.org/registry/webgl/specs/latest/2.0/). ## Modules to Import + ``` -import webgl from 'ohos.webglnapi' +import webgl from '@ohos.webglnapi'; ``` -## System Capabilities +## Invoking Method -SystemCapability.Graphic.Graphic2D.WebGL +Create a **<canvas>** component in the HML file. The following is an example: + +``` +
+ + +
+``` -## Invoking Method +Obtain the **<canvas>** component instance in the JS file. The following is an example: + ``` -// Obtain the component instance. -const el = this.$refs.canvas -// Obtain the WebGL context from the component instance. +// Obtain the component instance. +const el = this.$refs.canvas1; +// Obtain the WebGL context from the component instance. const gl = el.getContext('webgl'); // Call the WebGL API. gl.clearColor(0.0, 0.0, 0.0, 1.0); -gl.flush(); ``` -## GLenum - -| Name| Type| -| -------- | -------- | -| GLenum | number | - - -## GLboolean - -| Name| Type| -| -------- | -------- | -| GLboolean | boolean | - - -## GLbitfield - -| Name| Type| -| -------- | -------- | -| GLbitfield | number | - - -## GLbyte - -| Name| Type| -| -------- | -------- | -| GLbyte | number | - - -## GLshort - -| Name| Type| -| -------- | -------- | -| GLshort | number | - - -## GLint - -| Name| Type| -| -------- | -------- | -| GLint | number | - - -## GLsizei - -| Name| Type| -| -------- | -------- | -| GLsizei | number | - - -## GLintptr - -| Name| Type| -| -------- | -------- | -| GLintptr | number | - - -## GLsizeiptr - -| Name| Type| -| -------- | -------- | -| GLsizeiptr | number | - - -## GLubyte - -| Name| Type| -| -------- | -------- | -| GLubyte | number | - - -## GLushort - -| Name| Type| -| -------- | -------- | -| GLushort | number | - +## Type -## GLuint + **Table1** Type -| Name| Type| -| -------- | -------- | -| GLuint | number | - - -## GLfloat - -| Name| Type| -| -------- | -------- | -| GLfloat | number | - - -## GLclampf - -| Name| Type| -| -------- | -------- | -| GLclampf | number | - - -## TexImageSource - -| Name| Type| -| -------- | -------- | -| TexImageSource | ImageData | - - -## Float32List - -| Name| Type| -| -------- | -------- | -| Float32List | array | - - -## Int32List - -| Name| Type| -| -------- | -------- | -| Int32List | array | - - -## WebGLPowerPreference - -| Name| Type| +| Name | Type | Description | +| -------- | -------- | -------- | +| GLenum | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLboolean | boolean | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLbitfield | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLbyte | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLshort | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLint | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLsizei | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLintptr | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLsizeiptr | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLubyte | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLushort | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLuint | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLfloat | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| GLclampf | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| TexImageSource | ImageData | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| Float32List | array | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| Int32List | array | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLPowerPreference | string | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | + + +## Interface + + **Table2** Interface + +| Name | Description | | -------- | -------- | -| WebGLPowerPreference | string | - - -## webgl.WebGLContextAttributes +| [WebGLContextAttributes](#webglcontextattributes) | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLBuffer | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLFrameBuffer | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLProgram | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLRenderbuffer | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLShader | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLTexture | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLUniformLocation | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| [WebGLActiveInfo](#webglactiveinfo) | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| [WebGLShaderPrecisionFormat](#webglshaderprecisionformat) | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| [WebGLRenderingContextBase](#webglrenderingcontextbase) | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | +| [WebGLRenderingContextOverloads](#webglrenderingcontextoverloads) | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL | + + +## WebGLContextAttributes WebGLContextAttributes -| Name| Type| Mandatory| + | Name | Type | Mandatory | | -------- | -------- | -------- | -| alpha | boolean | No| -| depth | boolean | No| -| stencil | boolean | No| -| antialias | boolean | No| -| premultipliedAlpha | boolean | No| -| preserveDrawingBuffer | boolean | No| -| powerPreference | WebGLPowerPreference | No| -| failIfMajorPerformanceCaveat | boolean | No| -| desynchronized | boolean | No| - - -## webgl.WebGLBuffer - -WebGLBuffer - - -## webgl.WebGLFrameBuffer - -WebGLFrameBuffer - - -## webgl.WebGLProgram - -WebGLProgram - - -## webgl.WebGLRenderbuffer - -WebGLRenderbuffer - - -## webgl.WebGLShader - -WebGLShader - - -## webgl.WebGLTexture - -WebGLTexture - - -## webgl.WebGLUniformLocation - -WebGLUniformLocation +| alpha | boolean | No | +| depth | boolean | No | +| stencil | boolean | No | +| antialias | boolean | No | +| premultipliedAlpha | boolean | No | +| preserveDrawingBuffer | boolean | No | +| powerPreference | WebGLPowerPreference | No | +| failIfMajorPerformanceCaveat | boolean | No | +| desynchronized | boolean | No | -## webgl.WebGLActiveInfo +## WebGLActiveInfo WebGLActiveInfo -| Name| Type| Mandatory| + | Name | Type | Mandatory | | -------- | -------- | -------- | -| size | [GLint](#glint) | Yes| -| type | [GLenum](#glenum) | Yes| -| name | string | Yes| +| size | GLint | Yes | +| type | GLenum | Yes | +| name | string | Yes | -## webgl.WebGLShaderPrecisionFormat +## WebGLShaderPrecisionFormat WebGLShaderPrecisionFormat -| Name| Type| Mandatory| + | Name | Type | Mandatory | | -------- | -------- | -------- | -| rangeMin | [GLint](#glint) | Yes| -| rangeMax | [GLint](#glint) | Yes| -| precision | [GLint](#glint) | Yes| +| rangeMin | GLint | Yes | +| rangeMax | GLint | Yes | +| precision | GLint | Yes | -## webgl.WebGLRenderingContextBase +## WebGLRenderingContextBase WebGLRenderingContextBase ### Attributes -| Name| Type| Mandatory| + | Name | Type | Mandatory | | -------- | -------- | -------- | -| DEPTH_BUFFER_BIT | [GLenum](#glenum) | Yes| -| STENCIL_BUFFER_BIT | [GLenum](#glenum) | Yes| -| COLOR_BUFFER_BIT | [GLenum](#glenum) | Yes| -| POINTS | [GLenum](#glenum) | Yes| -| LINES | [GLenum](#glenum) | Yes| -| LINE_LOOP | [GLenum](#glenum) | Yes| -| LINE_STRIP | [GLenum](#glenum) | Yes| -| TRIANGLES | [GLenum](#glenum) | Yes| -| TRIANGLE_STRIP | [GLenum](#glenum) | Yes| -| TRIANGLE_FAN | [GLenum](#glenum) | Yes| -| ZERO | [GLenum](#glenum) | Yes| -| ONE | [GLenum](#glenum) | Yes| -| SRC_COLOR | [GLenum](#glenum) | Yes| -| ONE_MINUS_SRC_COLOR | [GLenum](#glenum) | Yes| -| SRC_ALPHA | [GLenum](#glenum) | Yes| -| ONE_MINUS_SRC_ALPHA | [GLenum](#glenum) | Yes| -| DST_ALPHA | [GLenum](#glenum) | Yes| -| ONE_MINUS_DST_ALPHA | [GLenum](#glenum) | Yes| -| DST_COLOR | [GLenum](#glenum) | Yes| -| ONE_MINUS_DST_COLOR | [GLenum](#glenum) | Yes| -| SRC_ALPHA_SATURATE | [GLenum](#glenum) | Yes| -| FUNC_ADD | [GLenum](#glenum) | Yes| -| BLEND_EQUATION | [GLenum](#glenum) | Yes| -| BLEND_EQUATION_RGB | [GLenum](#glenum) | Yes| -| BLEND_EQUATION_ALPHA | [GLenum](#glenum) | Yes| -| FUNC_SUBTRACT | [GLenum](#glenum) | Yes| -| FUNC_REVERSE_SUBTRACT | [GLenum](#glenum) | Yes| -| BLEND_DST_RGB | [GLenum](#glenum) | Yes| -| BLEND_SRC_RGB | [GLenum](#glenum) | Yes| -| BLEND_DST_ALPHA | [GLenum](#glenum) | Yes| -| BLEND_SRC_ALPHA | [GLenum](#glenum) | Yes| -| CONSTANT_COLOR | [GLenum](#glenum) | Yes| -| ONE_MINUS_CONSTANT_COLOR | [GLenum](#glenum) | Yes| -| CONSTANT_ALPHA | [GLenum](#glenum) | Yes| -| ONE_MINUS_CONSTANT_ALPHA | [GLenum](#glenum) | Yes| -| BLEND_COLOR | [GLenum](#glenum) | Yes| -| ARRAY_BUFFER | [GLenum](#glenum) | Yes| -| ELEMENT_ARRAY_BUFFER | [GLenum](#glenum) | Yes| -| ARRAY_BUFFER_BINDING | [GLenum](#glenum) | Yes| -| ELEMENT_ARRAY_BUFFER_BINDING | [GLenum](#glenum) | Yes| -| STREAM_DRAW | [GLenum](#glenum) | Yes| -| STATIC_DRAW | [GLenum](#glenum) | Yes| -| DYNAMIC_DRAW | [GLenum](#glenum) | Yes| -| BUFFER_SIZE | [GLenum](#glenum) | Yes| -| BUFFER_USAGE | [GLenum](#glenum) | Yes| -| CURRENT_VERTEX_ATTRIB | [GLenum](#glenum) | Yes| -| FRONT | [GLenum](#glenum) | Yes| -| BACK | [GLenum](#glenum) | Yes| -| FRONT_AND_BACK | [GLenum](#glenum) | Yes| -| CULL_FACE | [GLenum](#glenum) | Yes| -| BLEND | [GLenum](#glenum) | Yes| -| DITHER | [GLenum](#glenum) | Yes| -| STENCIL_TEST | [GLenum](#glenum) | Yes| -| DEPTH_TEST | [GLenum](#glenum) | Yes| -| SCISSOR_TEST | [GLenum](#glenum) | Yes| -| POLYGON_OFFSET_FILL | [GLenum](#glenum) | Yes| -| SAMPLE_ALPHA_TO_COVERAGE | [GLenum](#glenum) | Yes| -| SAMPLE_COVERAGE | [GLenum](#glenum) | Yes| -| NO_ERROR | [GLenum](#glenum) | Yes| -| INVALID_ENUM | [GLenum](#glenum) | Yes| -| INVALID_VALUE | [GLenum](#glenum) | Yes| -| INVALID_OPERATION | [GLenum](#glenum) | Yes| -| OUT_OF_MEMORY | [GLenum](#glenum) | Yes| -| CW | [GLenum](#glenum) | Yes| -| CCW | [GLenum](#glenum) | Yes| -| ALIASED_POINT_SIZE_RANGE | [GLenum](#glenum) | Yes| -| ALIASED_LINE_WIDTH_RANGE | [GLenum](#glenum) | Yes| -| CULL_FACE_MODE | [GLenum](#glenum) | Yes| -| FRONT_FACE | [GLenum](#glenum) | Yes| -| DEPTH_RANGE | [GLenum](#glenum) | Yes| -| DEPTH_WRITEMASK | [GLenum](#glenum) | Yes| -| DEPTH_CLEAR_VALUE | [GLenum](#glenum) | Yes| -| DEPTH_FUNC | [GLenum](#glenum) | Yes| -| STENCIL_CLEAR_VALUE | [GLenum](#glenum) | Yes| -| STENCIL_FUNC | [GLenum](#glenum) | Yes| -| STENCIL_FAIL | [GLenum](#glenum) | Yes| -| STENCIL_PASS_DEPTH_FAIL | [GLenum](#glenum) | Yes| -| STENCIL_PASS_DEPTH_PASS | [GLenum](#glenum) | Yes| -| STENCIL_REF | [GLenum](#glenum) | Yes| -| STENCIL_VALUE_MASK | [GLenum](#glenum) | Yes| -| STENCIL_WRITEMASK | [GLenum](#glenum) | Yes| -| STENCIL_BACK_FUNC | [GLenum](#glenum) | Yes| -| STENCIL_BACK_FAIL | [GLenum](#glenum) | Yes| -| STENCIL_BACK_PASS_DEPTH_FAIL | [GLenum](#glenum) | Yes| -| STENCIL_BACK_PASS_DEPTH_PASS | [GLenum](#glenum) | Yes| -| STENCIL_BACK_REF | [GLenum](#glenum) | Yes| -| STENCIL_BACK_VALUE_MASK | [GLenum](#glenum) | Yes| -| STENCIL_BACK_WRITEMASK | [GLenum](#glenum) | Yes| -| VIEWPORT | [GLenum](#glenum) | Yes| -| SCISSOR_BOX | [GLenum](#glenum) | Yes| -| COLOR_CLEAR_VALUE | [GLenum](#glenum) | Yes| -| COLOR_WRITEMASK | [GLenum](#glenum) | Yes| -| UNPACK_ALIGNMENT | [GLenum](#glenum) | Yes| -| PACK_ALIGNMENT | [GLenum](#glenum) | Yes| -| MAX_TEXTURE_SIZE | [GLenum](#glenum) | Yes| -| MAX_VIEWPORT_DIMS | [GLenum](#glenum) | Yes| -| SUBPIXEL_BITS | [GLenum](#glenum) | Yes| -| RED_BITS | [GLenum](#glenum) | Yes| -| GREEN_BITS | [GLenum](#glenum) | Yes| -| BLUE_BITS | [GLenum](#glenum) | Yes| -| ALPHA_BITS | [GLenum](#glenum) | Yes| -| DEPTH_BITS | [GLenum](#glenum) | Yes| -| STENCIL_BITS | [GLenum](#glenum) | Yes| -| POLYGON_OFFSET_UNITS | [GLenum](#glenum) | Yes| -| POLYGON_OFFSET_FACTOR | [GLenum](#glenum) | Yes| -| TEXTURE_BINDING_2D | [GLenum](#glenum) | Yes| -| SAMPLE_BUFFERS | [GLenum](#glenum) | Yes| -| SAMPLES | [GLenum](#glenum) | Yes| -| SAMPLE_COVERAGE_VALUE | [GLenum](#glenum) | Yes| -| SAMPLE_COVERAGE_INVERT | [GLenum](#glenum) | Yes| -| COMPRESSED_TEXTURE_FORMATS | [GLenum](#glenum) | Yes| -| DONT_CARE | [GLenum](#glenum) | Yes| -| FASTEST | [GLenum](#glenum) | Yes| -| NICEST | [GLenum](#glenum) | Yes| -| GENERATE_MIPMAP_HINT | [GLenum](#glenum) | Yes| -| BYTE | [GLenum](#glenum) | Yes| -| UNSIGNED_BYTE | [GLenum](#glenum) | Yes| -| SHORT | [GLenum](#glenum) | Yes| -| UNSIGNED_SHORT | [GLenum](#glenum) | Yes| -| INT | [GLenum](#glenum) | Yes| -| UNSIGNED_INT | [GLenum](#glenum) | Yes| -| FLOAT | [GLenum](#glenum) | Yes| -| DEPTH_COMPONENT | [GLenum](#glenum) | Yes| -| ALPHA | [GLenum](#glenum) | Yes| -| RGB | [GLenum](#glenum) | Yes| -| RGBA | [GLenum](#glenum) | Yes| -| LUMINANCE | [GLenum](#glenum) | Yes| -| LUMINANCE_ALPHA | [GLenum](#glenum) | Yes| -| UNSIGNED_SHORT_4_4_4_4 | [GLenum](#glenum) | Yes| -| UNSIGNED_SHORT_5_5_5_1 | [GLenum](#glenum) | Yes| -| UNSIGNED_SHORT_5_6_5 | [GLenum](#glenum) | Yes| -| FRAGMENT_SHADER | [GLenum](#glenum) | Yes| -| VERTEX_SHADER | [GLenum](#glenum) | Yes| -| MAX_VERTEX_ATTRIBS | [GLenum](#glenum) | Yes| -| MAX_VERTEX_UNIFORM_VECTORS | [GLenum](#glenum) | Yes| -| MAX_VARYING_VECTORS | [GLenum](#glenum) | Yes| -| MAX_COMBINED_TEXTURE_IMAGE_UNITS | [GLenum](#glenum) | Yes| -| MAX_VERTEX_TEXTURE_IMAGE_UNITS | [GLenum](#glenum) | Yes| -| MAX_TEXTURE_IMAGE_UNITS | [GLenum](#glenum) | Yes| -| MAX_FRAGMENT_UNIFORM_VECTORS | [GLenum](#glenum) | Yes| -| SHADER_TYPE | [GLenum](#glenum) | Yes| -| DELETE_STATUS | [GLenum](#glenum) | Yes| -| LINK_STATUS | [GLenum](#glenum) | Yes| -| VALIDATE_STATUS | [GLenum](#glenum) | Yes| -| ATTACHED_SHADERS | [GLenum](#glenum) | Yes| -| ACTIVE_UNIFORMS | [GLenum](#glenum) | Yes| -| ACTIVE_ATTRIBUTES | [GLenum](#glenum) | Yes| -| SHADING_LANGUAGE_VERSION | [GLenum](#glenum) | Yes| -| CURRENT_PROGRAM | [GLenum](#glenum) | Yes| -| NEVER | [GLenum](#glenum) | Yes| -| LESS | [GLenum](#glenum) | Yes| -| EQUAL | [GLenum](#glenum) | Yes| -| LEQUAL | [GLenum](#glenum) | Yes| -| GREATER | [GLenum](#glenum) | Yes| -| NOTEQUAL | [GLenum](#glenum) | Yes| -| GEQUAL | [GLenum](#glenum) | Yes| -| ALWAYS | [GLenum](#glenum) | Yes| -| KEEP | [GLenum](#glenum) | Yes| -| REPLACE | [GLenum](#glenum) | Yes| -| INCR | [GLenum](#glenum) | Yes| -| DECR | [GLenum](#glenum) | Yes| -| INVERT | [GLenum](#glenum) | Yes| -| INCR_WRAP | [GLenum](#glenum) | Yes| -| DECR_WRAP | [GLenum](#glenum) | Yes| -| VENDOR | [GLenum](#glenum) | Yes| -| RENDERER | [GLenum](#glenum) | Yes| -| VERSION | [GLenum](#glenum) | Yes| -| NEAREST | [GLenum](#glenum) | Yes| -| LINEAR | [GLenum](#glenum) | Yes| -| NEAREST_MIPMAP_NEAREST | [GLenum](#glenum) | Yes| -| LINEAR_MIPMAP_NEAREST | [GLenum](#glenum) | Yes| -| NEAREST_MIPMAP_LINEAR | [GLenum](#glenum) | Yes| -| LINEAR_MIPMAP_LINEAR | [GLenum](#glenum) | Yes| -| TEXTURE_MAG_FILTER | [GLenum](#glenum) | Yes| -| TEXTURE_MIN_FILTER | [GLenum](#glenum) | Yes| -| TEXTURE_WRAP_S | [GLenum](#glenum) | Yes| -| TEXTURE_WRAP_T | [GLenum](#glenum) | Yes| -| TEXTURE_2D | [GLenum](#glenum) | Yes| -| TEXTURE | [GLenum](#glenum) | Yes| -| TEXTURE_CUBE_MAP | [GLenum](#glenum) | Yes| -| TEXTURE_BINDING_CUBE_MAP | [GLenum](#glenum) | Yes| -| TEXTURE_CUBE_MAP_POSITIVE_X | [GLenum](#glenum) | Yes| -| TEXTURE_CUBE_MAP_NEGATIVE_X | [GLenum](#glenum) | Yes| -| TEXTURE_CUBE_MAP_POSITIVE_Y | [GLenum](#glenum) | Yes| -| TEXTURE_CUBE_MAP_NEGATIVE_Y | [GLenum](#glenum) | Yes| -| TEXTURE_CUBE_MAP_POSITIVE_Z | [GLenum](#glenum) | Yes| -| TEXTURE_CUBE_MAP_NEGATIVE_Z | [GLenum](#glenum) | Yes| -| TEXTURE0 | [GLenum](#glenum) | Yes| -| TEXTURE1 | [GLenum](#glenum) | Yes| -| TEXTURE2 | [GLenum](#glenum) | Yes| -| TEXTURE3 | [GLenum](#glenum) | Yes| -| TEXTURE4 | [GLenum](#glenum) | Yes| -| TEXTURE5 | [GLenum](#glenum) | Yes| -| TEXTURE6 | [GLenum](#glenum) | Yes| -| TEXTURE7 | [GLenum](#glenum) | Yes| -| TEXTURE8 | [GLenum](#glenum) | Yes| -| TEXTURE9 | [GLenum](#glenum) | Yes| -| TEXTURE10 | [GLenum](#glenum) | Yes| -| TEXTURE11 | [GLenum](#glenum) | Yes| -| TEXTURE12 | [GLenum](#glenum) | Yes| -| TEXTURE13 | [GLenum](#glenum) | Yes| -| TEXTURE14 | [GLenum](#glenum) | Yes| -| TEXTURE15 | [GLenum](#glenum) | Yes| -| TEXTURE16 | [GLenum](#glenum) | Yes| -| TEXTURE17 | [GLenum](#glenum) | Yes| -| TEXTURE18 | [GLenum](#glenum) | Yes| -| TEXTURE19 | [GLenum](#glenum) | Yes| -| TEXTURE20 | [GLenum](#glenum) | Yes| -| TEXTURE21 | [GLenum](#glenum) | Yes| -| TEXTURE22 | [GLenum](#glenum) | Yes| -| TEXTURE23 | [GLenum](#glenum) | Yes| -| TEXTURE24 | [GLenum](#glenum) | Yes| -| TEXTURE25 | [GLenum](#glenum) | Yes| -| TEXTURE26 | [GLenum](#glenum) | Yes| -| TEXTURE27 | [GLenum](#glenum) | Yes| -| TEXTURE28 | [GLenum](#glenum) | Yes| -| TEXTURE29 | [GLenum](#glenum) | Yes| -| TEXTURE30 | [GLenum](#glenum) | Yes| -| TEXTURE31 | [GLenum](#glenum) | Yes| -| ACTIVE_TEXTURE | [GLenum](#glenum) | Yes| -| REPEAT | [GLenum](#glenum) | Yes| -| CLAMP_TO_EDGE | [GLenum](#glenum) | Yes| -| MIRRORED_REPEAT | [GLenum](#glenum) | Yes| -| FLOAT_VEC2 | [GLenum](#glenum) | Yes| -| FLOAT_VEC3 | [GLenum](#glenum) | Yes| -| FLOAT_VEC4 | [GLenum](#glenum) | Yes| -| INT_VEC2 | [GLenum](#glenum) | Yes| -| INT_VEC3 | [GLenum](#glenum) | Yes| -| INT_VEC4 | [GLenum](#glenum) | Yes| -| BOOL | [GLenum](#glenum) | Yes| -| BOOL_VEC2 | [GLenum](#glenum) | Yes| -| BOOL_VEC3 | [GLenum](#glenum) | Yes| -| BOOL_VEC4 | [GLenum](#glenum) | Yes| -| FLOAT_MAT2 | [GLenum](#glenum) | Yes| -| FLOAT_MAT3 | [GLenum](#glenum) | Yes| -| FLOAT_MAT4 | [GLenum](#glenum) | Yes| -| SAMPLER_2D | [GLenum](#glenum) | Yes| -| SAMPLER_CUBE | [GLenum](#glenum) | Yes| -| VERTEX_ATTRIB_ARRAY_ENABLED | [GLenum](#glenum) | Yes| -| VERTEX_ATTRIB_ARRAY_SIZE | [GLenum](#glenum) | Yes| -| VERTEX_ATTRIB_ARRAY_STRIDE | [GLenum](#glenum) | Yes| -| VERTEX_ATTRIB_ARRAY_TYPE | [GLenum](#glenum) | Yes| -| VERTEX_ATTRIB_ARRAY_NORMALIZED | [GLenum](#glenum) | Yes| -| VERTEX_ATTRIB_ARRAY_POINTER | [GLenum](#glenum) | Yes| -| VERTEX_ATTRIB_ARRAY_BUFFER_BINDING | [GLenum](#glenum) | Yes| -| IMPLEMENTATION_COLOR_READ_TYPE | [GLenum](#glenum) | Yes| -| IMPLEMENTATION_COLOR_READ_FORMAT | [GLenum](#glenum) | Yes| -| COMPILE_STATUS | [GLenum](#glenum) | Yes| -| LOW_FLOAT | [GLenum](#glenum) | Yes| -| MEDIUM_FLOAT | [GLenum](#glenum) | Yes| -| HIGH_FLOAT | [GLenum](#glenum) | Yes| -| LOW_INT | [GLenum](#glenum) | Yes| -| MEDIUM_INT | [GLenum](#glenum) | Yes| -| HIGH_INT | [GLenum](#glenum) | Yes| -| FRAMEBUFFER | [GLenum](#glenum) | Yes| -| RENDERBUFFER | [GLenum](#glenum) | Yes| -| RGBA4 | [GLenum](#glenum) | Yes| -| RGB5_A1 | [GLenum](#glenum) | Yes| -| RGB565 | [GLenum](#glenum) | Yes| -| DEPTH_COMPONENT16 | [GLenum](#glenum) | Yes| -| STENCIL_INDEX8 | [GLenum](#glenum) | Yes| -| DEPTH_STENCIL | [GLenum](#glenum) | Yes| -| RENDERBUFFER_WIDTH | [GLenum](#glenum) | Yes| -| RENDERBUFFER_HEIGHT | [GLenum](#glenum) | Yes| -| RENDERBUFFER_INTERNAL_FORMAT | [GLenum](#glenum) | Yes| -| RENDERBUFFER_RED_SIZE | [GLenum](#glenum) | Yes| -| RENDERBUFFER_GREEN_SIZE | [GLenum](#glenum) | Yes| -| RENDERBUFFER_BLUE_SIZE | [GLenum](#glenum) | Yes| -| RENDERBUFFER_ALPHA_SIZE | [GLenum](#glenum) | Yes| -| RENDERBUFFER_DEPTH_SIZE | [GLenum](#glenum) | Yes| -| RENDERBUFFER_STENCIL_SIZE | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_OBJECT_NAME | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE | [GLenum](#glenum) | Yes| -| COLOR_ATTACHMENT0 | [GLenum](#glenum) | Yes| -| DEPTH_ATTACHMENT | [GLenum](#glenum) | Yes| -| STENCIL_ATTACHMENT | [GLenum](#glenum) | Yes| -| DEPTH_STENCIL_ATTACHMENT | [GLenum](#glenum) | Yes| -| NONE | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_COMPLETE | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_INCOMPLETE_ATTACHMENT | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_INCOMPLETE_DIMENSIONS | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_UNSUPPORTED | [GLenum](#glenum) | Yes| -| FRAMEBUFFER_BINDING | [GLenum](#glenum) | Yes| -| RENDERBUFFER_BINDING | [GLenum](#glenum) | Yes| -| MAX_RENDERBUFFER_SIZE | [GLenum](#glenum) | Yes| -| INVALID_FRAMEBUFFER_OPERATION | [GLenum](#glenum) | Yes| -| UNPACK_FLIP_Y_WEBGL | [GLenum](#glenum) | Yes| -| UNPACK_PREMULTIPLY_ALPHA_WEBGL | [GLenum](#glenum) | Yes| -| CONTEXT_LOST_WEBGL | [GLenum](#glenum) | Yes| -| UNPACK_COLORSPACE_CONVERSION_WEBGL | [GLenum](#glenum) | Yes| -| BROWSER_DEFAULT_WEBGL | [GLenum](#glenum) | Yes| -| canvas | HTMLCanvasElement \| OffscreenCanvas | Yes| -| drawingBufferWidth | [GLsizei](#glsizei) | Yes| -| drawingBufferHeight | [GLsizei](#glsizei) | Yes| +| DEPTH_BUFFER_BIT | GLenum | Yes | +| STENCIL_BUFFER_BIT | GLenum | Yes | +| COLOR_BUFFER_BIT | GLenum | Yes | +| POINTS | GLenum | Yes | +| LINES | GLenum | Yes | +| LINE_LOOP | GLenum | Yes | +| LINE_STRIP | GLenum | Yes | +| TRIANGLES | GLenum | Yes | +| TRIANGLE_STRIP | GLenum | Yes | +| TRIANGLE_FAN | GLenum | Yes | +| ZERO | GLenum | Yes | +| ONE | GLenum | Yes | +| SRC_COLOR | GLenum | Yes | +| ONE_MINUS_SRC_COLOR | GLenum | Yes | +| SRC_ALPHA | GLenum | Yes | +| ONE_MINUS_SRC_ALPHA | GLenum | Yes | +| DST_ALPHA | GLenum | Yes | +| ONE_MINUS_DST_ALPHA | GLenum | Yes | +| DST_COLOR | GLenum | Yes | +| ONE_MINUS_DST_COLOR | GLenum | Yes | +| SRC_ALPHA_SATURATE | GLenum | Yes | +| FUNC_ADD | GLenum | Yes | +| BLEND_EQUATION | GLenum | Yes | +| BLEND_EQUATION_RGB | GLenum | Yes | +| BLEND_EQUATION_ALPHA | GLenum | Yes | +| FUNC_SUBTRACT | GLenum | Yes | +| FUNC_REVERSE_SUBTRACT | GLenum | Yes | +| BLEND_DST_RGB | GLenum | Yes | +| BLEND_SRC_RGB | GLenum | Yes | +| BLEND_DST_ALPHA | GLenum | Yes | +| BLEND_SRC_ALPHA | GLenum | Yes | +| CONSTANT_COLOR | GLenum | Yes | +| ONE_MINUS_CONSTANT_COLOR | GLenum | Yes | +| CONSTANT_ALPHA | GLenum | Yes | +| ONE_MINUS_CONSTANT_ALPHA | GLenum | Yes | +| BLEND_COLOR | GLenum | Yes | +| ARRAY_BUFFER | GLenum | Yes | +| ELEMENT_ARRAY_BUFFER | GLenum | Yes | +| ARRAY_BUFFER_BINDING | GLenum | Yes | +| ELEMENT_ARRAY_BUFFER_BINDING | GLenum | Yes | +| STREAM_DRAW | GLenum | Yes | +| STATIC_DRAW | GLenum | Yes | +| DYNAMIC_DRAW | GLenum | Yes | +| BUFFER_SIZE | GLenum | Yes | +| BUFFER_USAGE | GLenum | Yes | +| CURRENT_VERTEX_ATTRIB | GLenum | Yes | +| FRONT | GLenum | Yes | +| BACK | GLenum | Yes | +| FRONT_AND_BACK | GLenum | Yes | +| CULL_FACE | GLenum | Yes | +| BLEND | GLenum | Yes | +| DITHER | GLenum | Yes | +| STENCIL_TEST | GLenum | Yes | +| DEPTH_TEST | GLenum | Yes | +| SCISSOR_TEST | GLenum | Yes | +| POLYGON_OFFSET_FILL | GLenum | Yes | +| SAMPLE_ALPHA_TO_COVERAGE | GLenum | Yes | +| SAMPLE_COVERAGE | GLenum | Yes | +| NO_ERROR | GLenum | Yes | +| INVALID_ENUM | GLenum | Yes | +| INVALID_VALUE | GLenum | Yes | +| INVALID_OPERATION | GLenum | Yes | +| OUT_OF_MEMORY | GLenum | Yes | +| CW | GLenum | Yes | +| CCW | GLenum | Yes | +| LINE_WIDTH | GLenum | Yes | +| ALIASED_POINT_SIZE_RANGE | GLenum | Yes | +| ALIASED_LINE_WIDTH_RANGE | GLenum | Yes | +| CULL_FACE_MODE | GLenum | Yes | +| FRONT_FACE | GLenum | Yes | +| DEPTH_RANGE | GLenum | Yes | +| DEPTH_WRITEMASK | GLenum | Yes | +| DEPTH_CLEAR_VALUE | GLenum | Yes | +| DEPTH_FUNC | GLenum | Yes | +| STENCIL_CLEAR_VALUE | GLenum | Yes | +| STENCIL_FUNC | GLenum | Yes | +| STENCIL_FAIL | GLenum | Yes | +| STENCIL_PASS_DEPTH_FAIL | GLenum | Yes | +| STENCIL_PASS_DEPTH_PASS | GLenum | Yes | +| STENCIL_REF | GLenum | Yes | +| STENCIL_VALUE_MASK | GLenum | Yes | +| STENCIL_WRITEMASK | GLenum | Yes | +| STENCIL_BACK_FUNC | GLenum | Yes | +| STENCIL_BACK_FAIL | GLenum | Yes | +| STENCIL_BACK_PASS_DEPTH_FAIL | GLenum | Yes | +| STENCIL_BACK_PASS_DEPTH_PASS | GLenum | Yes | +| STENCIL_BACK_REF | GLenum | Yes | +| STENCIL_BACK_VALUE_MASK | GLenum | Yes | +| STENCIL_BACK_WRITEMASK | GLenum | Yes | +| VIEWPORT | GLenum | Yes | +| SCISSOR_BOX | GLenum | Yes | +| COLOR_CLEAR_VALUE | GLenum | Yes | +| COLOR_WRITEMASK | GLenum | Yes | +| UNPACK_ALIGNMENT | GLenum | Yes | +| PACK_ALIGNMENT | GLenum | Yes | +| MAX_TEXTURE_SIZE | GLenum | Yes | +| MAX_VIEWPORT_DIMS | GLenum | Yes | +| SUBPIXEL_BITS | GLenum | Yes | +| RED_BITS | GLenum | Yes | +| GREEN_BITS | GLenum | Yes | +| BLUE_BITS | GLenum | Yes | +| ALPHA_BITS | GLenum | Yes | +| DEPTH_BITS | GLenum | Yes | +| STENCIL_BITS | GLenum | Yes | +| POLYGON_OFFSET_UNITS | GLenum | Yes | +| POLYGON_OFFSET_FACTOR | GLenum | Yes | +| TEXTURE_BINDING_2D | GLenum | Yes | +| SAMPLE_BUFFERS | GLenum | Yes | +| SAMPLES | GLenum | Yes | +| SAMPLE_COVERAGE_VALUE | GLenum | Yes | +| SAMPLE_COVERAGE_INVERT | GLenum | Yes | +| COMPRESSED_TEXTURE_FORMATS | GLenum | Yes | +| DONT_CARE | GLenum | Yes | +| FASTEST | GLenum | Yes | +| NICEST | GLenum | Yes | +| GENERATE_MIPMAP_HINT | GLenum | Yes | +| BYTE | GLenum | Yes | +| UNSIGNED_BYTE | GLenum | Yes | +| SHORT | GLenum | Yes | +| UNSIGNED_SHORT | GLenum | Yes | +| INT | GLenum | Yes | +| UNSIGNED_INT | GLenum | Yes | +| FLOAT | GLenum | Yes | +| DEPTH_COMPONENT | GLenum | Yes | +| ALPHA | GLenum | Yes | +| RGB | GLenum | Yes | +| RGBA | GLenum | Yes | +| LUMINANCE | GLenum | Yes | +| LUMINANCE_ALPHA | GLenum | Yes | +| UNSIGNED_SHORT_4_4_4_4 | GLenum | Yes | +| UNSIGNED_SHORT_5_5_5_1 | GLenum | Yes | +| UNSIGNED_SHORT_5_6_5 | GLenum | Yes | +| FRAGMENT_SHADER | GLenum | Yes | +| VERTEX_SHADER | GLenum | Yes | +| MAX_VERTEX_ATTRIBS | GLenum | Yes | +| MAX_VERTEX_UNIFORM_VECTORS | GLenum | Yes | +| MAX_VARYING_VECTORS | GLenum | Yes | +| MAX_COMBINED_TEXTURE_IMAGE_UNITS | GLenum | Yes | +| MAX_VERTEX_TEXTURE_IMAGE_UNITS | GLenum | Yes | +| MAX_TEXTURE_IMAGE_UNITS | GLenum | Yes | +| MAX_FRAGMENT_UNIFORM_VECTORS | GLenum | Yes | +| SHADER_TYPE | GLenum | Yes | +| DELETE_STATUS | GLenum | Yes | +| LINK_STATUS | GLenum | Yes | +| VALIDATE_STATUS | GLenum | Yes | +| ATTACHED_SHADERS | GLenum | Yes | +| ACTIVE_UNIFORMS | GLenum | Yes | +| ACTIVE_ATTRIBUTES | GLenum | Yes | +| SHADING_LANGUAGE_VERSION | GLenum | Yes | +| CURRENT_PROGRAM | GLenum | Yes | +| NEVER | GLenum | Yes | +| LESS | GLenum | Yes | +| EQUAL | GLenum | Yes | +| LEQUAL | GLenum | Yes | +| GREATER | GLenum | Yes | +| NOTEQUAL | GLenum | Yes | +| GEQUAL | GLenum | Yes | +| ALWAYS | GLenum | Yes | +| KEEP | GLenum | Yes | +| REPLACE | GLenum | Yes | +| INCR | GLenum | Yes | +| DECR | GLenum | Yes | +| INVERT | GLenum | Yes | +| INCR_WRAP | GLenum | Yes | +| DECR_WRAP | GLenum | Yes | +| VENDOR | GLenum | Yes | +| RENDERER | GLenum | Yes | +| VERSION | GLenum | Yes | +| NEAREST | GLenum | Yes | +| LINEAR | GLenum | Yes | +| NEAREST_MIPMAP_NEAREST | GLenum | Yes | +| LINEAR_MIPMAP_NEAREST | GLenum | Yes | +| NEAREST_MIPMAP_LINEAR | GLenum | Yes | +| LINEAR_MIPMAP_LINEAR | GLenum | Yes | +| TEXTURE_MIN_FILTER | GLenum | Yes | +| TEXTURE_WRAP_S | GLenum | Yes | +| TEXTURE_WRAP_T | GLenum | Yes | +| TEXTURE_2D | GLenum | Yes | +| TEXTURE | GLenum | Yes | +| TEXTURE_CUBE_MAP | GLenum | Yes | +| TEXTURE_BINDING_CUBE_MAP | GLenum | Yes | +| TEXTURE_CUBE_MAP_POSITIVE_X | GLenum | Yes | +| TEXTURE_CUBE_MAP_NEGATIVE_X | GLenum | Yes | +| TEXTURE_CUBE_MAP_POSITIVE_Y | GLenum | Yes | +| TEXTURE_CUBE_MAP_NEGATIVE_Y | GLenum | Yes | +| TEXTURE_CUBE_MAP_POSITIVE_Z | GLenum | Yes | +| TEXTURE_CUBE_MAP_NEGATIVE_Z | GLenum | Yes | +| MAX_CUBE_MAP_TEXTURE_SIZE | GLenum | Yes | +| TEXTURE0 | GLenum | Yes | +| TEXTURE1 | GLenum | Yes | +| TEXTURE2 | GLenum | Yes | +| TEXTURE3 | GLenum | Yes | +| TEXTURE4 | GLenum | Yes | +| TEXTURE5 | GLenum | Yes | +| TEXTURE6 | GLenum | Yes | +| TEXTURE7 | GLenum | Yes | +| TEXTURE8 | GLenum | Yes | +| TEXTURE9 | GLenum | Yes | +| TEXTURE10 | GLenum | Yes | +| TEXTURE11 | GLenum | Yes | +| TEXTURE12 | GLenum | Yes | +| TEXTURE13 | GLenum | Yes | +| TEXTURE14 | GLenum | Yes | +| TEXTURE15 | GLenum | Yes | +| TEXTURE16 | GLenum | Yes | +| TEXTURE17 | GLenum | Yes | +| TEXTURE18 | GLenum | Yes | +| TEXTURE19 | GLenum | Yes | +| TEXTURE20 | GLenum | Yes | +| TEXTURE21 | GLenum | Yes | +| TEXTURE22 | GLenum | Yes | +| TEXTURE23 | GLenum | Yes | +| TEXTURE24 | GLenum | Yes | +| TEXTURE25 | GLenum | Yes | +| TEXTURE26 | GLenum | Yes | +| TEXTURE27 | GLenum | Yes | +| TEXTURE28 | GLenum | Yes | +| TEXTURE29 | GLenum | Yes | +| TEXTURE30 | GLenum | Yes | +| TEXTURE31 | GLenum | Yes | +| ACTIVE_TEXTURE | GLenum | Yes | +| REPEAT | GLenum | Yes | +| CLAMP_TO_EDGE | GLenum | Yes | +| MIRRORED_REPEAT | GLenum | Yes | +| FLOAT_VEC2 | GLenum | Yes | +| FLOAT_VEC3 | GLenum | Yes | +| FLOAT_VEC4 | GLenum | Yes | +| INT_VEC2 | GLenum | Yes | +| INT_VEC3 | GLenum | Yes | +| INT_VEC4 | GLenum | Yes | +| BOOL | GLenum | Yes | +| BOOL_VEC2 | GLenum | Yes | +| BOOL_VEC3 | GLenum | Yes | +| BOOL_VEC4 | GLenum | Yes | +| FLOAT_MAT2 | GLenum | Yes | +| FLOAT_MAT3 | GLenum | Yes | +| FLOAT_MAT4 | GLenum | Yes | +| SAMPLER_2D | GLenum | Yes | +| SAMPLER_CUBE | GLenum | Yes | +| VERTEX_ATTRIB_ARRAY_ENABLED | GLenum | Yes | +| VERTEX_ATTRIB_ARRAY_SIZE | GLenum | Yes | +| VERTEX_ATTRIB_ARRAY_STRIDE | GLenum | Yes | +| VERTEX_ATTRIB_ARRAY_TYPE | GLenum | Yes | +| VERTEX_ATTRIB_ARRAY_NORMALIZED | GLenum | Yes | +| VERTEX_ATTRIB_ARRAY_POINTER | GLenum | Yes | +| VERTEX_ATTRIB_ARRAY_BUFFER_BINDING | GLenum | Yes | +| IMPLEMENTATION_COLOR_READ_TYPE | GLenum | Yes | +| IMPLEMENTATION_COLOR_READ_FORMAT | GLenum | Yes | +| COMPILE_STATUS | GLenum | Yes | +| LOW_FLOAT | GLenum | Yes | +| MEDIUM_FLOAT | GLenum | Yes | +| HIGH_FLOAT | GLenum | Yes | +| LOW_INT | GLenum | Yes | +| MEDIUM_INT | GLenum | Yes | +| HIGH_INT | GLenum | Yes | +| FRAMEBUFFER | GLenum | Yes | +| RENDERBUFFER | GLenum | Yes | +| RGBA4 | GLenum | Yes | +| RGB5_A1 | GLenum | Yes | +| RGB565 | GLenum | Yes | +| DEPTH_COMPONENT16 | GLenum | Yes | +| STENCIL_INDEX8 | GLenum | Yes | +| DEPTH_STENCIL | GLenum | Yes | +| RENDERBUFFER_WIDTH | GLenum | Yes | +| RENDERBUFFER_HEIGHT | GLenum | Yes | +| RENDERBUFFER_INTERNAL_FORMAT | GLenum | Yes | +| RENDERBUFFER_RED_SIZE | GLenum | Yes | +| RENDERBUFFER_GREEN_SIZE | GLenum | Yes | +| RENDERBUFFER_BLUE_SIZE | GLenum | Yes | +| RENDERBUFFER_ALPHA_SIZE | GLenum | Yes | +| RENDERBUFFER_DEPTH_SIZE | GLenum | Yes | +| RENDERBUFFER_STENCIL_SIZE | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE | GLenum | Yes | +| COLOR_ATTACHMENT0 | GLenum | Yes | +| DEPTH_ATTACHMENT | GLenum | Yes | +| STENCIL_ATTACHMENT | GLenum | Yes | +| DEPTH_STENCIL_ATTACHMENT | GLenum | Yes | +| NONE | GLenum | Yes | +| FRAMEBUFFER_COMPLETE | GLenum | Yes | +| FRAMEBUFFER_INCOMPLETE_ATTACHMENT | GLenum | Yes | +| FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT | GLenum | Yes | +| FRAMEBUFFER_INCOMPLETE_DIMENSIONS | GLenum | Yes | +| FRAMEBUFFER_UNSUPPORTED | GLenum | Yes | +| FRAMEBUFFER_BINDING | GLenum | Yes | +| RENDERBUFFER_BINDING | GLenum | Yes | +| MAX_RENDERBUFFER_SIZE | GLenum | Yes | +| INVALID_FRAMEBUFFER_OPERATION | GLenum | Yes | +| UNPACK_FLIP_Y_WEBGL | GLenum | Yes | +| UNPACK_PREMULTIPLY_ALPHA_WEBGL | GLenum | Yes | +| CONTEXT_LOST_WEBGL | GLenum | Yes | +| UNPACK_COLORSPACE_CONVERSION_WEBGL | GLenum | Yes | +| BROWSER_DEFAULT_WEBGL | GLenum | Yes | +| canvas | HTMLCanvasElement \| OffscreenCanvas | Yes | +| drawingBufferWidth | GLsizei | Yes | +| drawingBufferHeight | GLsizei | Yes | ### Methods -| Method| Return Value Type| + | Method | Return Value Type | | -------- | -------- | -| getContextAttributes() | WebGLContextAttributes \| null | -| isContextLost() | boolean | -| getSupportedExtensions() | string[] \| null | -| getExtension(name: string) | any | -| activeTexture(texture: GLenum) | void | -| attachShader(program: WebGLProgram, shader: WebGLShader) | void | -| bindAttribLocation(program: WebGLProgram, index: GLuint, name: string) | void | -| bindBuffer(target: GLenum, buffer: WebGLBuffer \| null) | void | -| bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer \| null) | void | -| bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | -| bindTexture(target: GLenum, texture: WebGLTexture \| null) | void | -| blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | -| blendEquation(mode: GLenum) | void | -| blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) | void | -| blendFunc(sfactor: GLenum, dfactor: GLenum) | void | -| blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) | void | -| checkFramebufferStatus(target: GLenum) | GLenum | -| clear(mask: GLbitfield) | void | -| clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | -| clearDepth(depth: GLclampf) | void | -| clearStencil(s: GLint) | void | -| colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) | void | -| compileShader(shader: WebGLShader) | void | -| copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) | void | -| copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | -| createBuffer() | WebGLBuffer \| null | -| createFramebuffer() | WebGLFramebuffer \| null | -| createProgram() | WebGLProgram \| null | -| createRenderbuffer() | WebGLRenderbuffer \| null | -| createShader(type: GLenum) | WebGLShader \| null | -| createTexture() | WebGLTexture \| nullvoid | -| cullFace(mode: GLenum) | void | -| deleteBuffer(buffer: WebGLBuffer \| null) | void | -| deleteFramebuffer(framebuffer: WebGLFramebuffer \| null) | void | -| deleteProgram(program: WebGLProgram \| null) | void | -| deleteRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | void | -| deleteShader(shader: WebGLShader \| null) | void | -| deleteTexture(texture: WebGLTexture \| null) | void | -| depthFunc(func: GLenum) | void | -| depthMask(flag: GLboolean) | void | -| depthRange(zNear: GLclampf, zFar: GLclampf) | void | -| detachShader(program: WebGLProgram, shader: WebGLShader) | void | -| disable(cap: GLenum) | void | -| disableVertexAttribArray(index: GLuint) | void | -| drawArrays(mode: GLenum, first: GLint, count: GLsizei) | void | -| drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) | void | -| enable(cap: GLenum) | void | -| enableVertexAttribArray(index: GLuint) | void | -| finish() | void | -| flush() | void | -| framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | -| framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture \| null, level: GLint) | void | -| frontFace(mode: GLenum) | void | -| generateMipmap(target: GLenum) | void | -| getActiveAttrib(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | -| getActiveUniform(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | -| getAttachedShaders(program: WebGLProgram) | WebGLShader[] \| null | -| getAttribLocation(program: WebGLProgram, name: string) | GLint | -| getBufferParameter(target: GLenum, pname: GLenum) | any | -| getParameter(pname: GLenum) | any | -| getError() | GLenum | -| getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum) | any | -| getProgramParameter(program: WebGLProgram, pname: GLenum) | any | -| getProgramInfoLog(program: WebGLProgram) | string \| null | -| getRenderbufferParameter(target: GLenum, pname: GLenum) | any | -| getShaderParameter(shader: WebGLShader, pname: GLenum) | any | -| getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum) | WebGLShaderPrecisionFormat \| null | -| getShaderInfoLog(shader: WebGLShader) | string \| null | -| getShaderSource(shader: WebGLShader) | string \| null | -| getTexParameter(target: GLenum, pname: GLenum) | any | -| getUniform(program: WebGLProgram, location: WebGLUniformLocation) | any | -| getUniformLocation(program: WebGLProgram, name: string) | WebGLUniformLocation \| null | -| getVertexAttrib(index: GLuint, pname: GLenum) | any | -| getVertexAttribOffset(index: GLuint, pname: GLenum) | GLintptr | -| hint(target: GLenum, mode: GLenum) | void | -| isBuffer(buffer: WebGLBuffer \| null) | GLboolean | -| isEnabled(cap: GLenum) | GLboolean | -| isFramebuffer(framebuffer: WebGLFramebuffer \| null) | GLboolean | -| isProgram(program: WebGLProgram \| null) | GLboolean | -| isRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | GLboolean | -| isShader(shader: WebGLShader \| null) | GLboolean | -| isTexture(texture: WebGLTexture \| null) | GLboolean | -| lineWidth(width: GLfloat) | void | -| linkProgram(program: WebGLProgram) | void | -| pixelStorei(pname: GLenum, param: GLint \| GLboolean) | void | -| polygonOffset(factor: GLfloat, units: GLfloat) | void | -| renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | -| sampleCoverage(value: GLclampf, invert: GLboolean) | void | -| scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | -| shaderSource(shader: WebGLShader, source: string) | void | -| stencilFunc(func: GLenum, ref: GLint, mask: GLuint) | void | -| stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) | void | -| stencilMask(mask: GLuint) | void | -| stencilMaskSeparate(face: GLenum, mask: GLuint) | void | -| stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) | void | -| stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) | void | -| texParameterf(target: GLenum, pname: GLenum, param: GLfloat) | void | -| texParameteri(target: GLenum, pname: GLenum, param: GLint) | void | -| uniform1f(location: WebGLUniformLocation \| null, x: GLfloat) | void | -| uniform2f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat) | void | -| uniform3f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat) | void | -| uniform4f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | -| uniform1i(location: WebGLUniformLocation \| null, x: GLint) | void | -| uniform2i(location: WebGLUniformLocation \| null, x: GLint, y: GLint) | void | -| uniform3i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint) | void | -| uniform4i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint, w: GLint) | void | -| useProgram(program: WebGLProgram \| null) | void | -| validateProgram(program: WebGLProgram) | void | -| vertexAttrib1f(index: GLuint, x: GLfloat) | void | -| vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) | void | -| vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) | void | -| vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | -| vertexAttrib1fv(index: GLuint, values: Float32List) | void | -| vertexAttrib2fv(index: GLuint, values: Float32List) | void | -| vertexAttrib3fv(index: GLuint, values: Float32List) | void | -| vertexAttrib4fv(index: GLuint, values: Float32List) | void | -| vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) | void | -| viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | - - -## webgl.WebGLRenderingContextOverloads +| getContextAttributes() | WebGLContextAttributes \| null | +| isContextLost() | boolean | +| getSupportedExtensions() | string[] \| null | +| getExtension(name: string) | any | +| activeTexture(texture: GLenum) | void | +| attachShader(program: WebGLProgram, shader: WebGLShader) | void | +| bindAttribLocation(program: WebGLProgram, index: GLuint, name: string) | void | +| bindBuffer(target: GLenum, buffer: WebGLBuffer \| null) | void | +| bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer \| null) | void | +| bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | +| bindTexture(target: GLenum, texture: WebGLTexture \| null) | void | +| blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | +| blendEquation(mode: GLenum) | void | +| blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) | void | +| blendFunc(sfactor: GLenum, dfactor: GLenum) | void | +| blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) | void | +| checkFramebufferStatus(target: GLenum) | GLenum | +| clear(mask: GLbitfield) | void | +| clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | +| clearDepth(depth: GLclampf) | void | +| clearStencil(s: GLint) | void | +| colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) | void | +| compileShader(shader: WebGLShader) | void | +| copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) | void | +| copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | +| createBuffer() | WebGLBuffer \| null | +| createFramebuffer() | WebGLFramebuffer \| null | +| createProgram() | WebGLProgram \| null | +| createRenderbuffer() | WebGLRenderbuffer \| null | +| createShader(type: GLenum) | WebGLShader \| null | +| createTexture() | WebGLTexture \| null | +| cullFace(mode: GLenum) | void | +| deleteBuffer(buffer: WebGLBuffer \| null) | void | +| deleteFramebuffer(framebuffer: WebGLFramebuffer \| null) | void | +| deleteProgram(program: WebGLProgram \| null) | void | +| deleteRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | void | +| deleteShader(shader: WebGLShader \| null) | void | +| deleteTexture(texture: WebGLTexture \| null) | void | +| depthFunc(func: GLenum) | void | +| depthMask(flag: GLboolean) | void | +| depthRange(zNear: GLclampf, zFar: GLclampf) | void | +| detachShader(program: WebGLProgram, shader: WebGLShader) | void | +| disable(cap: GLenum) | void | +| disableVertexAttribArray(index: GLuint) | void | +| drawArrays(mode: GLenum, first: GLint, count: GLsizei) | void | +| drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) | void | +| enable(cap: GLenum) | void | +| enableVertexAttribArray(index: GLuint) | void | +| finish() | void | +| flush() | void | +| framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | +| framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture \| null, level: GLint) | void | +| frontFace(mode: GLenum) | void | +| generateMipmap(target: GLenum) | void | +| getActiveAttrib(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | +| getActiveUniform(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | +| getAttachedShaders(program: WebGLProgram) | WebGLShader[] \| null | +| getAttribLocation(program: WebGLProgram, name: string) | GLint | +| getBufferParameter(target: GLenum, pname: GLenum) | any | +| getParameter(pname: GLenum) | any | +| getError() | GLenum | +| getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum) | any | +| getProgramParameter(program: WebGLProgram, pname: GLenum) | any | +| getProgramInfoLog(program: WebGLProgram) | string \| null | +| getRenderbufferParameter(target: GLenum, pname: GLenum) | any | +| getShaderParameter(shader: WebGLShader, pname: GLenum) | any | +| getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum) | WebGLShaderPrecisionFormat \| null | +| getShaderInfoLog(shader: WebGLShader) | string \| null | +| getShaderSource(shader: WebGLShader) | string \| null | +| getTexParameter(target: GLenum, pname: GLenum) | any | +| getUniform(program: WebGLProgram, location: WebGLUniformLocation) | any | +| getUniformLocation(program: WebGLProgram, name: string) | WebGLUniformLocation \| null | +| getVertexAttrib(index: GLuint, pname: GLenum) | any | +| getVertexAttribOffset(index: GLuint, pname: GLenum) | GLintptr | +| hint(target: GLenum, mode: GLenum) | void | +| isBuffer(buffer: WebGLBuffer \| null) | GLboolean | +| isEnabled(cap: GLenum) | GLboolean | +| isFramebuffer(framebuffer: WebGLFramebuffer \| null) | GLboolean | +| isProgram(program: WebGLProgram \| null) | GLboolean | +| isRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | GLboolean | +| isShader(shader: WebGLShader \| null) | GLboolean | +| isTexture(texture: WebGLTexture \| null) | GLboolean | +| lineWidth(width: GLfloat) | void | +| linkProgram(program: WebGLProgram) | void | +| pixelStorei(pname: GLenum, param: GLint \| GLboolean) | void | +| polygonOffset(factor: GLfloat, units: GLfloat) | void | +| renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | +| sampleCoverage(value: GLclampf, invert: GLboolean) | void | +| scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | +| shaderSource(shader: WebGLShader, source: string) | void | +| stencilFunc(func: GLenum, ref: GLint, mask: GLuint) | void | +| stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) | void | +| stencilMask(mask: GLuint) | void | +| stencilMaskSeparate(face: GLenum, mask: GLuint) | void | +| stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) | void | +| stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) | void | +| texParameterf(target: GLenum, pname: GLenum, param: GLfloat) | void | +| texParameteri(target: GLenum, pname: GLenum, param: GLint) | void | +| uniform1f(location: WebGLUniformLocation \| null, x: GLfloat) | void | +| uniform2f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat) | void | +| uniform3f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat) | void | +| uniform4f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | +| uniform1i(location: WebGLUniformLocation \| null, x: GLint) | void | +| uniform2i(location: WebGLUniformLocation \| null, x: GLint, y: GLint) | void | +| uniform3i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint) | void | +| uniform4i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint, w: GLint) | void | +| useProgram(program: WebGLProgram \| null) | void | +| validateProgram(program: WebGLProgram) | void | +| vertexAttrib1f(index: GLuint, x: GLfloat) | void | +| vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) | void | +| vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) | void | +| vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | +| vertexAttrib1fv(index: GLuint, values: Float32List) | void | +| vertexAttrib2fv(index: GLuint, values: Float32List) | void | +| vertexAttrib3fv(index: GLuint, values: Float32List) | void | +| vertexAttrib4fv(index: GLuint, values: Float32List) | void | +| vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) | void | +| viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | + + +## WebGLRenderingContextOverloads WebGLRenderingContextOverloads -| Method| Return Value Type| + | Method | Return Value Type | | -------- | -------- | -| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void | -| bufferData(target: GLenum, data: BufferSource \| null, usage: GLenum) | void | -| bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource) | void | -| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) | void | -| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) | void | -| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | -| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | -| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | -| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | -| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | -| uniform1fv(location: WebGLUniformLocation \| null, v: Float32List) | void | -| uniform2fv(location: WebGLUniformLocation \| null, v: Float32List) | void | -| uniform3fv(location: WebGLUniformLocation \| null, v: Float32List) | void | -| uniform4fv(location: WebGLUniformLocation \| null, v: Float32List) | void | -| uniform1iv(location: WebGLUniformLocation \| null, v: Int32List) | void | -| uniform2iv(location: WebGLUniformLocation \| null, v: Int32List) | void | -| uniform3iv(location: WebGLUniformLocation \| null, v: Int32List) | void | -| uniform4iv(location: WebGLUniformLocation \| null, v: Int32List) | void | -| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | -| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | -| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | +| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void | +| bufferData(target: GLenum, data: BufferSource \| null, usage: GLenum) | void | +| bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource) | void | +| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) | void | +| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) | void | +| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void; | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| uniform1fv(location: WebGLUniformLocation \| null, v: Float32List) | void | +| uniform2fv(location: WebGLUniformLocation \| null, v: Float32List) | void | +| uniform3fv(location: WebGLUniformLocation \| null, v: Float32List) | void | +| uniform4fv(location: WebGLUniformLocation \| null, v: Float32List) | void | +| uniform1iv(location: WebGLUniformLocation \| null, v: Int32List) | void | +| uniform2iv(location: WebGLUniformLocation \| null, v: Int32List) | void | +| uniform3iv(location: WebGLUniformLocation \| null, v: Int32List) | void | +| uniform4iv(location: WebGLUniformLocation \| null, v: Int32List) | void | +| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | +| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | +| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | diff --git a/en/application-dev/reference/apis/js-apis-webgl2.md b/en/application-dev/reference/apis/js-apis-webgl2.md index fcfa00293db8a95fdaa20bfb28c66df16f1d26f3..9b94a14e3db63f0b935801631a926101cb859fef 100644 --- a/en/application-dev/reference/apis/js-apis-webgl2.md +++ b/en/application-dev/reference/apis/js-apis-webgl2.md @@ -1,6 +1,6 @@ -# WebGL2 +# webgl2 -> ![icon-note.gif](public_sys-resources/icon-note.gif) **Note:** +> ![icon-note.gif](public_sys-resources/icon-note.gif) **Note:** > The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. @@ -10,492 +10,474 @@ This module provides WebGL APIs that correspond to the OpenGL ES 3.0 feature set ## Modules to Import + ``` -import webgl from 'ohos.webglnapi' +import webgl from '@ohos.webglnapi'; ``` -## System Capabilities +## Invoking Method -SystemCapability.Graphic.Graphic2D.WebGL2 +Create a **<canvas>** component in the HML file. The following is an example: + +``` +
+ + +
+``` -## Invoking Method +Obtain the **<canvas>** component instance in the JS file. The following is an example: + ``` -// Obtain the component instance. -const el = this.$refs.canvas -// Obtain the WebGL context from the component instance. +// Obtain the component instance. +const el = this.$refs.canvas1; +// Obtain the WebGL context from the component instance. const gl = el.getContext('webgl'); -const gl2 = el.getContext('webgl2'); // Call the WebGL API. -gl2.readBuffer(gl.COLOR_ATTACHMENT0) +gl.clearColor(0.0, 0.0, 0.0, 1.0); ``` -## GLenum - -| Name| Type| -| -------- | -------- | -| GLenum | number | - - -## Glint64 - -| Name| Type| -| -------- | -------- | -| Glint64 | number | +## Type + **Table1** Type -## Gluint64 +| Name | Type | Description | +| -------- | -------- | -------- | +| GLenum | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | +| GLint64 | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | +| GLuint64 | number | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | +| Uint32List | array | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | -| Name| Type| -| -------- | -------- | -| Gluint64 | number | +## Interface -## Uint32List + **Table2** Interface -| Name| Type| +| Name | Description | | -------- | -------- | -| Uint32List | array | +| [WebGL2RenderingContextBase](#webgl2renderingcontextbase) | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | +| [WebGL2RenderingContextOverloads](#webgl2renderingcontextoverloads) | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLQuery | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLSampler | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLSync | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLTransformFeedback | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLVertexArrayObject | **System capabilities**: SystemCapability.Graphic.Graphic2D.WebGL2 | -## webgl.webGL2RenderingContexBase +## WebGL2RenderingContextBase -WebGL2RenderingContexBase +WebGL2RenderingContextBase ### Attributes -| Name| Type| Mandatory| -| -------- | ------- | --------- | -| READ_BUFFER | [GLenum](#GLenum) | Yes| -| UNPACK_ROW_LENGTH | [GLenum](#GLenum) | Yes| -| UNPACK_SKIP_ROWS | [GLenum](#GLenum) | Yes| -| UNPACK_SKIP_PIXELS | [GLenum](#GLenum) | Yes| -| PACK_ROW_LENGTH | [GLenum](#GLenum) | Yes| -| PACK_SKIP_ROWS | [GLenum](#GLenum) | Yes| -| PACK_SKIP_PIXELS | [GLenum](#GLenum) | Yes| -| COLOR | [GLenum](#GLenum) | Yes| -| DEPTH | [GLenum](#GLenum) | Yes| -| STENCIL | [GLenum](#GLenum) | Yes| -| RED | [GLenum](#GLenum) | Yes| -| RGB8 | [GLenum](#GLenum) | Yes| -| RGBA8 | [GLenum](#GLenum) | Yes| -| RGB10_A2 | [GLenum](#GLenum) | Yes| -| TEXTURE_BINDING_3D | [GLenum](#GLenum) | Yes| -| UNPACK_SKIP_IMAGES | [GLenum](#GLenum) | Yes| -| UNPACK_IMAGE_HEIGHT | [GLenum](#GLenum) | Yes| -| TEXTURE_3D | [GLenum](#GLenum) | Yes| -| TEXTURE_WRAP_R | [GLenum](#GLenum) | Yes| -| MAX_3D_TEXTURE_SIZE | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_2_10_10_10_REV | [GLenum](#GLenum) | Yes| -| MAX_ELEMENTS_VERTICES | [GLenum](#GLenum) | Yes| -| MAX_ELEMENTS_INDICES | [GLenum](#GLenum) | Yes| -| TEXTURE_MIN_LOD | [GLenum](#GLenum) | Yes| -| TEXTURE_MAX_LOD | [GLenum](#GLenum) | Yes| -| TEXTURE_BASE_LEVEL | [GLenum](#GLenum) | Yes| -| TEXTURE_MAX_LEVEL | [GLenum](#GLenum) | Yes| -| MIN | [GLenum](#GLenum) | Yes| -| MAX | [GLenum](#GLenum) | Yes| -| DEPTH_COMPONENT24 | [GLenum](#GLenum) | Yes| -| MAX_TEXTURE_LOD_BIAS | [GLenum](#GLenum) | Yes| -| TEXTURE_COMPARE_MODE | [GLenum](#GLenum) | Yes| -| TEXTURE_COMPARE_FUNC | [GLenum](#GLenum) | Yes| -| CURRENT_QUERY | [GLenum](#GLenum) | Yes| -| QUERY_RESULT | [GLenum](#GLenum) | Yes| -| QUERY_RESULT_AVAILABLE | [GLenum](#GLenum) | Yes| -| STREAM_READ | [GLenum](#GLenum) | Yes| -| STREAM_COPY | [GLenum](#GLenum) | Yes| -| STATIC_READ | [GLenum](#GLenum) | Yes| -| STATIC_COPY | [GLenum](#GLenum) | Yes| -| DYNAMIC_READ | [GLenum](#GLenum) | Yes| -| DYNAMIC_COPY | [GLenum](#GLenum) | Yes| -| MAX_DRAW_BUFFERS | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER0 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER1 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER2 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER3 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER4 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER5 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER6 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER7 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER8 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER9 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER10 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER11 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER12 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER13 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER14 | [GLenum](#GLenum) | Yes| -| DRAW_BUFFER15 | [GLenum](#GLenum) | Yes| -| MAX_FRAGMENT_UNIFORM_COMPONENTS | [GLenum](#GLenum) | Yes| -| MAX_VERTEX_UNIFORM_COMPONENTS | [GLenum](#GLenum) | Yes| -| SAMPLER_3D | [GLenum](#GLenum) | Yes| -| SAMPLER_2D_SHADOW | [GLenum](#GLenum) | Yes| -| FRAGMENT_SHADER_DERIVATIVE_HINT | [GLenum](#GLenum) | Yes| -| PIXEL_PACK_BUFFER | [GLenum](#GLenum) | Yes| -| PIXEL_UNPACK_BUFFER | [GLenum](#GLenum) | Yes| -| PIXEL_PACK_BUFFER_BINDING | [GLenum](#GLenum) | Yes| -| PIXEL_UNPACK_BUFFER_BINDING | [GLenum](#GLenum) | Yes| -| FLOAT_MAT2x3 | [GLenum](#GLenum) | Yes| -| FLOAT_MAT2x4 | [GLenum](#GLenum) | Yes| -| FLOAT_MAT3x2 | [GLenum](#GLenum) | Yes| -| FLOAT_MAT3x4 | [GLenum](#GLenum) | Yes| -| FLOAT_MAT4x2 | [GLenum](#GLenum) | Yes| -| FLOAT_MAT4x3 | [GLenum](#GLenum) | Yes| -| SRGB | [GLenum](#GLenum) | Yes| -| SRGB8 | [GLenum](#GLenum) | Yes| -| SRGB8_ALPHA8 | [GLenum](#GLenum) | Yes| -| COMPARE_REF_TO_TEXTURE | [GLenum](#GLenum) | Yes| -| RGBA32F | [GLenum](#GLenum) | Yes| -| RGB32F | [GLenum](#GLenum) | Yes| -| RGBA16F | [GLenum](#GLenum) | Yes| -| RGB16F | [GLenum](#GLenum) | Yes| -| VERTEX_ATTRIB_ARRAY_INTEGER | [GLenum](#GLenum) | Yes| -| MAX_ARRAY_TEXTURE_LAYERS | [GLenum](#GLenum) | Yes| -| MIN_PROGRAM_TEXEL_OFFSET | [GLenum](#GLenum) | Yes| -| MAX_PROGRAM_TEXEL_OFFSET | [GLenum](#GLenum) | Yes| -| MAX_VARYING_COMPONENTS | [GLenum](#GLenum) | Yes| -| TEXTURE_2D_ARRAY | [GLenum](#GLenum) | Yes| -| TEXTURE_BINDING_2D_ARRAY | [GLenum](#GLenum) | Yes| -| R11F_G11F_B10F | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_10F_11F_11F_REV | [GLenum](#GLenum) | Yes| -| RGB9_E5 | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_5_9_9_9_REV | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_BUFFER_MODE | [GLenum](#GLenum) | Yes| -| MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_VARYINGS | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_BUFFER_START | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_BUFFER_SIZE | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN | [GLenum](#GLenum) | Yes| -| RASTERIZER_DISCARD | [GLenum](#GLenum) | Yes| -| MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS | [GLenum](#GLenum) | Yes| -| MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS | [GLenum](#GLenum) | Yes| -| INTERLEAVED_ATTRIBS | [GLenum](#GLenum) | Yes| -| SEPARATE_ATTRIBS | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_BUFFER | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_BUFFER_BINDING | [GLenum](#GLenum) | Yes| -| RGBA32UI | [GLenum](#GLenum) | Yes| -| RGB32UI | [GLenum](#GLenum) | Yes| -| RGBA16UI | [GLenum](#GLenum) | Yes| -| RGB16UI | [GLenum](#GLenum) | Yes| -| RGBA8UI | [GLenum](#GLenum) | Yes| -| RGB8UI | [GLenum](#GLenum) | Yes| -| RGBA32I | [GLenum](#GLenum) | Yes| -| RGB32I | [GLenum](#GLenum) | Yes| -| RGBA16I | [GLenum](#GLenum) | Yes| -| RGB16I | [GLenum](#GLenum) | Yes| -| RGBA8I | [GLenum](#GLenum) | Yes| -| RGB8I | [GLenum](#GLenum) | Yes| -| RED_INTEGER | [GLenum](#GLenum) | Yes| -| RGB_INTEGER | [GLenum](#GLenum) | Yes| -| RGBA_INTEGER | [GLenum](#GLenum) | Yes| -| SAMPLER_2D_ARRAY | [GLenum](#GLenum) | Yes| -| SAMPLER_2D_ARRAY_SHADOW | [GLenum](#GLenum) | Yes| -| SAMPLER_CUBE_SHADOW | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_VEC2 | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_VEC3 | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_VEC4 | [GLenum](#GLenum) | Yes| -| INT_SAMPLER_2D | [GLenum](#GLenum) | Yes| -| INT_SAMPLER_3D | [GLenum](#GLenum) | Yes| -| INT_SAMPLER_CUBE | [GLenum](#GLenum) | Yes| -| INT_SAMPLER_2D_ARRAY | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_SAMPLER_2D | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_SAMPLER_3D | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_SAMPLER_CUBE | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_SAMPLER_2D_ARRAY | [GLenum](#GLenum) | Yes| -| DEPTH_COMPONENT32F | [GLenum](#GLenum) | Yes| -| DEPTH32F_STENCIL8 | [GLenum](#GLenum) | Yes| -| FLOAT_32_UNSIGNED_INT_24_8_REV | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_RED_SIZE | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_GREEN_SIZE | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_BLUE_SIZE | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_DEFAULT | [GLenum](#GLenum) | Yes| -| UNSIGNED_INT_24_8 | [GLenum](#GLenum) | Yes| -| DEPTH24_STENCIL8 | [GLenum](#GLenum) | Yes| -| UNSIGNED_NORMALIZED | [GLenum](#GLenum) | Yes| -| DRAW_FRAMEBUFFER_BINDING | [GLenum](#GLenum) | Yes| -| READ_FRAMEBUFFER | [GLenum](#GLenum) | Yes| -| DRAW_FRAMEBUFFER | [GLenum](#GLenum) | Yes| -| READ_FRAMEBUFFER_BINDING | [GLenum](#GLenum) | Yes| -| RENDERBUFFER_SAMPLES | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER | [GLenum](#GLenum) | Yes| -| MAX_COLOR_ATTACHMENTS | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT1 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT2 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT3 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT4 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT5 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT6 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT7 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT8 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT9 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT10 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT11 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT12 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT13 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT14 | [GLenum](#GLenum) | Yes| -| COLOR_ATTACHMENT15 | [GLenum](#GLenum) | Yes| -| FRAMEBUFFER_INCOMPLETE_MULTISAMPLE | [GLenum](#GLenum) | Yes| -| MAX_SAMPLES | [GLenum](#GLenum) | Yes| -| HALF_FLOAT | [GLenum](#GLenum) | Yes| -| RG | [GLenum](#GLenum) | Yes| -| RG_INTEGER | [GLenum](#GLenum) | Yes| -| R8 | [GLenum](#GLenum) | Yes| -| RG8 | [GLenum](#GLenum) | Yes| -| R16F | [GLenum](#GLenum) | Yes| -| R32F | [GLenum](#GLenum) | Yes| -| RG16F | [GLenum](#GLenum) | Yes| -| RG32F | [GLenum](#GLenum) | Yes| -| R8I | [GLenum](#GLenum) | Yes| -| R8UI | [GLenum](#GLenum) | Yes| -| R16I | [GLenum](#GLenum) | Yes| -| R16UI | [GLenum](#GLenum) | Yes| -| R32I | [GLenum](#GLenum) | Yes| -| R32UI | [GLenum](#GLenum) | Yes| -| RG8I | [GLenum](#GLenum) | Yes| -| RG8UI | [GLenum](#GLenum) | Yes| -| RG16I | [GLenum](#GLenum) | Yes| -| RG16UI | [GLenum](#GLenum) | Yes| -| RG32I | [GLenum](#GLenum) | Yes| -| RG32UI | [GLenum](#GLenum) | Yes| -| VERTEX_ARRAY_BINDING | [GLenum](#GLenum) | Yes| -| R8_SNORM | [GLenum](#GLenum) | Yes| -| RG8_SNORM | [GLenum](#GLenum) | Yes| -| RGB8_SNORM | [GLenum](#GLenum) | Yes| -| SIGNED_NORMALIZED | [GLenum](#GLenum) | Yes| -| COPY_READ_BUFFER | [GLenum](#GLenum) | Yes| -| COPY_WRITE_BUFFER | [GLenum](#GLenum) | Yes| -| COPY_READ_BUFFER_BINDING | [GLenum](#GLenum) | Yes| -| COPY_WRITE_BUFFER_BINDING | [GLenum](#GLenum) | Yes| -| UNIFORM_BUFFER | [GLenum](#GLenum) | Yes| -| UNIFORM_BUFFER_BINDING | [GLenum](#GLenum) | Yes| -| UNIFORM_BUFFER_START | [GLenum](#GLenum) | Yes| -| UNIFORM_BUFFER_SIZE | [GLenum](#GLenum) | Yes| -| MAX_VERTEX_UNIFORM_BLOCKS | [GLenum](#GLenum) | Yes| -| MAX_FRAGMENT_UNIFORM_BLOCKS | [GLenum](#GLenum) | Yes| -| MAX_COMBINED_UNIFORM_BLOCKS | [GLenum](#GLenum) | Yes| -| MAX_UNIFORM_BUFFER_BINDINGS | [GLenum](#GLenum) | Yes| -| MAX_UNIFORM_BLOCK_SIZE | [GLenum](#GLenum) | Yes| -| MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS | [GLenum](#GLenum) | Yes| -| MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS | [GLenum](#GLenum) | Yes| -| UNIFORM_BUFFER_OFFSET_ALIGNMENT | [GLenum](#GLenum) | Yes| -| ACTIVE_UNIFORM_BLOCKS | [GLenum](#GLenum) | Yes| -| UNIFORM_TYPE | [GLenum](#GLenum) | Yes| -| UNIFORM_SIZE | [GLenum](#GLenum) | Yes| -| UNIFORM_BLOCK_INDEX | [GLenum](#GLenum) | Yes| -| UNIFORM_OFFSET | [GLenum](#GLenum) | Yes| -| UNIFORM_ARRAY_STRIDE | [GLenum](#GLenum) | Yes| -| UNIFORM_MATRIX_STRIDE | [GLenum](#GLenum) | Yes| -| UNIFORM_IS_ROW_MAJOR | [GLenum](#GLenum) | Yes| -| UNIFORM_BLOCK_BINDING | [GLenum](#GLenum) | Yes| -| UNIFORM_BLOCK_DATA_SIZE | [GLenum](#GLenum) | Yes| -| UNIFORM_BLOCK_ACTIVE_UNIFORMS | [GLenum](#GLenum) | Yes| -| UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES | [GLenum](#GLenum) | Yes| -| UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER | [GLenum](#GLenum) | Yes| -| UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER | [GLenum](#GLenum) | Yes| -| INVALID_INDEX | [GLenum](#GLenum) | Yes| -| MAX_VERTEX_OUTPUT_COMPONENTS | [GLenum](#GLenum) | Yes| -| MAX_FRAGMENT_INPUT_COMPONENTS | [GLenum](#GLenum) | Yes| -| MAX_SERVER_WAIT_TIMEOUT | [GLenum](#GLenum) | Yes| -| OBJECT_TYPE | [GLenum](#GLenum) | Yes| -| SYNC_CONDITION | [GLenum](#GLenum) | Yes| -| SYNC_STATUS | [GLenum](#GLenum) | Yes| -| SYNC_FLAGS | [GLenum](#GLenum) | Yes| -| SYNC_FENCE | [GLenum](#GLenum) | Yes| -| SYNC_GPU_COMMANDS_COMPLETE | [GLenum](#GLenum) | Yes| -| UNSIGNALED | [GLenum](#GLenum) | Yes| -| SIGNALED | [GLenum](#GLenum) | Yes| -| ALREADY_SIGNALED | [GLenum](#GLenum) | Yes| -| TIMEOUT_EXPIRED | [GLenum](#GLenum) | Yes| -| CONDITION_SATISFIED | [GLenum](#GLenum) | Yes| -| WAIT_FAILED | [GLenum](#GLenum) | Yes| -| SYNC_FLUSH_COMMANDS_BIT | [GLenum](#GLenum) | Yes| -| VERTEX_ATTRIB_ARRAY_DIVISOR | [GLenum](#GLenum) | Yes| -| ANY_SAMPLES_PASSED | [GLenum](#GLenum) | Yes| -| ANY_SAMPLES_PASSED_CONSERVATIVE | [GLenum](#GLenum) | Yes| -| SAMPLER_BINDING | [GLenum](#GLenum) | Yes| -| RGB10_A2UI | [GLenum](#GLenum) | Yes| -| INT_2_10_10_10_REV | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_PAUSED | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_ACTIVE | [GLenum](#GLenum) | Yes| -| TRANSFORM_FEEDBACK_BINDING | [GLenum](#GLenum) | Yes| -| TEXTURE_IMMUTABLE_FORMAT | [GLenum](#GLenum) | Yes| -| MAX_ELEMENT_INDEX | [GLenum](#GLenum) | Yes| -| TEXTURE_IMMUTABLE_LEVELS | [GLenum](#GLenum) | Yes| -| TIMEOUT_IGNORED | [GLenum](#GLenum) | Yes| -| MAX_CLIENT_WAIT_TIMEOUT_WEBGL | [GLenum](#GLenum) | Yes| + | Name | Type | Mandatory | +| -------- | -------- | -------- | +| READ_BUFFER | GLenum | Yes | +| UNPACK_ROW_LENGTH | GLenum | Yes | +| UNPACK_SKIP_ROWS | GLenum | Yes | +| UNPACK_SKIP_PIXELS | GLenum | Yes | +| PACK_ROW_LENGTH | GLenum | Yes | +| PACK_SKIP_ROWS | GLenum | Yes | +| PACK_SKIP_PIXELS | GLenum | Yes | +| COLOR | GLenum | Yes | +| DEPTH | GLenum | Yes | +| STENCIL | GLenum | Yes | +| RED | GLenum | Yes | +| RGB8 | GLenum | Yes | +| RGBA8 | GLenum | Yes | +| RGB10_A2 | GLenum | Yes | +| TEXTURE_BINDING_3D | GLenum | Yes | +| UNPACK_SKIP_IMAGES | GLenum | Yes | +| UNPACK_IMAGE_HEIGHT | GLenum | Yes | +| TEXTURE_3D | GLenum | Yes | +| TEXTURE_WRAP_R | GLenum | Yes | +| MAX_3D_TEXTURE_SIZE | GLenum | Yes | +| UNSIGNED_INT_2_10_10_10_REV | GLenum | Yes | +| MAX_ELEMENTS_VERTICES | GLenum | Yes | +| MAX_ELEMENTS_INDICES | GLenum | Yes | +| TEXTURE_MIN_LOD | GLenum | Yes | +| TEXTURE_MAX_LOD | GLenum | Yes | +| TEXTURE_BASE_LEVEL | GLenum | Yes | +| TEXTURE_MAX_LEVEL | GLenum | Yes | +| MIN | GLenum | Yes | +| MAX | GLenum | Yes | +| DEPTH_COMPONENT24 | GLenum | Yes | +| MAX_TEXTURE_LOD_BIAS | GLenum | Yes | +| TEXTURE_COMPARE_MODE | GLenum | Yes | +| TEXTURE_COMPARE_FUNC | GLenum | Yes | +| CURRENT_QUERY | GLenum | Yes | +| QUERY_RESULT | GLenum | Yes | +| QUERY_RESULT_AVAILABLE | GLenum | Yes | +| STREAM_READ | GLenum | Yes | +| STREAM_COPY | GLenum | Yes | +| STATIC_READ | GLenum | Yes | +| STATIC_COPY | GLenum | Yes | +| DYNAMIC_READ | GLenum | Yes | +| DYNAMIC_COPY | GLenum | Yes | +| MAX_DRAW_BUFFERS | GLenum | Yes | +| DRAW_BUFFER0 | GLenum | Yes | +| DRAW_BUFFER1 | GLenum | Yes | +| DRAW_BUFFER2 | GLenum | Yes | +| DRAW_BUFFER3 | GLenum | Yes | +| DRAW_BUFFER4 | GLenum | Yes | +| DRAW_BUFFER5 | GLenum | Yes | +| DRAW_BUFFER6 | GLenum | Yes | +| DRAW_BUFFER7 | GLenum | Yes | +| DRAW_BUFFER8 | GLenum | Yes | +| DRAW_BUFFER9 | GLenum | Yes | +| DRAW_BUFFER10 | GLenum | Yes | +| DRAW_BUFFER11 | GLenum | Yes | +| DRAW_BUFFER12 | GLenum | Yes | +| DRAW_BUFFER13 | GLenum | Yes | +| DRAW_BUFFER14 | GLenum | Yes | +| DRAW_BUFFER15 | GLenum | Yes | +| MAX_FRAGMENT_UNIFORM_COMPONENTS | GLenum | Yes | +| MAX_VERTEX_UNIFORM_COMPONENTS | GLenum | Yes | +| SAMPLER_3D | GLenum | Yes | +| SAMPLER_2D_SHADOW | GLenum | Yes | +| FRAGMENT_SHADER_DERIVATIVE_HINT | GLenum | Yes | +| PIXEL_PACK_BUFFER | GLenum | Yes | +| PIXEL_UNPACK_BUFFER | GLenum | Yes | +| PIXEL_PACK_BUFFER_BINDING | GLenum | Yes | +| PIXEL_UNPACK_BUFFER_BINDING | GLenum | Yes | +| FLOAT_MAT2x3 | GLenum | Yes | +| FLOAT_MAT2x4 | GLenum | Yes | +| FLOAT_MAT3x2 | GLenum | Yes | +| FLOAT_MAT3x4 | GLenum | Yes | +| FLOAT_MAT4x2 | GLenum | Yes | +| FLOAT_MAT4x3 | GLenum | Yes | +| SRGB | GLenum | Yes | +| SRGB8 | GLenum | Yes | +| SRGB8_ALPHA8 | GLenum | Yes | +| COMPARE_REF_TO_TEXTURE | GLenum | Yes | +| RGBA32F | GLenum | Yes | +| RGB32F | GLenum | Yes | +| RGBA16F | GLenum | Yes | +| RGB16F | GLenum | Yes | +| VERTEX_ATTRIB_ARRAY_INTEGER | GLenum | Yes | +| MAX_ARRAY_TEXTURE_LAYERS | GLenum | Yes | +| MIN_PROGRAM_TEXEL_OFFSET | GLenum | Yes | +| MAX_PROGRAM_TEXEL_OFFSET | GLenum | Yes | +| MAX_VARYING_COMPONENTS | GLenum | Yes | +| TEXTURE_2D_ARRAY | GLenum | Yes | +| TEXTURE_BINDING_2D_ARRAY | GLenum | Yes | +| R11F_G11F_B10F | GLenum | Yes | +| UNSIGNED_INT_10F_11F_11F_REV | GLenum | Yes | +| RGB9_E5 | GLenum | Yes | +| UNSIGNED_INT_5_9_9_9_REV | GLenum | Yes | +| TRANSFORM_FEEDBACK_BUFFER_MODE | GLenum | Yes | +| MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS | GLenum | Yes | +| TRANSFORM_FEEDBACK_VARYINGS | GLenum | Yes | +| TRANSFORM_FEEDBACK_BUFFER_START | GLenum | Yes | +| TRANSFORM_FEEDBACK_BUFFER_SIZE | GLenum | Yes | +| TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN | GLenum | Yes | +| RASTERIZER_DISCARD | GLenum | Yes | +| MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS | GLenum | Yes | +| MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS | GLenum | Yes | +| INTERLEAVED_ATTRIBS | GLenum | Yes | +| SEPARATE_ATTRIBS | GLenum | Yes | +| TRANSFORM_FEEDBACK_BUFFER | GLenum | Yes | +| TRANSFORM_FEEDBACK_BUFFER_BINDING | GLenum | Yes | +| RGBA32UI | GLenum | Yes | +| RGB32UI | GLenum | Yes | +| RGBA16UI | GLenum | Yes | +| RGB16UI | GLenum | Yes | +| RGBA8UI | GLenum | Yes | +| RGB8UI | GLenum | Yes | +| RGBA32I | GLenum | Yes | +| RGB32I | GLenum | Yes | +| RGBA16I | GLenum | Yes | +| RGB16I | GLenum | Yes | +| RGBA8I | GLenum | Yes | +| RGB8I | GLenum | Yes | +| RED_INTEGER | GLenum | Yes | +| RGB_INTEGER | GLenum | Yes | +| RGBA_INTEGER | GLenum | Yes | +| SAMPLER_2D_ARRAY | GLenum | Yes | +| SAMPLER_2D_ARRAY_SHADOW | GLenum | Yes | +| SAMPLER_CUBE_SHADOW | GLenum | Yes | +| UNSIGNED_INT_VEC2 | GLenum | Yes | +| UNSIGNED_INT_VEC3 | GLenum | Yes | +| UNSIGNED_INT_VEC4 | GLenum | Yes | +| INT_SAMPLER_2D | GLenum | Yes | +| INT_SAMPLER_3D | GLenum | Yes | +| INT_SAMPLER_CUBE | GLenum | Yes | +| INT_SAMPLER_2D_ARRAY | GLenum | Yes | +| UNSIGNED_INT_SAMPLER_2D | GLenum | Yes | +| UNSIGNED_INT_SAMPLER_3D | GLenum | Yes | +| UNSIGNED_INT_SAMPLER_CUBE | GLenum | Yes | +| UNSIGNED_INT_SAMPLER_2D_ARRAY | GLenum | Yes | +| DEPTH_COMPONENT32F | GLenum | Yes | +| DEPTH32F_STENCIL8 | GLenum | Yes | +| FLOAT_32_UNSIGNED_INT_24_8_REV | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_RED_SIZE | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_GREEN_SIZE | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_BLUE_SIZE | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE | GLenum | Yes | +| FRAMEBUFFER_DEFAULT | GLenum | Yes | +| UNSIGNED_INT_24_8 | GLenum | Yes | +| DEPTH24_STENCIL8 | GLenum | Yes | +| UNSIGNED_NORMALIZED | GLenum | Yes | +| DRAW_FRAMEBUFFER_BINDING | GLenum | Yes | +| READ_FRAMEBUFFER | GLenum | Yes | +| DRAW_FRAMEBUFFER | GLenum | Yes | +| READ_FRAMEBUFFER_BINDING | GLenum | Yes | +| RENDERBUFFER_SAMPLES | GLenum | Yes | +| FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER | GLenum | Yes | +| MAX_COLOR_ATTACHMENTS | GLenum | Yes | +| COLOR_ATTACHMENT1 | GLenum | Yes | +| COLOR_ATTACHMENT2 | GLenum | Yes | +| COLOR_ATTACHMENT3 | GLenum | Yes | +| COLOR_ATTACHMENT4 | GLenum | Yes | +| COLOR_ATTACHMENT5 | GLenum | Yes | +| COLOR_ATTACHMENT6 | GLenum | Yes | +| COLOR_ATTACHMENT7 | GLenum | Yes | +| COLOR_ATTACHMENT8 | GLenum | Yes | +| COLOR_ATTACHMENT9 | GLenum | Yes | +| COLOR_ATTACHMENT10 | GLenum | Yes | +| COLOR_ATTACHMENT11 | GLenum | Yes | +| COLOR_ATTACHMENT12 | GLenum | Yes | +| COLOR_ATTACHMENT13 | GLenum | Yes | +| COLOR_ATTACHMENT14 | GLenum | Yes | +| COLOR_ATTACHMENT15 | GLenum | Yes | +| FRAMEBUFFER_INCOMPLETE_MULTISAMPLE | GLenum | Yes | +| MAX_SAMPLES | GLenum | Yes | +| HALF_FLOAT | GLenum | Yes | +| RG | GLenum | Yes | +| RG_INTEGER | GLenum | Yes | +| R8 | GLenum | Yes | +| RG8 | GLenum | Yes | +| R16F | GLenum | Yes | +| R32F | GLenum | Yes | +| RG16F | GLenum | Yes | +| RG32F | GLenum | Yes | +| R8I | GLenum | Yes | +| R8UI | GLenum | Yes | +| R16I | GLenum | Yes | +| R16UI | GLenum | Yes | +| R32I | GLenum | Yes | +| R32UI | GLenum | Yes | +| RG8I | GLenum | Yes | +| RG8UI | GLenum | Yes | +| RG16I | GLenum | Yes | +| RG16UI | GLenum | Yes | +| RG32I | GLenum | Yes | +| RG32UI | GLenum | Yes | +| VERTEX_ARRAY_BINDING | GLenum | Yes | +| R8_SNORM | GLenum | Yes | +| RG8_SNORM | GLenum | Yes | +| RGB8_SNORM | GLenum | Yes | +| SIGNED_NORMALIZED | GLenum | Yes | +| COPY_READ_BUFFER | GLenum | Yes | +| COPY_WRITE_BUFFER | GLenum | Yes | +| COPY_READ_BUFFER_BINDING | GLenum | Yes | +| COPY_WRITE_BUFFER_BINDING | GLenum | Yes | +| UNIFORM_BUFFER | GLenum | Yes | +| UNIFORM_BUFFER_BINDING | GLenum | Yes | +| UNIFORM_BUFFER_START | GLenum | Yes | +| UNIFORM_BUFFER_SIZE | GLenum | Yes | +| MAX_VERTEX_UNIFORM_BLOCKS | GLenum | Yes | +| MAX_FRAGMENT_UNIFORM_BLOCKS | GLenum | Yes | +| MAX_COMBINED_UNIFORM_BLOCKS | GLenum | Yes | +| MAX_UNIFORM_BUFFER_BINDINGS | GLenum | Yes | +| MAX_UNIFORM_BLOCK_SIZE | GLenum | Yes | +| MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS | GLenum | Yes | +| MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS | GLenum | Yes | +| UNIFORM_BUFFER_OFFSET_ALIGNMENT | GLenum | Yes | +| ACTIVE_UNIFORM_BLOCKS | GLenum | Yes | +| UNIFORM_TYPE | GLenum | Yes | +| UNIFORM_SIZE | GLenum | Yes | +| UNIFORM_BLOCK_INDEX | GLenum | Yes | +| UNIFORM_OFFSET | GLenum | Yes | +| UNIFORM_ARRAY_STRIDE | GLenum | Yes | +| UNIFORM_MATRIX_STRIDE | GLenum | Yes | +| UNIFORM_IS_ROW_MAJOR | GLenum | Yes | +| UNIFORM_BLOCK_BINDING | GLenum | Yes | +| UNIFORM_BLOCK_DATA_SIZE | GLenum | Yes | +| UNIFORM_BLOCK_ACTIVE_UNIFORMS | GLenum | Yes | +| UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES | GLenum | Yes | +| UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER | GLenum | Yes | +| UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER | GLenum | Yes | +| INVALID_INDEX | GLenum | Yes | +| MAX_VERTEX_OUTPUT_COMPONENTS | GLenum | Yes | +| MAX_FRAGMENT_INPUT_COMPONENTS | GLenum | Yes | +| MAX_SERVER_WAIT_TIMEOUT | GLenum | Yes | +| OBJECT_TYPE | GLenum | Yes | +| SYNC_CONDITION | GLenum | Yes | +| SYNC_STATUS | GLenum | Yes | +| SYNC_FLAGS | GLenum | Yes | +| SYNC_FENCE | GLenum | Yes | +| SYNC_GPU_COMMANDS_COMPLETE | GLenum | Yes | +| UNSIGNALED | GLenum | Yes | +| SIGNALED | GLenum | Yes | +| ALREADY_SIGNALED | GLenum | Yes | +| TIMEOUT_EXPIRED | GLenum | Yes | +| CONDITION_SATISFIED | GLenum | Yes | +| WAIT_FAILED | GLenum | Yes | +| SYNC_FLUSH_COMMANDS_BIT | GLenum | Yes | +| VERTEX_ATTRIB_ARRAY_DIVISOR | GLenum | Yes | +| ANY_SAMPLES_PASSED | GLenum | Yes | +| ANY_SAMPLES_PASSED_CONSERVATIVE | GLenum | Yes | +| SAMPLER_BINDING | GLenum | Yes | +| RGB10_A2UI | GLenum | Yes | +| INT_2_10_10_10_REV | GLenum | Yes | +| TRANSFORM_FEEDBACK | GLenum | Yes | +| TRANSFORM_FEEDBACK_PAUSED | GLenum | Yes | +| TRANSFORM_FEEDBACK_ACTIVE | GLenum | Yes | +| TRANSFORM_FEEDBACK_BINDING | GLenum | Yes | +| TEXTURE_IMMUTABLE_FORMAT | GLenum | Yes | +| MAX_ELEMENT_INDEX | GLenum | Yes | +| TEXTURE_IMMUTABLE_LEVELS | GLenum | Yes | +| TIMEOUT_IGNORED | GLint64 | Yes | +| MAX_CLIENT_WAIT_TIMEOUT_WEBGL | GLenum | Yes | ### Methods -| Method| Return Value Type| -| -------- | ---------- | -| copyBufferSubData(readTarget:  GLenum,  writeTarget:  GLenum,  readOffset:  GLintptr,  writeOffset:  GLintptr,  size:  GLsizeiptr) | void | -| getBufferSubData(target:  GLenum,  srcByteOffset:  GLintptr,  dstBuffer:  ArrayBufferView,  dstOffset?:  GLuint,  length?:  GLuint) | void | -| blitFramebuffer(srcX0:  GLint,  srcY0:  GLint,  srcX1:  GLint,  srcY1:  GLint,  dstX0:  GLint,  dstY0:  GLint,  dstX1:  GLint,  dstY1:  GLint,  mask:  GLbitfield,  filter:  GLenum) | void | -| framebufferTextureLayer(target:  GLenum,  attachment:  GLenum,  texture:  WebGLTexture \| null,  level:  GLint,  layer:  GLint) | void | -| invalidateFramebuffer(target:  GLenum,  attachments:  GLenum[]) | void | -| invalidateSubFramebuffer(target:  GLenum,  attachments:  GLenum[],  x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei) | void | -| readBuffer(src:  GLenum) | void | -| getInternalformatParameter(target:  GLenum,  internalformat:  GLenum,  pname:  GLenum) | any | -| renderbufferStorageMultisample(target:  GLenum,  samples:  GLsizei,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei) | void | -| texStorage2D(target:  GLenum,  levels:  GLsizei,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei) | void | -| texStorage3D(target:  GLenum,  levels:  GLsizei,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei) | void | -| texImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  pboOffset:  GLintptr) | void | -| texImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView \| null) | void | -| texImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView,  srcOffset:  GLuint) | void | -| texSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  type:  GLenum,  pboOffset:  GLintptr) | void | -| texSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView \| null,  srcOffset?:  GLuint) | void | -| copyTexSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei) | void | -| compressedTexImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  imageSize:  GLsizei,  offset:  GLintptr) | void | -| compressedTexImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  srcData:  ArrayBufferView,  srcOffset?:  GLuint,  srcLengthOverride?:  GLuint) | void | -| compressedTexSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  imageSize:  GLsizei,  offset:  GLintptr) | void | -| compressedTexSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  srcData:  ArrayBufferView,  srcOffset?:  GLuint,  srcLengthOverride?:  GLuint) | void | -| getFragDataLocation(program:  WebGLProgram,  name:  string) | GLint | -| uniform1ui(location:  WebGLUniformLocation \| null,  v0:  GLuint) | void | -| uniform2ui(location:  WebGLUniformLocation \| null,  v0:  GLuint,  v1:  GLuint) | void | -| uniform3ui(location:  WebGLUniformLocation \| null,  v0:  GLuint,  v1:  GLuint,  v2:  GLuint) | void | -| uniform4ui(location:  WebGLUniformLocation \| null,  v0:  GLuint,  v1:  GLuint,  v2:  GLuint,  v3:  GLuint) | void | -| uniform1uiv(location:  WebGLUniformLocation \| null,  data:  Uint32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform2uiv(location:  WebGLUniformLocation \| null,  data:  Uint32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform3uiv(location:  WebGLUniformLocation \| null,  data:  Uint32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform4uiv(location:  WebGLUniformLocation \| null,  data:  Uint32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix3x2fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix4x2fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix2x3fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix4x3fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix2x4fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix3x4fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| vertexAttribI4i(index:  GLuint,  x:  GLint,  y:  GLint,  z:  GLint,  w:  GLint) | void | -| vertexAttribI4iv(index:  GLuint,  values:  Int32List) | void | -| vertexAttribI4ui(index:  GLuint,  x:  GLuint,  y:  GLuint,  z:  GLuint,  w:  GLuint) | void | -| vertexAttribI4uiv(index:  GLuint,  values:  Uint32List) | void | -| vertexAttribIPointer(index:  GLuint,  size:  GLint,  type:  GLenum,  stride:  GLsizei,  offset:  GLintptr) | void | -| vertexAttribDivisor(index:  GLuint,  divisor:  GLuint) | void | -| drawArraysInstanced(mode:  GLenum,  first:  GLint,  count:  GLsizei,  instanceCount:  GLsizei) | void | -| drawElementsInstanced(mode:  GLenum,  count:  GLsizei,  type:  GLenum,  offset:  GLintptr,  instanceCount:  GLsizei) | void | -| drawRangeElements(mode:  GLenum,  start:  GLuint,  end:  GLuint,  count:  GLsizei,  type:  GLenum,  offset:  GLintptr) | void | -| drawBuffers(buffers:  GLenum[]) | void | -| clearBufferfv(buffer:  GLenum,  drawbuffer:  GLint,  values:  Float32List,  srcOffset?:  GLuint) | void | -| clearBufferiv(buffer:  GLenum,  drawbuffer:  GLint,  values:  Int32List,  srcOffset?:  GLuint) | void | -| clearBufferuiv(buffer:  GLenum,  drawbuffer:  GLint,  values:  Uint32List,  srcOffset?:  GLuint) | void | -| clearBufferfi(buffer:  GLenum,  drawbuffer:  GLint,  depth:  GLfloat,  stencil:  GLint) | void | -| createQuery() | WebGLQuery \| null | -| deleteQuery(query:  WebGLQuery \| null) | void | -| isQuery(query:  WebGLQuery \| null) | GLboolean | -| beginQuery(target:  GLenum,  query:  WebGLQuery) | void | -| endQuery(target:  GLenum) | void | -| getQuery(target:  GLenum,  pname:  GLenum) | WebGLQuery \| null | -| getQueryParameter(query:  WebGLQuery,  pname:  GLenum) | any | -| createSampler() | WebGLSampler \| null | -| deleteSampler(sampler:  WebGLSampler \| null) | void | -| isSampler(sampler:  WebGLSampler \| null) | GLboolean | -| bindSampler(unit:  GLuint,  sampler:  WebGLSampler \| null) | void | -| samplerParameteri(sampler:  WebGLSampler,  pname:  GLenum,  param:  GLint) | void | -| samplerParameterf(sampler:  WebGLSampler,  pname:  GLenum,  param:  GLfloat) | void | -| getSamplerParameter(sampler:  WebGLSampler,  pname:  GLenum) | any | -| fenceSync(condition:  GLenum,  flags:  GLbitfield) | WebGLSync \| null | -| isSync(sync:  WebGLSync \| null) | GLboolean | -| deleteSync(sync:  WebGLSync \| null) | void | -| clientWaitSync(sync:  WebGLSync,  flags:  GLbitfield,  timeout:  GLuint64) | GLenum | -| waitSync(sync:  WebGLSync,  flags:  GLbitfield,  timeout:  GLint64) | void | -| getSyncParameter(sync:  WebGLSync,  pname:  GLenum) | any | -| createTransformFeedback() | WebGLTransformFeedback \| null | -| deleteTransformFeedback(tf:  WebGLTransformFeedback \| null) | void | -| isTransformFeedback(tf:  WebGLTransformFeedback \| null) | GLboolean | -| bindTransformFeedback(target:  GLenum,  tf:  WebGLTransformFeedback \| null) | void | -| beginTransformFeedback(primitiveMode:  GLenum) | void | -| endTransformFeedback() | void | -| transformFeedbackVaryings(program:  WebGLProgram,  varyings:  string[],  bufferMode:  GLenum) | void | -| getTransformFeedbackVarying(program:  WebGLProgram,  index:  GLuint) | WebGLActiveInfo \| null | -| pauseTransformFeedback() | void | -| resumeTransformFeedback() | void | -| bindBufferBase(target:  GLenum,  index:  GLuint,  buffer:  WebGLBuffer \| null) | void | -| bindBufferRange(target:  GLenum,  index:  GLuint,  buffer:  WebGLBuffer \| null,  offset:  GLintptr,  size:  GLsizeiptr) | void | -| getIndexedParameter(target:  GLenum,  index:  GLuint) | any | -| getUniformIndices(program:  WebGLProgram,  uniformNames:  string[]) | GLuint[] \| null | -| getActiveUniforms(program:  WebGLProgram,  uniformIndices:  GLuint[],  pname:  GLenum) | any | -| getUniformBlockIndex(program:  WebGLProgram,  uniformBlockName:  string) | GLuint | -| getActiveUniformBlockParameter(program:  WebGLProgram,  uniformBlockIndex:  GLuint,  pname:  GLenum) | any | -| getActiveUniformBlockName(program:  WebGLProgram,  uniformBlockIndex:  GLuint) | string \| null | -| uniformBlockBinding(program:  WebGLProgram,  uniformBlockIndex:  GLuint,  uniformBlockBinding:  GLuint) | void | -| createVertexArray() | WebGLVertexArrayObject \| null | -| deleteVertexArray(vertexArray:  WebGLVertexArrayObject \| null) | void | -| isVertexArray(vertexArray:  WebGLVertexArrayObject \| null) | GLboolean | -| bindVertexArray(array:  WebGLVertexArrayObject \| null) | void | - - -## webgl.WebGL2RenderingContextOverloads + | Method | Return Value Type | +| -------- | -------- | +| copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) | void | +| getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: GLuint, length?: GLuint) | void | +| blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum) | void | +| framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture \| null, level: GLint, layer: GLint) | void | +| invalidateFramebuffer(target: GLenum, attachments: GLenum[]) | void | +| invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | +| readBuffer(src: GLenum) | void | +| getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum) | any | +| renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | +| texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | +| texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei) | void | +| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | +| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null) | void | +| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void | +| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | +| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null, srcOffset?: GLuint) | void | +| copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | +| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void | +| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | +| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void | +| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | +| getFragDataLocation(program: WebGLProgram, name: string) | GLint | +| uniform1ui(location: WebGLUniformLocation \| null, v0: GLuint) | void | +| uniform2ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint) | void | +| uniform3ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint) | void | +| uniform4ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) | void | +| uniform1uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform2uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform3uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform4uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix3x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix4x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix2x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix4x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix2x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix3x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) | void | +| vertexAttribI4iv(index: GLuint, values: Int32List) | void | +| vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) | void | +| vertexAttribI4uiv(index: GLuint, values: Uint32List) | void | +| vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr) | void | +| vertexAttribDivisor(index: GLuint, divisor: GLuint) | void | +| drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) | void | +| drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei) | void | +| drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr) | void | +| drawBuffers(buffers: GLenum[]) | void | +| clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: GLuint) | void | +| clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: GLuint) | void | +| clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint) | void | +| clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) | void | +| createQuery() | WebGLQuery \| null | +| deleteQuery(query: WebGLQuery \| null) | void | +| isQuery(query: WebGLQuery \| null) | GLboolean | +| beginQuery(target: GLenum, query: WebGLQuery) | void | +| endQuery(target: GLenum) | void | +| getQuery(target: GLenum, pname: GLenum) | WebGLQuery \| null | +| getQueryParameter(query: WebGLQuery, pname: GLenum) | any | +| createSampler() | WebGLSampler \| null | +| deleteSampler(sampler: WebGLSampler \| null) | void | +| isSampler(sampler: WebGLSampler \| null) | GLboolean | +| bindSampler(unit: GLuint, sampler: WebGLSampler \| null) | void | +| samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint) | void | +| samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat) | void; | +| getSamplerParameter(sampler: WebGLSampler, pname: GLenum) | any | +| fenceSync(condition: GLenum, flags: GLbitfield) | WebGLSync \| null | +| isSync(sync: WebGLSync \| null) | GLboolean | +| deleteSync(sync: WebGLSync \| null) | void | +| clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64) | GLenum | +| waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64) | void | +| getSyncParameter(sync: WebGLSync, pname: GLenum) | any | +| createTransformFeedback() | WebGLTransformFeedback \| null | +| deleteTransformFeedback(tf: WebGLTransformFeedback \| null) | void | +| isTransformFeedback(tf: WebGLTransformFeedback \| null) | GLboolean | +| bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback \| null) | void | +| beginTransformFeedback(primitiveMode: GLenum) | void | +| endTransformFeedback() | void | +| transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum) | void | +| getTransformFeedbackVarying(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | +| pauseTransformFeedback() | void | +| resumeTransformFeedback() | void | +| bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null) | void | +| bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null, offset: GLintptr, size: GLsizeiptr) | void | +| getIndexedParameter(target: GLenum, index: GLuint) | any | +| getUniformIndices(program: WebGLProgram, uniformNames: string[]) | GLuint[] \| null | +| getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum) | any | +| getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string) | GLuint | +| getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum) | any | +| getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint) | string \| null | +| uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) | void | +| createVertexArray() | WebGLVertexArrayObject \| null | +| deleteVertexArray(vertexArray: WebGLVertexArrayObject \| null) | void | +| isVertexArray(vertexArray: WebGLVertexArrayObject \| null) | GLboolean | +| bindVertexArray(array: WebGLVertexArrayObject \| null) | void | + + +## WebGL2RenderingContextOverloads WebGL2RenderingContextOverloads -| Method| Return Value Type| -| -------- | ---------- | -| bufferData(target:  GLenum,  size:  GLsizeiptr,  usage:  GLenum) | void | -| bufferData(target:  GLenum,  srcData:  BufferSource \| null,  usage:  GLenum) | void | -| bufferSubData(target:  GLenum,  dstByteOffset:  GLintptr,  srcData:  BufferSource) | void | -| bufferData(target:  GLenum,  srcData:  ArrayBufferView,  usage:  GLenum,  srcOffset:  GLuint,  length?:  GLuint) | void | -| bufferSubData(target:  GLenum,  dstByteOffset:  GLintptr,  srcData:  ArrayBufferView,  srcOffset:  GLuint,  length?:  GLuint) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  pixels:  ArrayBufferView \| null) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  pixels:  ArrayBufferView \| null) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  pboOffset:  GLintptr) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView,  srcOffset:  GLuint) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  pboOffset:  GLintptr) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView,  srcOffset:  GLuint) | void | -| compressedTexImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  imageSize:  GLsizei,  offset:  GLintptr) | void | -| compressedTexImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  srcData:  ArrayBufferView,  srcOffset?:  GLuint,  srcLengthOverride?:  GLuint) | void | -| compressedTexSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  imageSize:  GLsizei,  offset:  GLintptr) | void | -| compressedTexSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  srcData:  ArrayBufferView,  srcOffset?:  GLuint,  srcLengthOverride?:  GLuint) | void | -| uniform1fv(location:  WebGLUniformLocation \| null,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform2fv(location:  WebGLUniformLocation \| null,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform3fv(location:  WebGLUniformLocation \| null,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform4fv(location:  WebGLUniformLocation \| null,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform1iv(location:  WebGLUniformLocation \| null,  data:  Int32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform2iv(location:  WebGLUniformLocation \| null,  data:  Int32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform3iv(location:  WebGLUniformLocation \| null,  data:  Int32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform4iv(location:  WebGLUniformLocation \| null,  data:  Int32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix2fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix3fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix4fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| readPixels(x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  dstData:  ArrayBufferView \| null) | void | -| readPixels(x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  offset:  GLintptr) | void | -| readPixels(x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  dstData:  ArrayBufferView,  dstOffset:  GLuint) | void | - - -## webgl.WebGLQuery - -WebGLQuery - - -## webgl.WebGLSampler - -WebGLSampler - - -## webgl.WebGLSync - -WebGLSync - - -## webgl.WebGLTransformFeedback - -WebGLTransformFeedback - - -## webgl.WebGLVertexArrayObject - -WebGLVertexArrayObject + | Method | Return Value Type | +| -------- | -------- | +| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void | +| bufferData(target: GLenum, srcData: BufferSource \| null, usage: GLenum) | void | +| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: BufferSource) | void | +| bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length?: GLuint) | void | +| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void | +| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void | +| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | +| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void | +| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | +| uniform1fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform2fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform3fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform4fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform1iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform2iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform3iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform4iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView \| null) | void | +| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr) | void | +| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint) | void | diff --git a/en/application-dev/reference/arkui-js/js-components-common-methods.md b/en/application-dev/reference/arkui-js/js-components-common-methods.md index 221a5a9de52b56488cf80ad1de5e4dcbc8961db4..3ae0be9a4dde79476c16de605eb4b5cf5574e6a9 100644 --- a/en/application-dev/reference/arkui-js/js-components-common-methods.md +++ b/en/application-dev/reference/arkui-js/js-components-common-methods.md @@ -586,7 +586,7 @@ Obtains the size of the element and its position relative to the window. ## createIntersectionObserver -createIntersectionObserver\(param?: [ObserverParam](#table143341035121917)\):[Observer](#table4506633141711) +createIntersectionObserver\(param?: ObserverParam):Observer Gets notified of the visibility of an element on the current page. diff --git a/en/application-dev/ui/ui-ts-creating-project.md b/en/application-dev/ui/ui-ts-creating-project.md index 57482cce585951a02a62e25b765a38d2eac2de57..06eaa9f60525e7638535adc21a0239733e1eb557 100644 --- a/en/application-dev/ui/ui-ts-creating-project.md +++ b/en/application-dev/ui/ui-ts-creating-project.md @@ -61,8 +61,7 @@ Before creating a project, you need to install DevEco Studio. For details, see ![](figures/en-us_image_0000001148858818.png) - Before the installation, you must configure an application signature. For details, see [Configuring the OpenHarmony App Signature](https://gitee.com/openharmony/docs/blob/master/en/application-dev/quick-start/configuring-the-openharmony-app-signature.md). After the installation is complete, click the **Run** icon on the screen to open the application. **Hello World** is displayed in the center of the screen. + Before the installation, you must configure an application signature. For details, see [Configuring the OpenHarmony App Signature](../quick-start/configuring-openharmony-app-signature.md). After the installation is complete, click the **Run** icon on the screen to open the application. **Hello World** is displayed in the center of the screen. ![](figures/en-us_image_0000001158896538.png) - diff --git a/en/device-dev/subsystems/Readme-EN.md b/en/device-dev/subsystems/Readme-EN.md index 020980c386ebedf7b781776d02748a7339a0231e..0e088b60b74f40e9d42fd76f48f9b374df868613 100644 --- a/en/device-dev/subsystems/Readme-EN.md +++ b/en/device-dev/subsystems/Readme-EN.md @@ -3,7 +3,6 @@ - [Compilation and Building](subsys-build.md) - [Building Guidelines for Mini and Small Systems](subsys-build-mini-lite.md) - [Building Guidelines for Standard Systems](subsys-build-standard-large.md) - - [Build System Coding Specifications and Best Practices](subsys-build-gn-coding-style-and-best-practice.md) - [Distributed Remote Startup](subsys-remote-start.md) - [Graphics](subsys-graphics.md) - [Graphics](subsys-graphics-overview.md) @@ -80,12 +79,10 @@ - [Testing](subsys-testguide-test.md) - [DFX](subsys-dfx.md) - [DFX](subsys-dfx-overview.md) - - [Development Guidelines on HiLog ](subsys-dfx-hilog-rich.md) - - [Development Guidelines on HiLog\_Lite](subsys-dfx-hilog-lite.md) - - [HiTrace Development](subsys-dfx-hitrace.md) - - [HiCollie Development](subsys-dfx-hicollie.md) - - [Development Guidelines on HiSysEvent](subsys-dfx-hisysevent.md) + - [HiLog Development](subsys-dfx-hilog-rich.md) + - [HiLog_Lite Development](subsys-dfx-hilog-lite.md) - [HiSysEvent Development](subsys-dfx-hisysevent.md) + - [HiSysEvent Logging Configuration](subsys-dfx-hisysevent-logging-config.md) - [HiSysEvent Logging](subsys-dfx-hisysevent-logging.md) - [HiSysEvent Listening](subsys-dfx-hisysevent-listening.md) - [HiSysEvent Query](subsys-dfx-hisysevent-query.md) diff --git a/en/device-dev/subsystems/subsys-dfx-hilog-lite.md b/en/device-dev/subsystems/subsys-dfx-hilog-lite.md index 432bb0d18f9e77e13fa7b448bda75c486b07d5a5..6f65a7c76ec6a1e2e2798883ec3fd4550c4255b5 100644 --- a/en/device-dev/subsystems/subsys-dfx-hilog-lite.md +++ b/en/device-dev/subsystems/subsys-dfx-hilog-lite.md @@ -1,4 +1,4 @@ -# Development Guidelines on HiLog\_Lite +# HiLog\_Lite Development ## Overview diff --git a/en/device-dev/subsystems/subsys-dfx-hisysevent-listening.md b/en/device-dev/subsystems/subsys-dfx-hisysevent-listening.md index f36ae618c2045e592f208f64a8fd35e4d6ea91a2..b7106bf6f4ea8d0b0dab99470c598d42edfd9970 100644 --- a/en/device-dev/subsystems/subsys-dfx-hisysevent-listening.md +++ b/en/device-dev/subsystems/subsys-dfx-hisysevent-listening.md @@ -1,146 +1,124 @@ # HiSysEvent Listening +- [Overview](#section315316685112) + - [Introduction](#section123181433335224) + - [Constraints](#section123181433375224) +- [Development Guidelines](#section315316685113) + - [Available APIs](#section0342191810519) + - [Development Example](#section123181432175110) + ## Overview -HiSysEvent supports listening for events across processes. You can register a listener to listen for concerned events on a real-time basis. For example, you can enable the battery module to listen for power consumption event for power usage analysis. - -## Available APIs - -**Table 1** HiSysEvent listener APIs - - - - - - - - - - - - - -

API

-

Description

-

bool HiSysEventManager::AddEventListener(std::shared_ptr<HiSysEventSubscribeCallBack> listener, std::vector<struct ListenerRule>& rules)

-

Registers a listener for system events. You can listen for certain events by specifying rules.

-

Input arguments:

-
  • listener: callback object for system events.
  • rules: rules for event listening.
-

Return values

-
  • 0: Repeated registration is successful.
  • 1: Initial registration is successful.
  • Other values: Registration has failed.
-

bool HiSysEventManager::RemoveListener(std::shared_ptr<HiSysEventSubscribeCallBack> listener)

-

Removes the listener for system events.

-

Input arguments:

-
  • listener: callback object for system events.
-

Return value: none

-
- -**Table 2** HiSysEvent listener rules - - - - - - - - - - - - - - - - -

Attribute

-

Description

-

uint32_t ruleType

-

Rule type. The matching scope includes domain and eventName. The value can be any of the following:

-
  • 1: whole word matching.
  • 2: prefix matching.
  • 3: regular expression matching.
  • Other values: invalid matching mode.
-

std::string domain

-
  • domain: domain to which the event belongs. By default, an empty string indicates that the domain is successfully matched.
-

std::string eventName

-
  • eventName: event name. By default, an empty string indicates that the event name is successfully matched.
-
- -**Table 3** HiSysEvent callback object - - - - - - - - - - -

API

-

Description

-

void HiSysEventSubscribeCallBack::OnHandle(const std::string& domain, const std::string& eventName, const int eventType, const std::string& eventDetail)

-

Callback object for system events.

-

Input arguments:

-
  • domain: domain to which the event belongs.
  • eventName: event name.
  • eventType: event type.
  • eventDetail: JSON string containing event information.
-

Return value: none

-
- -## How to Develop - -### **C++** - -In this example, you'll be instructed to register a listener for all system events that belong to the **HIVIEWDFX** domain. +### Introduction + +HiSysEvent supports listening for events across processes. You can register a listener to listen for concerned events on a real-time basis. For example, you can enable the battery module to listen for power consumption events for power usage analysis. + +### Constraints + +Before subscribing to system events, you need to configure HiSysEvent logging. For details, see [HiSysEvent Logging Configuration](subsys-dfx-hisysevent-logging-config.md). + +## Development Guidelines + +### Available APIs + +**Table 1** EventListener APIs + +| API| Description| +| -------- | --------- | +|bool HiSysEventManager::AddEventListener(std::shared_ptr<HiSysEventSubscribeCallBackBase> listener, std::vector<ListenerRule>& rules)|Registers a listener for system events. You can listen for certain events by specifying rules.

Input arguments:
  • **listener**: callback object for system events.
  • **rules**: rules for event listening.
Return value:
  • **0**: Repeated registration is successful.
  • **1**: Initial registration is successful.
  • Other values: Registration has failed.
| +|bool HiSysEventManager::RemoveListener(std::shared_ptr<HiSysEventSubscribeCallBackBase> listener)|Removes the listener for system events.

Input argument:
  • **listener**: callback object for system events.
Return value:
  None.| + +**Table 2** Description of ListenerRule + +| API| Description| +| -------- | --------- | +|ListenerRule(const std::string& tag, RuleType ruleType = RuleType::WHOLE_WORD)|Constructor used to create a **ListenerRule** object based on the event tag.

Input arguments:
  • **tag**: indicates the event tag for the **ListenerRule** object. The value is a string of 1 to 16 characters, including uppercase letters, lowercase letters, and digits.
  • **ruleType**: indicates the type of the **ListenerRule** object. The value is an enum defined by **RuleType**.
| +|ListenerRule(const std::string& domain, const std::string& eventName, RuleType ruleType = RuleType::WHOLE_WORD)|Constructor used to create a **ListenerRule** object based on the event domain and event name.

Input arguments:
  • **domain**: indicates the event domain for the **ListenerRule** object. The value is a string of 1 to 16 characters, including uppercase letters, digits, and underscores (_).
  • **eventName**: indicates the event name for the **ListenerRule** object. The value is a string of 1 to 32 characters, including uppercase letters, digits, and underscores (_).
  • **ruleType**: indicates the type of the **ListenerRule** object. The value is an enum defined by **RuleType**.
| +|ListenerRule(const std::string& domain, const std::string& eventName, const std::string& tag, RuleType ruleType = RuleType::WHOLE_WORD)|Constructor used to create a **ListenerRule** object based on the event domain, event name, and event tag.

Input arguments:
  • **tag**: indicates the event tag for the **ListenerRule** object. The value is a string of 1 to 16 characters, including uppercase letters, lowercase letters, and digits.
  • **domain**: indicates the event domain for the **ListenerRule** object. The value is a string of 1 to 16 characters, including uppercase letters, digits, and underscores (_).
  • **eventName**: indicates the event name for the **ListenerRule** object. The value is a string of 1 to 32 characters, including uppercase letters, digits, and underscores (_).
  • **ruleType**: indicates the type of the **ListenerRule** object. The value is an enum defined by **RuleType**.
| + +**Table 3** Description of RuleType + +| Enum| Description| +| ------------ | ------------- | +| WHOLE_WORD | Whole word matching| +| PREFIX | Prefix matching| +| REGULAR | Regular expression matching| + +**Table 4** Description of HiSysEventSubscribeCallBackBase + +| API| Description| +| -------- | --------- | +|void HiSysEventSubscribeCallBackBase::OnHandle(const std::string& domain, const std::string& eventName, const int eventType, const std::string& eventDetail)|Provides the callback of system events.

Input arguments:
  • **domain**: indicates the domain to which the event belongs.
  • **eventName**: indicates the event name.
  • **eventType**: indicates the event type.
  • **eventDetail**: indicates the event information, in JSON format.
Return value:
  None.| + +### Development Example + +C++ 1. Develop the source code. - - Import the corresponding header file: + Import the **DemoListener.h** header file, which contains the **DemoListener** class for implementing the custom event callback. - hisysevent\_manager.h + ``` + #ifndef DEMO_LISTENER_H + #define DEMO_LISTENER_H - - Implement the callback API. + #include "hisysevent_subscribe_callback.h" - HiSysEventSubscribeCallBack::OnHandle\(const std::string& domain, const std::string& eventName, const int eventType, const std::string& eventDetail\) + #include - - Register a callback object. + class DemoListener : public OHOS::HiviewDFX::HiSysEventSubscribeCallBackNative { + public: + explicit DemoListener() : HiSysEventSubscribeCallBackNative() {} + void OnHandle(const std::string& domain, const std::string& eventName, const int eventType, + const std::string& eventDetail); + virtual ~DemoListener() {} + void OnServiceDied(); + }; - HiSysEventManager::AddEventListener\(std::shared\_ptr listener, std::vector& rules\) + #endif DEMO_LISTENER_H + ``` + Create the **DemoListener.cpp** file, and add the implementation logic of the custom event callback API in the **DemoListener** class. ``` - // Register a listener for all system events that belong to the HIVIEWDFX domain. - #include "hisysevent_manager.h" + #include "demo_listener.h" + #include - namespace OHOS { - namespace HiviewDFX { - // Implement the API for registering a listener for callback objects. - void HiSysEventToolListener::OnHandle(const std::string& domain, const std::string& eventName, + + void DemoListener::OnHandle(const std::string& domain, const std::string& eventName, const int eventType, const std::string& eventDetail) { std::cout << eventDetail << std::endl; } - - void HiSysEventToolListener::OnServiceDied() + + void DemoListener::OnServiceDied() { std::cout << std::string("service disconnect, exit") << std::endl; exit(0); } - } // namespace HiviewDFX - } // namespace OHOS - - // Register a listener for callback objects. - auto toolListener = std::make_shared(); - struct ListenerRule rule; - rule.ruleType = 1; // 1: default type - rule.domain = "HIVIEWDFX"; - std::vector sysRules; - sysRules.push_back(rule); - HiSysEventManager::AddEventListener(toolListener, sysRules); ``` -2. Modify the **BUILD.gn** file. - - In the **BUILD.gn** file, add the **libhisyseventmanager** library that depends on the** hisysevent\_native** component. + Call the **AddEventListener** API of the **HiSysEventManager** class to add a listener for system events. ``` - external_deps = [ "hisysevent_native:libhisyseventmanager", ] + auto demoListener = std::make_shared(); + // Add a ListenerRule object based on the event tag, with RuleType left unspecified (in this case, ruleType is defaulted to WHOLE_WORD). + ListenerRule tagRule("dfx"); + // Add a ListenerRule object based on the event tag, with RuleType set as REGULAR. + ListenerRule regRule("dfx.*", RuleType::REGULAR); + // Add a ListenerRule object based on the event domain and event name, with RuleType set as PREFIX. + ListenerRule domainNameRule("HIVIEWDFX", "APP_USAGE", RuleType::PREFIX); + std::vector sysRules; + sysRules.push_back(tagRule); + sysRules.push_back(regRule); + sysRules.push_back(domainNameRule); + HiSysEventManager::AddEventListener(demoListener, sysRules); ``` +2. Configure the **BUILD.gn** file. + In the **BUILD.gn** file, add the **libhisyseventmanager** library that depends on the **hisysevent\_native** component. + + ``` + external_deps = [ "hisysevent_native:libhisyseventmanager", ] + ``` diff --git a/en/device-dev/subsystems/subsys-dfx-hisysevent-logging-config.md b/en/device-dev/subsystems/subsys-dfx-hisysevent-logging-config.md new file mode 100644 index 0000000000000000000000000000000000000000..eb960a33ba16b806f286d11608922c637b6b7653 --- /dev/null +++ b/en/device-dev/subsystems/subsys-dfx-hisysevent-logging-config.md @@ -0,0 +1,186 @@ +# HiSysEvent Logging Configuration + +- [Overview](#section315316685115) + - [Basic Concepts](#section123181432175143) + - [Constraints](#section123181432175114) +- [Writing a YAML File](#section123181432175113) + - [Writing Rules](#section123181432175133) + - [Example](#section123181432175123) +- [Verifying the YAML File](#section123181432175115) + - [Configuring the YAML File Path](#section123181432175135) + - [Compiling the YAML File](#section123181432175137) + - [Logging and Querying Events](#section123181432175139) + +## Overview + +If HiSysEvent logging is required for a component, you need to define a YAML file and [configure the YAML file path](#section123181432175135) in the **bundle.js** file. During compilation, the OpenHarmony compilation framework will use the Python compilation script to parse and verify all the YAML files configured in the **bundle.js** file. On completion, the compilation framework will summarize the configuration information in the YAML files and convert the information into a JSON file named **hisysevent.def**. After that, the compilation framework will put the JSON file to a specified path as the basis for the system to determine whether to log system events. + +### Basic Concepts + +Understanding the following concepts would be helpful for you in configuring HiSysEvent logging. + +- Event domain + Represents the domain to which an event belongs. It is specified by the **domain** field in the YAML file. For details, see [domain](#section123181432175123) in the example YAML file. + +- Event name + Indicates the events in an event domain. For details, see [EVENT\_NAMEA/EVENT\_NAMEB](#section123181432175123) in the example YAML file. + +- Parameter + Defines the key values in an event name. For details, see [__BASE/NAME1/NAME2](#section123181432175123) in the example YAML file. + + +### Constraints + +- Each YAML file can contain only one event domain, and the domain name cannot be the same as that defined in other YAML files. + +- Zero or more event names can be defined for one event domain. The event names in the same event domain must be unique. + +- Multiple parameters can be defined for one event name. The parameters in the same event name must be unique. There must be one and only one parameter named **\__BASE** in each event name. See Table 1 for the fields of this parameter and Table 2 for the fields of other custom parameters. + + **Table 1** Fields in the \__BASE parameter + + | Field| Description| + | ----- | ----- | + | type | Indicates the type of the event. This field is mandatory.

Value:
  • **FAULT**: fault
  • **STATISTIC**: statistics
  • **SECURITY**: security
  • **BEHAVIOR**: user behavior
| + | level | Indicates the level of the event. This field is mandatory.

Value:
  • **CRITICAL**: critical
  • **MINOR**: minor
| + | tag | Indicates the tag of the event. This field is mandatory.

Rule:
  • You can define a maximum of five tags,separated with a space.
  • A single tag can contain a maximum of 16 characters, including a to z, A to Z, and 0 to 9.
| + | desc | Describes the event name. This field is mandatory.

Rule:
  • The description contains 3 to 128 characters, including a to z, A to Z, 0 to 9, and underscores (_).
| + + **Table 2** Description of custom parameters + + | Field| Description| + | ----- | ----- | + | type | Indicates the type of a parameter. This field is mandatory.

Value:
  • BOOL
  • UINT8
  • UINT16
  • INT32
  • UINT32
  • UINT64
  • FLOAT
  • DOUBLE
  • STRING
| + | arrsize | Specifies the length of the parameter of the array type. This field is optional.

Value range:
  • 1-100
| + | desc | Describes the parameter. This field is mandatory.

Rule:
  • The description contains 3 to 128 characters, including a to z, A to Z, 0 to 9, and underscores (_).
| + +## Writing a YAML File + +### Writing Rules + +- Event domain naming rules: + - The name must start with a letter and can contain only uppercase letters, digits, and underscores (_). + - The name contains 1 to 16 characters. +- Event naming rules: + - The name must start with a letter and can contain only uppercase letters, digits, and underscores (_). + - The name contains 1 to 32 characters. + - The number of internal event names in an event domain cannot exceed 4096. +- Parameter naming rules: + - The name must start with a letter and can contain only uppercase letters, digits, and underscores (_). + - The name contains 1 to 32 characters. + - The number of parameters in an event domain cannot exceed 128. + +### Example + +- In the example YAML file, the event domain name is **MODULEA**. The event domain contains two events named **EVENT\_NAMEA** and **EVENT\_NAMEB**. +- **EVENT\_NAMEA** is defined as a critical event of the fault type. The event contains the **NAME1** parameter of the string type, the **NAME2** parameter of the string type, and the **NAME3** parameter of the unsigned short integer type. Therefore, you can perform [real-time subscription](subsys-dfx-hisysevent-listening.md) to the event based on the event domain **MODULEA** and event name **EVENT\_NAMEA**. +- **EVENT\_NAMEB** is defined as a general event of the statistics type. The event contains the **NAME1** parameter of the unsigned short integer type and the **NAME2** parameter of the integer type. Because two event tags named **tag1** and **tag2** are defined for **EVENT\_NAMEB** in the **\__BASE** parameter, you can perform [real-time subscription](subsys-dfx-hisysevent-read.md) to the event based on the event domain **MODULEA** and event name **EVENT\_NAMEB**, or based on the event tag. + + ``` + ########################################## + # HiSysEvent definition for MODULEA + ########################################## + + domain: MODULEA + + EVENT_NAMEA: + __BASE: {type: FAULT, level: CRITICAL, desc: event name a} + NAME1: {type: STRING, desc: name1} + NAME2: {type: STRING, desc: name2} + NAME3: {type: UINT16, desc: name3} + + EVENT_NAMEB: + __BASE: {type: STATISTIC, level: MINOR, tag: tag1 tag2, desc: event name b} + NAME1: {type: UINT16, desc: name1} + NAME2: {type: INT32, desc: name2} + ``` + +## Verifying the YAML File + +### Configuring the YAML File Path + +In the **bundle.js** file, use the ```hisysevent_config``` attribute to specify the YAML file path. + +``` +{ + "name": "@ohos/moduel_a", + "description": "module a", + "version": "3.1", + "license": "Apache License 2.0", + "publishAs": "code-segment", + "segment": { + "destPath": "moduel_a_path" + }, + "dirs": {}, + "scripts": {}, + "component": { + "name": "hisysevent_native", + "subsystem": "hiviewdfx", + "adapted_system_type": [ + "standard" + ], + "rom": "", + "ram": "", + "hisysevent_config": [ + "//moduel_a_path/yaml_file1.yaml", + "//moduel_a_path/yaml_file2.yaml" + ], + "deps": { + "components": [ + "hilog_native", + "hitrace_native", + "ipc", + "safwk", + "samgr_standard", + "utils_base" + ], + "third_party": [] + }, + "build": { + } + } +} +``` + +>![](../public_sys-resources/icon-note.gif) **Note:** +>The YAML file can be placed in any directory of the component project as needed. You only need to specify the path in the **bundle.js** file. + +### Compiling the YAML File + +- Perform full compilation. + + - During full compilation of the system, the configuration in the YAML files of all components are summarized. After the compilation is complete, the **hisysevent.def** file will be generated in the specified directory. + + ``` + cd absolute path of the project's root directory + ./build --product-name + ``` + + - To obtain the **hisysevent.def** file generated after full compilation, run the following command: + + ``` + cd absolute path of the project's root directory + find out -name hisysevent.def -type f + ``` + +- Single-file compilation: + + You can also compile the YAML file of a single component by running the following commands: + + ``` + cd absolute path of the project's root directory + ./build/ohos/hisysevent/gen_def_from_all_yaml.py --yaml-list --def-path + ``` + + **Table 3** Parameters for single-file compilation + + | Parameter| Description| + | ------ | ------ | + | --yaml-list | Specifies the paths of the YAML files to be compiled. If there are multiple YAML file paths, separate each of them with a space.| + | --def-path | Specifies the path of the **hisysevent.def** file generated after compilation.| + +### Logging and Querying Events + +1. Push the **hisysevent.def** file to the **/system/etc/hiview/** directory of the device by using the [hdc_std tool](subsys-toolchain-hdc-guide.md). + +2. Trigger logging of the custom system events in the YAML file. Then, run [hisysevent -l](subsys-dfx-hisysevent-tool.md) to query historical system events to find out if the logging of the custom system events is successful. diff --git a/en/device-dev/subsystems/subsys-dfx-hisysevent-logging.md b/en/device-dev/subsystems/subsys-dfx-hisysevent-logging.md index feadce49bca7de61ce03a2a922bf18785b71b0e0..e0c70f789d5991a8b54760a90f54d3fe6edc65bd 100644 --- a/en/device-dev/subsystems/subsys-dfx-hisysevent-logging.md +++ b/en/device-dev/subsystems/subsys-dfx-hisysevent-logging.md @@ -1,281 +1,106 @@ # HiSysEvent Logging -## Overview - -HiSysEvent provides event logging APIs for OpenHarmony to record important information of key processes during system running, helping you locate faults. In addition, you can upload the log data to the cloud for big data analytics. - -## Available APIs - -The following table lists the C++ APIs provided by the **HiSysEvent** class. - -For details about the **HiSysEvent** class, see the API reference. - -**Table 1** C++ APIs provided by HiSysEvent +- [Overview](#section77571101789) + - [Introduction](#section123133332175224) + - [Constraints](#section123181432175224) +- [Development Guidelines](#section314416685113) + - [Available APIs](#section13480315886) + - [Development Example](#section112771171317) - - - - - - - - - -

API

-

Description

-

template<typename... Types> static int Write(const std::string &domain, const std::string &eventName, EventType type, Types... keyValues)

-

Logs system events.

-

Input arguments:

-
  • domain: Indicates the domain related to the event. You can use a preconfigured domain or customize a domain as needed. The name of a custom domain can contain a maximum of 16 characters, including digits (0-9) and uppercase letters (A-Z). It must start with a letter.
  • eventName: Indicates the event name. The value contains a maximum of 32 characters, including digits (0 to 9), letters (A-Z), and underscore (_). It must start with a letter and cannot end with an underscore (_).
  • type: Indicates the event type. For details, see EventType.
  • keyValues: Indicates the key-value pairs of event parameters. It can be in the format of the basic data type, std::string, std::vector<basic data type>, or std:vector<std::string>. The value contains a maximum of 48 characters, including digits (0 to 9), letters (A-Z), and underscore (_). It must start with a letter and cannot end with an underscore (_). The number of parameter names cannot exceed 32.
-

Return value: Returns 0 if the operation is successful; returns a value less than 0 otherwise.

-
- -**Table 2** Description of HiSysEvent::Domain APIs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

API

-

Description

-

static const std::string AAFWK

-

Ability management framework

-

static const std::string APPEXECFWK

-

Application framework

-

static const std::string ACCOUNT

-

Account subsystem

-

static const std::string ACE

-

ACE subsystem

-

static const std::string AI

-

AI subsystem

-

static const std::string BARRIER_FREE

-

Accessibility subsystem

-

static const std::string BIOMETRICS

-

Biometric recognition subsystem

-

static const std::string CCRUNTIME

-

C/C++ operating environment subsystem

-

static const std::string COMMUNICATION

-

Communication subsystem

-

static const std::string DEVELOPTOOLS

-

Development toolchain subsystem

-

static const std::string DISTRIBUTED_DATAMGR

-

Distributed data management subsystem

-

static const std::string DISTRIBUTED_SCHEDULE

-

Distributed scheduler subsystem

-

static const std::string GLOBAL

-

Globalization subsystem

-

static const std::string GRAPHIC

-

Graphics subsystem

-

static const std::string HIVIEWDFX

-

DFX subsystem

-

static const std::string IAWARE

-

Scheduling and resource management subsystem

-

static const std::string INTELLI_ACCESSORIES

-

Smart accessory subsystem

-

static const std::string INTELLI_TV

-

Smart TV subsystem

-

static const std::string IVI_HARDWARE

-

IVI-dedicated hardware subsystem

-

static const std::string LOCATION

-

Location subsystem

-

static const std::string MSDP

-

MSDP subsystem

-

static const std::string MULTI_MEDIA

-

Multimedia subsystem

-

static const std::string MULTI_MODAL_INPUT

-

Multimodal input subsystem

-

static const std::string NOTIFICATION

-

Common event and notification subsystem

-

static const std::string POWERMGR

-

Power management subsystem

-

static const std::string ROUTER

-

Router subsystem

-

static const std::string SECURITY

-

Security subsystem

-

static const std::string SENSORS

-

Pan-sensor subsystem

-

static const std::string SOURCE_CODE_TRANSFORMER

-

Application porting subsystem

-

static const std::string STARTUP

-

Startup subsystem

-

static const std::string TELEPHONY

-

Telephony subsystem

-

static const std::string UPDATE

-

Update subsystem

-

static const std::string USB

-

USB subsystem

-

static const std::string WEARABLE_HARDWARE

-

Wearable-dedicated hardware subsystem

-

static const std::string WEARABLE

-

Wearable-dedicated service subsystem

-

static const std::string OTHERS

-

Others

-
- -**Table 3** Description of HiSysEvent::EventType APIs +## Overview - - - - - - - - - - - - - - - - - - -

API

-

Description

-

FAULT

-

Fault event

-

STATISTIC

-

Statistical event

-

SECURITY

-

Security event

-

BEHAVIOR

-

System behavior event

-
+### Introduction -## How to Develop +HiSysEvent provides event logging APIs for OpenHarmony to record important information of key processes during system running, helping you locate faults. In addition, you can upload the log data to the cloud for big data analytics. -**C++** +### Constraints + +Before logging system events, you need to configure HiSysEvent logging. For details, see [HiSysEvent Logging Configuration](subsys-dfx-hisysevent-logging-config.md). + +## Development Guidelines + +### Available APIs + +The following table lists the C++ APIs provided by the HiSysEvent class. + +For details about the HiSysEvent class, see the API reference. + +**Table 1** C++ APIs provided by HiSysEvent + +| API| Description| +| -------- | --------- | +| template<typename... Types> static int Write(const std::string &domain, const std::string &eventName, EventType type, Types... keyValues) | Logs system events.

Input arguments:
  • **domain**: Indicates the domain related to the event. You can use a preconfigured domain or customize a domain as needed. The name of a custom domain can contain a maximum of 16 characters, including digits (0-9) and uppercase letters (A-Z). It must start with a letter.
  • **eventName**: Indicates the event name. The value contains a maximum of 32 characters, including digits (0 to 9), letters (A-Z), and underscores (_). It must start with a letter and cannot end with an underscore.
  • **type**: Indicates the event type. For details, see EventType.
  • **keyValues**: Indicates the key-value pairs of event parameters. It can be in the format of the basic data type, std::string, std::vector<basic data type>, or std:vector<std::string>. The value contains a maximum of 48 characters, including digits (0 to 9), letters (A-Z), and underscores (_). It must start with a letter and cannot end with an underscore. The number of parameter names cannot exceed 32.
Return value:
  • **0**: The logging is successful.
  • Negative value: The logging has failed.
| + +**Table 2** Description of HiSysEvent::Domain APIs + +| API| Description| +| -------- | --------- | +| static const std::string AAFWK | Atomic ability subsystem| +| static const std::string APPEXECFWK | User program framework subsystem| +| static const std::string ACCOUNT | Account subsystem| +| static const std::string ACE | JS application framework| +| static const std::string AI | AI subsystem| +| static const std::string BARRIER_FREE | Accessibility subsystem| +| static const std::string BIOMETRICS | Biometric recognition subsystem| +| static const std::string CCRUNTIME |C/C++ operating environment subsystem| +| static const std::string COMMUNICATION | Public communication subsystem| +| static const std::string DEVELOPTOOLS | Development toolchain subsystem| +| static const std::string DISTRIBUTED_DATAMGR | Distributed data management subsystem| +| static const std::string DISTRIBUTED_SCHEDULE | Distributed Scheduler subsystem| +| static const std::string GLOBAL | Globalization subsystem| +| static const std::string GRAPHIC | Graphics subsystem| +| static const std::string HIVIEWDFX | DFX subsystem| +| static const std::string IAWARE | Scheduling and resource management subsystem| +| static const std::string INTELLI_ACCESSORIES | Smart accessory subsystem| +| static const std::string INTELLI_TV | Smart TV subsystem| +| static const std::string IVI_HARDWARE | IVI-dedicated hardware subsystem| +| static const std::string LOCATION | LBS subsystem| +| static const std::string MSDP | MSDP subsystem| +| static const std::string MULTI_MEDIA | Media subsystem| +| static const std::string MULTI_MODAL_INPUT | Multimode input subsystem| +| static const std::string NOTIFICATION | Common event and notification subsystem| +| static const std::string POWERMGR | Power management subsystem| +| static const std::string ROUTER | Router subsystem| +| static const std::string SECURITY | Security subsystem| +| static const std::string SENSORS | Pan-sensor subsystem| +| static const std::string SOURCE_CODE_TRANSFORMER | Application porting subsystem| +| static const std::string STARTUP | Startup subsystem| +| static const std::string TELEPHONY | Telephony subsystem| +| static const std::string UPDATE | Update subsystem| +| static const std::string USB | USB subsystem| +| static const std::string WEARABLE_HARDWARE | Wearable-dedicated hardware subsystem| +| static const std::string WEARABLE_HARDWARE | Wearable-dedicated service subsystem| +| static const std::string OTHERS | Others| + +**Table 3** Description of HiSysEvent::EventType + +| Name| Description| +| -------- | --------- | +| FAULT | Fault event| +| STATISTIC | Statistical event| +| SECURITY | Security event| +| BEHAVIOR | System behavior event| + +### Development Example + +C++ 1. Develop the source code. - Include the **HiSysEvent** header file in the class definition header file or class implementation source file. For example: + Include the HiSysEvent header file in the class definition header file or class implementation source file. For example: ``` #include "hisysevent.h" ``` - Add the event logging code. For example, if you want to log events specific to the app start time \(**start\_app**\), then add the following code to the service implementation source file: + Add the event logging code. For example, if you want to log events specific to the app start time (start\_app), then add the following code to the service implementation source file: ``` HiSysEvent::Write(HiSysEvent::Domain::AAFWK, "start_app", HiSysEvent::EventType::FAULT, "app_name", "com.demo"); ``` -2. Configure compilation information. Specifically, add the subsystem SDK dependency to **BUILD.gn**. +2. Configure compilation information. Specifically, add the subsystem SDK dependency to **BUILD.gn**. ``` external_deps = [ "hisysevent_native:libhisysevent" ] ``` - - diff --git a/en/device-dev/subsystems/subsys-dfx-hisysevent-query.md b/en/device-dev/subsystems/subsys-dfx-hisysevent-query.md new file mode 100644 index 0000000000000000000000000000000000000000..32946d0d0eef37a259f1de38fdbe78726a42c38f --- /dev/null +++ b/en/device-dev/subsystems/subsys-dfx-hisysevent-query.md @@ -0,0 +1,103 @@ +# HiSysEvent Query + +- [Overview](#section279684125212) +- [Development Guidelines](#section315316761113) + - [Available APIs](#section03869128521) + - [Development Example](#section14286111855212) + +## Overview + +HiSysEvent provides an API for you to query system events. You can query concerned events by specifying search criteria. For example, for a power consumption module, you can query required system events for analysis. + +## Development Guidelines + +### Available APIs + +**Table 1** HiSysEvent query API + +| API| Description| +| -------- | --------- | +| bool HiSysEventManager::QueryHiSysEvent(struct QueryArg& queryArg, std::vector<struct QueryRule>& queryRules, std::shared_ptr<HiSysEventQueryCallBackBase> queryCallBack) | Queries system events by specifying search criteria such as the time segment, event domain, and event name.

Input arguments:
  • **queryArg**: event query parameter.
  • **queryRules**: event filtering rules.
  • **queryRules**: callback object for query results.
Return value:
  • **true**: The query is successful.
  • **false**: The query has failed.
| + + +**Table 2** Description of QueryArg + +| Attribute| Description| +| -------- | --------- | +| beginTime | Start time, in the **long long int** format.| +| endTime | End time, in the **long long int** format.| +| maxEvents | Maximum number of returned events, in the **int** format.| + +**Table 3** Description of QueryRule + +| Attribute| Description| +| -------- | --------- | +| ruleType | Rule type, in the **uint32_t** format. The default value is **0**.| +| domain | Domain to which the event belongs, in the **string** format. By default, an empty string indicates that the domain is successfully matched.| +| eventList | Event name list, in the std::vector<std::string> format. By default, an empty string indicates that the event names on the list are successfully matched.| + +**Table 4** Description of HiSysEventQueryCallBackBase + +| API| Description| +| -------- | --------- | +| void HiSysEventQueryCallBackBase::OnQuery(const ::std::vector<std::string>& sysEvent, const ::std::vector<int64_t>& seq) | Callback object for event query.

Input arguments:
  • **sysEvent**: event set.
  • **seq**: event sequence set.
Return value:
  None.| +| void HiSysEventQueryCallBackBase::OnComplete(int32_t reason, int32_t total) | Callback object for completion of event query.

Input arguments:
  • **reason**: reason for completion of event query. The default value is **0**.
  • **total**: total number of events returned in this query.
Return value:
  None.| + +### Development Example + +C++ + +1. Develop the source code. + + - Import the corresponding header file: + + hisysevent\_manager.h + + - Implement the callback API. + + void HiSysEventQueryCallBackBase::OnQuery\(const ::std::vector& sysEvent, const ::std::vector& seq\) + + void HiSysEventQueryCallBackBase::OnComplete\(int32\_t reason, int32\_t total\) + + - Invoke the query API in the corresponding service logic. + + HiSysEventManager::QueryHiSysEvent\(struct QueryArg& queryArg, std::vector& queryRules, std::shared\_ptr queryCallBack\) + + + ``` + // In this example, you'll query all system events. + #include "hisysevent_manager.h" + #include + + namespace OHOS { + namespace HiviewDFX { + // Implement the query callback API. + void HiSysEventToolQuery::OnQuery(const ::std::vector& sysEvent, + const ::std::vector& seq) + { + for_each(sysEvent.cbegin(), sysEvent.cend(), [](const std::string &tmp) { + std::cout << tmp << std::endl; + }); + } + + void HiSysEventToolQuery::OnComplete(int32_t reason, int32_t total) + { + return; + } + } // namespace HiviewDFX + } // namespace OHOS + + // Invoke the query callback API to obtain system events. + auto queryCallBack = std::make_shared(); + struct QueryArg args(clientCmdArg.beginTime, clientCmdArg.endTime, clientCmdArg.maxEvents); + std::vector mRules; + HiSysEventManager::QueryHiSysEvent(args, mRules, queryCallBack); + ``` + +2. Modify the **BUILD.gn** file. + + In the **BUILD.gn** file, add the **libhisyseventmanager** library that depends on the **hisysevent\_native** component. + + ``` + external_deps = [ "hisysevent_native:libhisyseventmanager", ] + ``` diff --git a/en/device-dev/subsystems/subsys-dfx-hisysevent-querying.md b/en/device-dev/subsystems/subsys-dfx-hisysevent-querying.md deleted file mode 100644 index ba64df110c2db87e2c3aa35bb5824d7d6bc82fcc..0000000000000000000000000000000000000000 --- a/en/device-dev/subsystems/subsys-dfx-hisysevent-querying.md +++ /dev/null @@ -1,173 +0,0 @@ -# HiSysEvent Query - -## Overview - -HiSysEvent provides an API for you to query system events. You can query concerned events by specifying search criteria. For example, for a power consumption module, you can query required system events for analysis. - -## Available APIs - -**Table 1** HiSysEvent query API - - - - - - - - - - -

API

-

Description

-

bool HiSysEventManager::QueryHiSysEvent(struct QueryArg& queryArg, std::vector<struct QueryRule>& queryRules, std::shared_ptr<HiSysEventQueryCallBack> queryCallBack)

-

Queries system events by specifying search criteria such as the time segment, event domain, and event name.

-

Input arguments:

-
  • queryArg: event query parameter.
  • queryRules: event filtering rules.
  • queryCallBack: callback object for query results.
-

Return values

-
  • true: Operation successful.
  • false: Operation failed.
-
- -**Table 2** HiSysEvent query parameters - - - - - - - - - - - - - - - - -

Attribute

-

Description

-

long long beginTime

-

Start time.

-

long long endTime

-

End time.

-

int maxEvents

-

Maximum number of query records.

-
- -**Table 3** HiSysEvent query rules - - - - - - - - - - - - - - - - -

Attribute

-

Description

-

uint32_t ruleType

-

Rule type. The default value is 0.

-

std::string domain;

-
  • domain: domain to which the event belongs. By default, an empty string indicates that the domain is successfully matched.
-

std::vector<std::string> eventList

-
  • eventList: event name list. By default, an empty string indicates that the event names on the list are successfully matched.
-
- -**Table 4** HiSysEvent query callback objects - - - - - - - - - - - - - -

API

-

Description

-

void HiSysEventQueryCallBack::OnQuery(const ::std::vector<std::string>& sysEvent, const ::std::vector<int64_t>& seq)

-

Callback object for event query.

-

Input arguments:

-
  • sysEvent: event set.
  • seq: event sequence set.
-

Return value: none

-

void HiSysEventQueryCallBack::OnComplete(int32_t reason, int32_t total)

-

Callback object for completion of event query.

-

Input arguments:

-
  • reason: reason for completion of event query. The default value is 0.
  • total: total number of events returned in this query.
-

Return value: none

-
- -## How to Develop - -### **C++** - -In this example, you'll be instructed to query all system events. - -1. Develop the source code. - - - Import the corresponding header file: - - hisysevent\_manager.h - - - Implement the callback API. - - void HiSysEventQueryCallBack::OnQuery\(const ::std::vector& sysEvent, const ::std::vector& seq\) - - void HiSysEventQueryCallBack::OnComplete\(int32\_t reason, int32\_t total\) - - - Invoke the query API in the corresponding service logic. - - HiSysEventManager::QueryHiSysEvent\(struct QueryArg& queryArg, std::vector& queryRules, std::shared\_ptr queryCallBack\) - - - ``` - // In this example, you'll query all system events. - #include "hisysevent_manager.h" - #include - - namespace OHOS { - namespace HiviewDFX { - // Implement the query callback API. - void HiSysEventToolQuery::OnQuery(const ::std::vector& sysEvent, - const ::std::vector& seq) - { - for_each(sysEvent.cbegin(), sysEvent.cend(), [](const std::string &tmp) { - std::cout << tmp << std::endl; - }); - } - - void HiSysEventToolQuery::OnComplete(int32_t reason, int32_t total) - { - return; - } - } // namespace HiviewDFX - } // namespace OHOS - - // Invoke the query callback API to obtain system events. - auto queryCallBack = std::make_shared(); - struct QueryArg args(clientCmdArg.beginTime, clientCmdArg.endTime, clientCmdArg.maxEvents); - std::vector mRules; - HiSysEventManager::QueryHiSysEvent(args, mRules, queryCallBack); - ``` - -2. Modify the **BUILD.gn** file. - - In the **BUILD.gn** file, add the **libhisyseventmanager** library that depends on the** hisysevent\_native** component. - - ``` - external_deps = [ "hisysevent_native:libhisyseventmanager", ] - ``` - - diff --git a/en/device-dev/subsystems/subsys-dfx-hisysevent.md b/en/device-dev/subsystems/subsys-dfx-hisysevent.md index 38fe0b8f890fd05ed7a00ec15a5b5c538af49646..b29223652d0cf9c7dd153071f3e3f21549ec323f 100644 --- a/en/device-dev/subsystems/subsys-dfx-hisysevent.md +++ b/en/device-dev/subsystems/subsys-dfx-hisysevent.md @@ -1,10 +1,12 @@ -# HiSysEvent Development +# DHiSysEvent Development + +- **[HiSysEvent Logging Configuration](subsys-dfx-hisysevent-logging-config.md)** - **[HiSysEvent Logging](subsys-dfx-hisysevent-logging.md)** - **[HiSysEvent Listening](subsys-dfx-hisysevent-listening.md)** -- **[HiSysEvent Query](subsys-dfx-hisysevent-querying.md)** +- **[HiSysEvent Query](subsys-dfx-hisysevent-query.md)** - **[HiSysEvent Tool Usage](subsys-dfx-hisysevent-tool.md)** diff --git a/zh-cn/application-dev/Readme-CN.md b/zh-cn/application-dev/Readme-CN.md index e91b5d97f37a5254720235875d1a4d78b9bf29d6..562b3b8779e67a26e251526f88fe6e0cfdf03900 100644 --- a/zh-cn/application-dev/Readme-CN.md +++ b/zh-cn/application-dev/Readme-CN.md @@ -3,7 +3,6 @@ - [应用开发导读](application-dev-guide.md) - [DevEco Studio(OpenHarmony)使用指南](quick-start/deveco-studio-user-guide-for-openharmony.md) - [包结构说明](quick-start/package-structure.md) -- [快速入门](quick-start/start.md) - [Ability框架](ability/Readme-CN.md) - 方舟开发框架(ArkUI) - [基于JS扩展的类Web开发范式](ui/ui-arkui-js.md) diff --git a/zh-cn/application-dev/media/audio-playback.md b/zh-cn/application-dev/media/audio-playback.md index 757d99fdc6ca84fc2aab9acf1d36531a5a46df70..a142a8b010630fa19349c78e8b40bfd956042695 100644 --- a/zh-cn/application-dev/media/audio-playback.md +++ b/zh-cn/application-dev/media/audio-playback.md @@ -25,6 +25,9 @@ AudioPlayer支持的src媒体源输入类型可参考:[src属性说明](../reference/apis/js-apis-media.md#audioplayer_属性) ```js +import media from '@ohos.multimedia.media' +import fileIO from '@ohos.fileio' + function SetCallBack(audioPlayer) { audioPlayer.on('dataLoad', () => { //设置'dataLoad'事件回调,src属性设置成功后,触发此回调 console.info('audio set source success'); @@ -80,7 +83,18 @@ function printfDescription(obj) { let audioPlayer = media.createAudioPlayer(); SetCallBack(audioPlayer); //设置事件回调 //2、用户选择音频,设置uri -audioPlayer.src = 'file:///data/data/ohos.xxx.xxx/files/test.mp3'; //设置src属性,并触发'dataLoad'事件回调 +let fdPath = 'fd://' +let path = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp3'; +await fileIO.open(path).then(fdNumber) => { + fdPath = fdPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); + +audioPlayer.src = fdPath; //设置src属性,并触发'dataLoad'事件回调 //3、播放音频 audioPlayer.play(); //需等待'dataLoad'事件回调完成后,才可调用play进行播放,触发'play'事件回调 //4、跳转播放位置 @@ -111,6 +125,9 @@ audioPlayer = undefined; ### 正常播放场景 ```js +import media from '@ohos.multimedia.media' +import fileIO from '@ohos.fileio' + function SetCallBack(audioPlayer) { audioPlayer.on('dataLoad', () => { //设置'dataLoad'事件回调,src属性设置成功后,触发此回调 console.info('audio set source success'); @@ -128,13 +145,27 @@ function SetCallBack(audioPlayer) { let audioPlayer = media.createAudioPlayer(); //创建一个音频播放实例 SetCallBack(audioPlayer); //设置事件回调 -/* 用户选择音频,设置uri */ -audioPlayer.src = 'file:///data/data/ohos.xxx.xxx/files/test.mp3'; //设置src属性,并触发'dataLoad'事件回调 +/* 用户选择视频设置fd(本地播放) */ +let fdPath = 'fd://' +let path = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp3'; +await fileIO.open(path).then(fdNumber) => { + fdPath = fdPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); + +audioPlayer.src = fdPath; //设置src属性,并触发'dataLoad'事件回调 ``` ### 切歌场景 ```js +import media from '@ohos.multimedia.media' +import fileIO from '@ohos.fileio' + function SetCallBack(audioPlayer) { audioPlayer.on('dataLoad', () => { //设置'dataLoad'事件回调,src属性设置成功后,触发此回调 console.info('audio set source success'); @@ -152,16 +183,42 @@ function SetCallBack(audioPlayer) { let audioPlayer = media.createAudioPlayer(); //创建一个音频播放实例 SetCallBack(audioPlayer); //设置事件回调 -/* 用户选择音频,设置uri */ -audioPlayer.src = 'file:///data/data/ohos.xxx.xxx/files/test.mp3'; //设置src属性,并触发'dataLoad'事件回调 +/* 用户选择视频设置fd(本地播放) */ +let fdPath = 'fd://' +let path = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp3'; +await fileIO.open(path).then(fdNumber) => { + fdPath = fdPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); + +audioPlayer.src = fdPath; //设置src属性,并触发'dataLoad'事件回调 /* 播放一段时间后,下发切歌指令 */ audioPlayer.reset(); -audioPlayer.src = 'file:///data/data/ohos.xxx.xxx/files/next.mp3'; + +/* 用户选择视频设置fd(本地播放) */ +let fdNextPath = 'fd://' +let nextPath = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp3'; +await fileIO.open(nextPath).then(fdNumber) => { + fdNextPath = fdNextPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdNextPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); +audioPlayer.src = fdNextPath; ``` ### 单曲循环场景 ```js +import media from '@ohos.multimedia.media' +import fileIO from '@ohos.fileio' + function SetCallBack(audioPlayer) { audioPlayer.on('dataLoad', () => { //设置'dataLoad'事件回调,src属性设置成功后,触发此回调 console.info('audio set source success'); @@ -179,7 +236,19 @@ function SetCallBack(audioPlayer) { let audioPlayer = media.createAudioPlayer(); //创建一个音频播放实例 SetCallBack(audioPlayer); //设置事件回调 -/* 用户选择音频,设置uri */ -audioPlayer.src = 'file:///data/data/ohos.xxx.xxx/files/test.mp3'; //设置src属性,并触发'dataLoad'事件回调 -audioPlayer.loop = true; //设置循环播放属性 + +/* 用户选择视频设置fd(本地播放) */ +let fdPath = 'fd://' +let path = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp3'; +await fileIO.open(path).then(fdNumber) => { + fdPath = fdPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); + +audioPlayer.src = fdPath; //设置src属性,并触发'dataLoad'事件回调 +audioPlayer.loop = true; //设置循环播放属性 ``` \ No newline at end of file diff --git a/zh-cn/application-dev/media/audio-recorder.md b/zh-cn/application-dev/media/audio-recorder.md index 0d1acf4df17b871b3d390e83469c411adde046c6..7e52686c95eb380bbb58d468b764f8eafbbc2d41 100644 --- a/zh-cn/application-dev/media/audio-recorder.md +++ b/zh-cn/application-dev/media/audio-recorder.md @@ -23,6 +23,11 @@ 包含流程:创建实例,设置录制参数,录制音频,暂停录制,恢复录制,停止录制,释放资源等流程。 ```js +import media from '@ohos.multimedia.media' +import mediaLibrary from '@ohos.multimedia.mediaLibrary' + +let testFdNumber; + function SetCallBack(audioRecorder) { audioRecorder.on('prepare', () => { // 设置'prepare'事件回调 console.log('prepare success'); @@ -57,6 +62,31 @@ function SetCallBack(audioRecorder) { }); } +// pathName是传入的录制文件名,例如:01.mp3,生成后的文件地址:/storage/media/100/local/files/Movies/01.mp3 +// 使用mediaLibrary需要添加以下权限, ohos.permission.MEDIA_LOCATION、ohos.permission.WRITE_MEDIA、ohos.permission.READ_MEDIA +async function getFd(pathName) { + let displayName = pathName; + const mediaTest = mediaLibrary.getMediaLibrary(); + let fileKeyObj = mediaLibrary.FileKey; + let mediaType = mediaLibrary.MediaType.VIDEO; + let publicPath = await mediaTest.getPublicDirectory(mediaLibrary.DirectoryType.DIR_VIDEO); + let dataUri = await mediaTest.createAsset(mediaType, displayName, publicPath); + if (dataUri != undefined) { + let args = dataUri.id.toString(); + let fetchOp = { + selections : fileKeyObj.ID + "=?", + selectionArgs : [args], + } + let fetchFileResult = await mediaTest.getFileAssets(fetchOp); + let fileAsset = await fetchFileResult.getAllObject(); + let fdNumber = await fileAsset[0].open('Rw'); + fdNumber = "fd://" + fdNumber.toString(); + testFdNumber = fdNumber; + } +} + +await getFd('01.mp3'); + // 1.创建实例 let audioRecorder = media.createAudioRecorder(); // 2.设置回调 @@ -68,7 +98,7 @@ let audioRecorderConfig = { audioSampleRate : 22050, numberOfChannels : 2, format : media.AudioOutputFormat.AAC_ADTS, - uri : 'file:///data/accounts/account_0/appdata/appdata/recorder/test.m4a', // 文件需先由调用者创建,并给予适当的权限 + uri : testFdNumber, // testFdNumber由getFd生成 location : { latitude : 30, longitude : 130}, } audioRecorder.prepare(audioRecorderConfig); @@ -92,6 +122,11 @@ audioRecorder = undefined; 与全流程场景不同,不包括暂停录制,恢复录制的过程。 ```js +import media from '@ohos.multimedia.media' +import mediaLibrary from '@ohos.multimedia.mediaLibrary' + +let testFdNumber; + function SetCallBack(audioPlayer) { audioRecorder.on('prepare', () => { // 设置'prepare'事件回调 console.log('prepare success'); @@ -108,6 +143,32 @@ function SetCallBack(audioPlayer) { console.log('audio recorder release success'); }); } + +// pathName是传入的录制文件名,例如:01.mp3,生成后的文件地址:/storage/media/100/local/files/Movies/01.mp3 +// 使用mediaLibrary需要添加以下权限, ohos.permission.MEDIA_LOCATION、ohos.permission.WRITE_MEDIA、ohos.permission.READ_MEDIA +async function getFd(pathName) { + let displayName = pathName; + const mediaTest = mediaLibrary.getMediaLibrary(); + let fileKeyObj = mediaLibrary.FileKey; + let mediaType = mediaLibrary.MediaType.VIDEO; + let publicPath = await mediaTest.getPublicDirectory(mediaLibrary.DirectoryType.DIR_VIDEO); + let dataUri = await mediaTest.createAsset(mediaType, displayName, publicPath); + if (dataUri != undefined) { + let args = dataUri.id.toString(); + let fetchOp = { + selections : fileKeyObj.ID + "=?", + selectionArgs : [args], + } + let fetchFileResult = await mediaTest.getFileAssets(fetchOp); + let fileAsset = await fetchFileResult.getAllObject(); + let fdNumber = await fileAsset[0].open('Rw'); + fdNumber = "fd://" + fdNumber.toString(); + testFdNumber = fdNumber; + } +} + +await getFd('01.mp3'); + // 1.创建实例 let audioRecorder = media.createAudioRecorder(); // 2.设置回调 @@ -119,7 +180,7 @@ let audioRecorderConfig = { audioSampleRate : 22050, numberOfChannels : 2, format : media.AudioOutputFormat.AAC_ADTS, - uri : 'file:///data/accounts/account_0/appdata/appdata/recorder/test.m4a', // 文件需先由调用者创建,并给予适当的权限 + uri : testFdNumber, // testFdNumber由getFd生成 location : { latitude : 30, longitude : 130}, } audioRecorder.prepare(audioRecorderConfig) diff --git a/zh-cn/application-dev/media/video-playback.md b/zh-cn/application-dev/media/video-playback.md index 5fe625c1dfb1e1b29f3f009fdb42ea96ab9a5c30..708a3e20e8d1423ed8d92abab6f4c6b0e1019a76 100644 --- a/zh-cn/application-dev/media/video-playback.md +++ b/zh-cn/application-dev/media/video-playback.md @@ -30,10 +30,21 @@ VideoPlayer支持的url媒体源输入类型可参考:[url属性说明](../reference/apis/js-apis-media.md#videoplayer_属性) +Xcomponent创建方法可参考:[Xcomponent创建方法](#Xcomponent创建方法) + ```js +import media from '@ohos.multimedia.media' +import fileIO from '@ohos.fileio' + let videoPlayer = undefined; // 用于保存createVideoPlayer创建的对象 let surfaceID = undefined; // 用于保存Xcomponent接口返回的surfaceID +// 调用Xcomponent的接口用于获取surfaceID,并保存在surfaceID变量中,该接口由XComponent组件默认加载,非主动调用 +LoadXcomponent() { + surfaceID = this.$element('Xcomponent').getXComponentSurfaceId(); + console.info('LoadXcomponent surfaceID is' + surfaceID); +} + // 函数调用发生错误时用于上报错误信息 function failureCallback(error) { console.info(`error happened,error Name is ${error.name}`); @@ -67,10 +78,19 @@ await media.createVideoPlayer().then((video) => { } }, failureCallback).catch(catchCallback); -// 用户选择视频设置url -videoPlayer.url = 'file:///data/data/ohos.xxx.xxx/files/test.mp4'; +// 用户选择视频设置fd(本地播放) +let fdPath = 'fd://' +let path = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp4'; +await fileIO.open(path).then(fdNumber) => { + fdPath = fdPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); -// 该处需要调用Xcomponent的接口用于获取surfaceID,并保存在surfaceID变量中 +videoPlayer.url = fdPath; // 设置surfaceID用于显示视频画面 await videoPlayer.setDisplaySurface(surfaceID).then(() => { @@ -147,9 +167,18 @@ surfaceID = undefined; ### 正常播放场景 ```js +import media from '@ohos.multimedia.media' +import fileIO from '@ohos.fileio' + let videoPlayer = undefined; // 用于保存createVideoPlayer创建的对象 let surfaceID = undefined; // 用于保存Xcomponent接口返回的surfaceID +// 调用Xcomponent的接口用于获取surfaceID,并保存在surfaceID变量中,该接口由XComponent组件默认加载,非主动调用 +LoadXcomponent() { + surfaceID = this.$element('Xcomponent').getXComponentSurfaceId(); + console.info('LoadXcomponent surfaceID is' + surfaceID); +} + // 函数调用发生错误时用于上报错误信息 function failureCallback(error) { console.info(`error happened,error Name is ${error.name}`); @@ -191,10 +220,19 @@ await media.createVideoPlayer().then((video) => { // 设置事件回调 SetCallBack(videoPlayer); -// 用户选择视频设置url -videoPlayer.url = 'file:///data/data/ohos.xxx.xxx/files/test.mp4'; +// 用户选择视频设置fd(本地播放) +let fdPath = 'fd://' +let path = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp4'; +await fileIO.open(path).then(fdNumber) => { + fdPath = fdPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); -// 该处需要调用Xcomponent的接口用于获取surfaceID,并保存在surfaceID变量中 +videoPlayer.url = fdPath; // 设置surfaceID用于显示视频画面 await videoPlayer.setDisplaySurface(surfaceID).then(() => { @@ -215,9 +253,18 @@ await videoPlayer.play().then(() => { ### 切视频场景 ```js +import media from '@ohos.multimedia.media' +import fileIO from '@ohos.fileio' + let videoPlayer = undefined; // 用于保存createVideoPlayer创建的对象 let surfaceID = undefined; // 用于保存Xcomponent接口返回的surfaceID +// 调用Xcomponent的接口用于获取surfaceID,并保存在surfaceID变量中,该接口由XComponent组件默认加载,非主动调用 +LoadXcomponent() { + surfaceID = this.$element('Xcomponent').getXComponentSurfaceId(); + console.info('LoadXcomponent surfaceID is' + surfaceID); +} + // 函数调用发生错误时用于上报错误信息 function failureCallback(error) { console.info(`error happened,error Name is ${error.name}`); @@ -259,10 +306,19 @@ await media.createVideoPlayer().then((video) => { // 设置事件回调 SetCallBack(videoPlayer); -// 用户选择视频设置url -videoPlayer.url = 'file:///data/data/ohos.xxx.xxx/files/test.mp4'; +// 用户选择视频设置fd(本地播放) +let fdPath = 'fd://' +let path = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp4'; +await fileIO.open(path).then(fdNumber) => { + fdPath = fdPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); -// 该处需要调用Xcomponent的接口用于获取surfaceID,并保存在surfaceID变量中 +videoPlayer.url = fdPath; // 设置surfaceID用于显示视频画面 await videoPlayer.setDisplaySurface(surfaceID).then(() => { @@ -285,7 +341,19 @@ await videoPlayer.reset().then(() => { console.info('reset success'); }, failureCallback).catch(catchCallback); -videoPlayer.url = 'file:///data/data/ohos.xxx.xxx/files/next.mp4'; +// 用户选择视频设置fd(本地播放) +let fdNextPath = 'fd://' +let nextPath = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/02.mp4'; +await fileIO.open(nextPath).then(fdNumber) => { + fdNextPath = fdNextPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdNextPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); + +videoPlayer.url = fdNextPath; // 设置surfaceID用于显示视频画面 await videoPlayer.setDisplaySurface(surfaceID).then(() => { @@ -306,9 +374,18 @@ await videoPlayer.play().then(() => { ### 单个视频循环场景 ```js +import media from '@ohos.multimedia.media' +import fileIO from '@ohos.fileio' + let videoPlayer = undefined; // 用于保存createVideoPlayer创建的对象 let surfaceID = undefined; // 用于保存Xcomponent接口返回的surfaceID +// 调用Xcomponent的接口用于获取surfaceID,并保存在surfaceID变量中,该接口由XComponent组件默认加载,非主动调用 +LoadXcomponent() { + surfaceID = this.$element('Xcomponent').getXComponentSurfaceId(); + console.info('LoadXcomponent surfaceID is' + surfaceID); +} + // 函数调用发生错误时用于上报错误信息 function failureCallback(error) { console.info(`error happened,error Name is ${error.name}`); @@ -350,10 +427,19 @@ await media.createVideoPlayer().then((video) => { // 设置事件回调 SetCallBack(videoPlayer); -// 用户选择视频设置url -videoPlayer.url = 'file:///data/data/ohos.xxx.xxx/files/test.mp4'; +// 用户选择视频设置fd(本地播放) +let fdPath = 'fd://' +let path = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp4'; +await fileIO.open(path).then(fdNumber) => { + fdPath = fdPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); -// 该处需要调用Xcomponent的接口用于获取surfaceID,并保存在surfaceID变量中 +videoPlayer.url = fdPath; // 设置surfaceID用于显示视频画面 await videoPlayer.setDisplaySurface(surfaceID).then(() => { @@ -372,4 +458,16 @@ videoPlayer.loop = true; await videoPlayer.play().then(() => { console.info('play success'); }, failureCallback).catch(catchCallback); -``` \ No newline at end of file +``` + +### Xcomponent创建方法 + +```js +播放视频中获取surfaceID依赖了Xcomponent,需要创建一个和xxx.js同名的xxx.hml文件,xxx.hml里面需要添加如下代码: + // 设置窗口宽高等属性 + +``` diff --git a/zh-cn/application-dev/media/video-recorder.md b/zh-cn/application-dev/media/video-recorder.md index 0537f4f1da61bb8da57e65c20104ddf336aa362b..e684b2230ad3c9f839a1be48badcd0b40d0c55a6 100644 --- a/zh-cn/application-dev/media/video-recorder.md +++ b/zh-cn/application-dev/media/video-recorder.md @@ -23,6 +23,36 @@ 包含流程:创建实例,设置录制参数,录制视频,暂停录制,恢复录制,停止录制,释放资源等流程。 ```js +import media from '@ohos.multimedia.media' +import mediaLibrary from '@ohos.multimedia.mediaLibrary' + +let testFdNumber; + +// pathName是传入的录制文件名,例如:01.mp4,生成后的文件地址:/storage/media/100/local/files/Movies/01.mp4 +// 使用mediaLibrary需要添加以下权限, ohos.permission.MEDIA_LOCATION、ohos.permission.WRITE_MEDIA、ohos.permission.READ_MEDIA +async function getFd(pathName) { + let displayName = pathName; + const mediaTest = mediaLibrary.getMediaLibrary(); + let fileKeyObj = mediaLibrary.FileKey; + let mediaType = mediaLibrary.MediaType.VIDEO; + let publicPath = await mediaTest.getPublicDirectory(mediaLibrary.DirectoryType.DIR_VIDEO); + let dataUri = await mediaTest.createAsset(mediaType, displayName, publicPath); + if (dataUri != undefined) { + let args = dataUri.id.toString(); + let fetchOp = { + selections : fileKeyObj.ID + "=?", + selectionArgs : [args], + } + let fetchFileResult = await mediaTest.getFileAssets(fetchOp); + let fileAsset = await fetchFileResult.getAllObject(); + let fdNumber = await fileAsset[0].open('Rw'); + fdNumber = "fd://" + fdNumber.toString(); + testFdNumber = fdNumber; + } +} + +await getFd('01.mp4'); + let videoProfile = { audioBitrate : 48000, audioChannels : 2, @@ -40,7 +70,7 @@ let videoConfig = { audioSourceType : 1, videoSourceType : 0, profile : videoProfile, - url : 'file:///data/media/01.mp4', + url : testFdNumber, // testFdNumber由getFd生成 orientationHint : 0, location : { latitude : 30, longitude : 130 }, } @@ -61,6 +91,7 @@ function catchCallback(error) { let videoRecorder = null; // videoRecorder空对象在createVideoRecorder成功后赋值 let surfaceID = null; // 用于保存getInputSurface返回的surfaceID + // 创建videoRecorder对象 await media.createVideoRecorder().then((recorder) => { console.info('case createVideoRecorder called'); diff --git a/zh-cn/application-dev/quick-start/Readme-CN.md b/zh-cn/application-dev/quick-start/Readme-CN.md index 510edabac9fd8b92be1fe7ee59e343a63766fe2b..e530b16bc6e1c2794e9a13a95ad0b41dad140fee 100755 --- a/zh-cn/application-dev/quick-start/Readme-CN.md +++ b/zh-cn/application-dev/quick-start/Readme-CN.md @@ -10,7 +10,3 @@ - [配置OpenHarmony应用签名信息](configuring-openharmony-app-signature.md) - [安装运行OpenHarmony应用](installing-openharmony-app.md) - [包结构说明](package-structure.md) -- 快速入门 - - [开发准备](start-overview.md) - - [使用JS语言开发](start-with-js.md) - - [使用eTS语言开发](start-with-ets.md) diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001089359413.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001089359413.png deleted file mode 100644 index 85345789b60927729e9243798fe122c64ca92687..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001089359413.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001167690688.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001167690688.png deleted file mode 100644 index cb05a7cb0fa33a9d9074f4424a3851478935ff33..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001167690688.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001167850660.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001167850660.png deleted file mode 100644 index 469ca774dde99530329d5e7bd62a5a40fb16237b..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001167850660.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001168898456.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001168898456.png deleted file mode 100644 index b62a4291cbe98e250fd9dcc65e9f91ba67445575..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001168898456.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001169221404.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001169221404.png deleted file mode 100644 index c44bd561803aa0dc4cafcf0db68bf38f5ba43013..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001169221404.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001213130527.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001213130527.png deleted file mode 100644 index afdab82267fcd7d5eacae76eba500baa3bbecd40..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001213130527.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001213883165.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001213883165.png deleted file mode 100644 index 7f99945dc6e30516a6084896b3f146af89dc2f23..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001213883165.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001214043107.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001214043107.png deleted file mode 100644 index 2d8dd786a91b784794a19f8b2975616912586286..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001214043107.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001238733799.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001238733799.png deleted file mode 100644 index 37736ed10ff7cd16907684dfe2c1d6bb19c61d50..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001238733799.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001238853759.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001238853759.png deleted file mode 100644 index 6bf1ed8cb6d6b6d88b57e533f9efe840afee95b5..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001238853759.png and /dev/null differ diff --git a/zh-cn/application-dev/quick-start/start-overview.md b/zh-cn/application-dev/quick-start/start-overview.md deleted file mode 100644 index d60bf43b85ccf5327e5aed20b5c2dc0b1715df70..0000000000000000000000000000000000000000 --- a/zh-cn/application-dev/quick-start/start-overview.md +++ /dev/null @@ -1,35 +0,0 @@ -# 开发准备 - -## 任务说明 - -本文档适用于应用开发的初学者。通过构建一个简单的具有页面跳转功能的应用(如下图[预览器](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/previewer-0000001054328973#ZH-CN_TOPIC_0000001056725592__section16523172216252)运行效果所示),熟悉应用开发流程。 - -为确保运行效果,本文以使用**DevEco Studio 3.0 Beta2**版本为例,点击[此处](https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta)获取下载链接。 - -![zh-cn_image_0000001089359413](figures/zh-cn_image_0000001089359413.png) - -**表1** 方舟开发框架的对比 - -| 比较项 | 基于JS扩展的类Web开发范式 | 基于TS扩展的声明式开发范式 | -| -------- | -------- | -------- | -| 语言生态 | JS | eTS | -| 接口方式 | 类Web范式 | 声明式 | -| 执行方式 | 框架层处理,基于数据驱动的UI自动变更 | 框架层处理,基于数据驱动的UI自动变更 | -| 相对优势 | 轻量化,开发更简便 | 极简开发,内存占用更少、运行性能更高 | - -接下来,分别使用JS语言、eTS语言实现上述两个页面跳转的功能。 - - -## 开发准备 - -1. 开始前请参考[配置OpenHarmony SDK](../quick-start/configuring-openharmony-sdk.md),完成**DevEco Studio**的安装和开发环境配置。 - -2. 开发环境配置完成后,请参考[创建OpenHarmony工程](../quick-start/use-wizard-to-create-project.md)创建工程。 - - 使用JS语言开发,模板选择Empty Ability,Language选择JS。 - - - 使用eTS语言开发,模板选择Empty Ability,Language选择eTS。 - -3. 工程创建完成后,使用[预览器](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/previewer-0000001054328973#ZH-CN_TOPIC_0000001056725592__section16523172216252)运行该工程。 - -完成上述操作后,请参考[使用JS语言开发](../quick-start/start-with-js.md)、[使用eTS语言开发](../quick-start/start-with-ets.md)继续下一步的学习。 - diff --git a/zh-cn/application-dev/quick-start/start-with-ets.md b/zh-cn/application-dev/quick-start/start-with-ets.md deleted file mode 100644 index d2f32af4929d40f60bfc6fc96b979804b1c4f9bc..0000000000000000000000000000000000000000 --- a/zh-cn/application-dev/quick-start/start-with-ets.md +++ /dev/null @@ -1,118 +0,0 @@ -# 使用eTS语言开发 - -> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 请使用DevEco Studio V3.0.0.601 Beta1及更高版本。本文以使用**DevEco Studio 3.0 Beta2**版本为例,点击[此处](https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta)获取下载链接。 - - -## 创建eTS工程 - -1. 打开DevEco Studio,创建一个新工程,选择模板,如Empty Ability: - - ![zh-cn_image_0000001238733799](figures/zh-cn_image_0000001238733799.png) - -2. 进入配置工程界面,Project Type选择Application,Language选择eTS,其他参数根据实际需要设置即可。 - - ![zh-cn_image_0000001238853759](figures/zh-cn_image_0000001238853759.png) - - -## 编写第一个页面 - -1. 工程创建完成后,在"Project"窗口,点击entry > src > main > ets > default > pages,打开index.ets文件。 - - ![zh-cn_image_0000001213883165](figures/zh-cn_image_0000001213883165.png) - -2. 第一个页面由Flex容器组件、Text组件和Button组件构成。在index.ets中编写并设置页面组件的属性和样式,示例代码如下所示: - ``` - @Entry - @Component - struct Index { - build() { - //Flex容器组件 - Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { - //Text组件 - Text('Hello World') - .fontSize(60) - .fontWeight(500) - //Button组件 - Button('Next') - .fontSize(40) - .fontWeight(500) - .width(280) - .height(60) - } - //容器整体宽高 - .width('100%') - .height('100%') - } - } - ``` - -3. 使用[预览器](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/previewer-0000001054328973#ZH-CN_TOPIC_0000001056725592__section16523172216252)运行项目,效果如下图所示: - - ![zh-cn_image_0000001168898456](figures/zh-cn_image_0000001168898456.png) - - -## 创建第二个页面 - -1. 在"Project"窗口,打开entry > src > main > ets > default,右键点击pages文件夹,选择NeweTS Page,命名为details,单击回车键。创建完成后,可以看到pages文件夹下的文件目录结构如下: - - ![zh-cn_image_0000001214043107](figures/zh-cn_image_0000001214043107.png) - -2. 第二个页面由Flex容器组件、Text组件构成。在details.ets中编写并设置页面组件的属性和样式,示例代码如下所示: - ``` - @Entry - @Component - struct Details { - build() { - //Flex容器组件 - Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { - //Text组件 - Text('Hi there') - .fontSize(60) - .fontWeight(500) - } - //容器整体宽高 - .width('100%') - .height('100%') - } - } - ``` - - -## 实现页面跳转 - -1. 打开第一个页面的index.ets文件,导入router模块,页面路由router根据页面的uri来找到目标页面,从而实现跳转。示例代码如下: - ``` - //导入router模块 - import router from '@system.router'; - @Entry - @Component - struct Index { - build() { - //Flex容器组件 - Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { - //Text组件 - Text('Hello World') - .fontSize(60) - .fontWeight(500) - //Button组件 - Button('Next') - .fontSize(40) - .fontWeight(500) - .width(280) - .height(60) - //点击Button实现页面跳转 - .onClick(() => { router.push({ uri: 'pages/details' }) }) - } - //容器整体宽高 - .width('100%') - .height('100%') - } - } - ``` - -2. 再次使用[预览器](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/previewer-0000001054328973#ZH-CN_TOPIC_0000001056725592__section16523172216252)运行项目,效果如下图所示: - - ![zh-cn_image_0000001169221404](figures/zh-cn_image_0000001169221404.png) - -恭喜你,至此已成功完成快速入门-使用eTS语言开发。 diff --git a/zh-cn/application-dev/quick-start/start-with-js.md b/zh-cn/application-dev/quick-start/start-with-js.md deleted file mode 100644 index e7661253f7433707cf81719e740369d22835cceb..0000000000000000000000000000000000000000 --- a/zh-cn/application-dev/quick-start/start-with-js.md +++ /dev/null @@ -1,105 +0,0 @@ -# 使用JS语言开发(传统代码方式) - -为确保运行效果,本文以使用**DevEco Studio 3.0 Beta2**版本为例,点击[此处](https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta)获取下载链接。 - -## 编写第一个页面 - -1. 第一个页面内有一个文本和一个按钮,通过text和button组件来实现。 - 在"Project"窗口,选择entry > src > main > js > default > pages > index,打开index.hml文件,添加一个文本和一个按钮,示例代码如下: - ``` - -
- - - Hello World - - - -
- ``` - -2. 打开index.css文件,设置文本和按钮的样式,示例代码如下: - ``` - /* index.css */ - .container { - flex-direction: column; /* 设置容器内的项目纵向排列 */ - justify-content: center; /* 设置项目位于容器主轴的中心 */ - align-items: center; /* 项目在交叉轴居中 */ - width:100%; - height:100%; - } - /* 对class="text"的组件设置样式 */ - .text{ - font-size: 42px; - } - /* 对class="button"的组件设置样式 */ - .button { - width: 240px; - height: 60px; - background-color: #007dff; - font-size: 30px; - text-color: white; - margin-top: 20px; - } - ``` - -3. 使用[预览器](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/previewer-0000001054328973#ZH-CN_TOPIC_0000001056725592__section16523172216252)运行项目,效果如下图所示: - - ![zh-cn_image_0000001167690688](figures/zh-cn_image_0000001167690688.png) - - -## 创建另一个页面 - -1. 在"Project"窗口,打开entry > src > main > js > default,右键点击pages文件夹,选择NewJS Page,命名为details,单击回车键。 - 创建完成后,可以看到pages文件夹下的文件目录结构如下: - - ![zh-cn_image_0000001167850660](figures/zh-cn_image_0000001167850660.png) - -2. 打开details.hml文件,添加一个文本,示例代码如下: - ``` - -
- - Hi there - -
- ``` - -3. 打开details.css文件,设置文本的样式,示例代码如下: - ``` - /* details.css */ - .container { - flex-direction: column; - justify-content: center; - align-items: center; - width:100%; - height:100%; - } - .text { - font-size: 42px; - text-align: center; - } - ``` - - -## 实现页面跳转 - -1. 打开第一个页面的index.js文件,导入router模块,页面路由router根据页面的uri来找到目标页面,从而实现跳转。示例代码如下: - ``` - // index.js - import router from '@system.router'; - - export default { - launch() { - router.push ({ - uri:'pages/details/details', // 指定要跳转的页面 - }) - } - } - ``` - -2. 再次使用[预览器](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/previewer-0000001054328973#ZH-CN_TOPIC_0000001056725592__section16523172216252)运行项目,效果如下图所示: - - ![zh-cn_image_0000001213130527](figures/zh-cn_image_0000001213130527.png) - -恭喜你,至此已成功完成快速入门-使用JS语言开发。 diff --git a/zh-cn/application-dev/quick-start/start.md b/zh-cn/application-dev/quick-start/start.md deleted file mode 100644 index 6123c3612898bc1579a80a8465ccf2f0702e19cc..0000000000000000000000000000000000000000 --- a/zh-cn/application-dev/quick-start/start.md +++ /dev/null @@ -1,8 +0,0 @@ -# 快速入门 - - -- **[开发准备](start-overview.md)** - -- **[使用JS语言开发](start-with-js.md)** - -- **[使用eTS语言开发](start-with-ets.md)** \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/figures/zh-cn_image_0000001164217678.png b/zh-cn/application-dev/reference/apis/figures/zh-cn_image_0000001164217678.png deleted file mode 100644 index 1e2cc34bf20dcd27dc9dff6a3eb6eb56dd4809c4..0000000000000000000000000000000000000000 Binary files a/zh-cn/application-dev/reference/apis/figures/zh-cn_image_0000001164217678.png and /dev/null differ diff --git a/zh-cn/application-dev/reference/apis/figures/zh-cn_image_url.png b/zh-cn/application-dev/reference/apis/figures/zh-cn_image_url.png new file mode 100644 index 0000000000000000000000000000000000000000..aa3175e145cfce399bef43bf5c7a2ac7feb0a576 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/zh-cn_image_url.png differ diff --git a/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md b/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md index 2e0ff9bc5d3ad5f19ca8cf9dbfecf4604ba0725a..f7a50c58358c8e0c3753be5e231dc47e33f53dd9 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md +++ b/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md @@ -216,4 +216,13 @@ let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSI promise.then(data => { console.log(`promise: data->${JSON.stringify(data)}`); }); -``` \ No newline at end of file +``` + +### GrantStatus + +表示授权状态的枚举。 + +| 名称 | 默认值 | 描述 | +| ----------------------------- | ---------------------- | ----------------------- | +| PERMISSION_DENIED | -1 | 表示未授权。 | +| PERMISSION_GRANTED | 0 | 表示已授权。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-arraylist.md b/zh-cn/application-dev/reference/apis/js-apis-arraylist.md index 79d8e65485b7b8d5e76a10de8b30c9b7ba31fff2..efda37f74d406b30d34ba67934e19915b80be119 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-arraylist.md +++ b/zh-cn/application-dev/reference/apis/js-apis-arraylist.md @@ -55,15 +55,15 @@ add(element: T): boolean **示例:** -``` -let arrayList = new ArrayList(); -arrayList.add("a"); -arrayList.add(1); -let b = [1, 2, 3]; -arrayList.add(b); -let c = {name: "lala", age: "13"}; -arrayList.add(false); -``` + ``` + let arrayList = new ArrayList(); + let result = arrayList.add("a"); + let result1 = arrayList.add(1); + let b = [1, 2, 3]; + let result2 = arrayList.add(b); + let c = {name: "lala", age: "13"}; + let result3 = arrayList.add(false); + ``` ### insert @@ -109,9 +109,9 @@ has(element: T): boolean ``` let arrayList = new ArrayList(); -arrayList.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result = arrayList.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); arrayList.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); -arrayList.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result1 = arrayList.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ``` ### getIndexOf @@ -143,7 +143,7 @@ arrayList.add(2); arrayList.add(1); arrayList.add(2); arrayList.add(4); -arrayList.getIndexOf(2); +let result = arrayList.getIndexOf(2); ``` ### getLastIndexOf @@ -175,7 +175,7 @@ arrayList.add(2); arrayList.add(1); arrayList.add(2); arrayList.add(4); -arrayList.getLastIndexOf(2); +let result = arrayList.getLastIndexOf(2); ``` ### removeByIndex @@ -205,7 +205,7 @@ arrayList.add(4); arrayList.add(5); arrayList.add(2); arrayList.add(4); -arrayList.removeByIndex(2); +let result = arrayList.removeByIndex(2); ``` ### remove @@ -234,7 +234,7 @@ arrayList.add(2); arrayList.add(4); arrayList.add(5); arrayList.add(4); -arrayList.remove(2); +let result = arrayList.remove(2); ``` ### removeByRange @@ -264,7 +264,7 @@ arrayList.removeByRange(2, 6); ``` ### replaceAllElements -replaceAllElements(callbackfn: (value: T, index?: number, arraylist?: ArrayList<T>) => T, +replaceAllElements(callbackfn: (value: T, index?: number, arrlist?: ArrayList<T>) => T, thisArg?: Object): void 用户操作ArrayList中的元素,用操作后的元素替换原元素并返回操作后的元素。 @@ -280,9 +280,9 @@ callbackfn的参数说明: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| value | T | 是 | 当前遍历到的元素 | -| index | number | 否 | 当前遍历到的下标值 | -| arraylist | ArrayList<T> | 否 | 当前调用replaceAllElements方法的实例对象 | +| value | T | 是 | 当前遍历到的元素。 | +| index | number | 否 | 当前遍历到的下标值。 | +| arrlist | ArrayList<T> | 否 | 当前调用replaceAllElements方法的实例对象。 | **示例:** @@ -301,7 +301,7 @@ arrayList.replaceAllElements((value, index) => { ``` ### forEach -forEach(callbackfn: (value: T, index?: number, arraylist?: ArrayList<T>) => void, +forEach(callbackfn: (value: T, index?: number, arrlist?: ArrayList<T>) => void, thisArg?: Object): void 通过回调函数来遍历ArrayList实例对象上的元素以及元素对应的下标。 @@ -319,7 +319,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | T | 是 | 当前遍历到的元素。 | | index | number | 否 | 当前遍历到的下标值。 | -| arraylist | ArrayList<T> | 否 | 当前调用forEach方法的实例对象。 | +| arrlist | ArrayList<T> | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -391,9 +391,9 @@ arrayList.add(2); arrayList.add(4); arrayList.add(5); arrayList.add(4); -arrayList.subArrayList(2, 4); -arrayList.subArrayList(4, 3); -arrayList.subArrayList(2, 6); +let result1 = arrayList.subArrayList(2, 4); +let result2 = arrayList.subArrayList(4, 3); +let result3 = arrayList.subArrayList(2, 6); ``` ### clear @@ -415,7 +415,8 @@ arrayList.clear(); ### clone clone(): ArrayList<T> -克隆一个与ArrayList一模一样的实例,并返回克隆后的实例,修改克隆后的实例并不会影响原实例。 +克隆一个与ArrayList相同的实例,并返回克隆后的实例。修改克隆后的实例并不会影响原实例。 + **返回值:** @@ -431,7 +432,7 @@ arrayList.add(2); arrayList.add(4); arrayList.add(5); arrayList.add(4); -arrayList.clone(); +let result = arrayList.clone(); ``` ### getCapacity @@ -453,7 +454,7 @@ arrayList.add(2); arrayList.add(4); arrayList.add(5); arrayList.add(4); -arrayList.getCapacity(); +let result = arrayList.getCapacity(); ``` ### convertToArray @@ -475,7 +476,7 @@ arrayList.add(2); arrayList.add(4); arrayList.add(5); arrayList.add(4); -arrayList.convertToArray(); +let result = arrayList.convertToArray(); ``` ### isEmpty @@ -497,7 +498,7 @@ arrayList.add(2); arrayList.add(4); arrayList.add(5); arrayList.add(4); -arrayList.isEmpty(); +let result = arrayList.isEmpty(); ``` ### increaseCapacityTo diff --git a/zh-cn/application-dev/reference/apis/js-apis-bluetooth.md b/zh-cn/application-dev/reference/apis/js-apis-bluetooth.md index 631329ebb3228fbb8a60293c7714fdd794bfee77..4a21a3d900e1eceb345860e4e3e27bd1566f49bd 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-bluetooth.md +++ b/zh-cn/application-dev/reference/apis/js-apis-bluetooth.md @@ -239,7 +239,7 @@ getRemoteDeviceClass(deviceId: string): DeviceClass | 类型 | 说明 | | -------- | -------- | -| [DeviceClass](#DeviceClass) | 远程设备的类别。 | +| [DeviceClass](#deviceclass) | 远程设备的类别。 | **示例:** @@ -1982,7 +1982,7 @@ if (retWriteDesc) { setBLEMtuSize(mtu: number): boolean -client协商远端蓝牙低功耗设备的最大传输单元(Maximum Transmission Unit, MTU),调用connect接口连接成功后才能使用。 +client协商远端蓝牙低功耗设备的最大传输单元(Maximum Transmission Unit, MTU),调用[connect](#connect)接口连接成功后才能使用。 **参数:** @@ -2196,7 +2196,7 @@ let deviceName = gattClient.getDeviceName().then((data) => { getRssiValue(callback: AsyncCallback<number>): void -client获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect-boolean)接口连接成功后才能使用。 +client获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect)接口连接成功后才能使用。 **参数:** @@ -2225,7 +2225,7 @@ let rssi = gattClient.getRssiValue((err, data)=> { getRssiValue(): Promise<number> -client获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect-boolean)接口连接成功后才能使用。 +client获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect)接口连接成功后才能使用。 **返回值:** @@ -2277,7 +2277,7 @@ let rssi = gattClient.getRssiValue().then((data) => { | -------- | -------- | -------- | -------- | -------- | | uuid | string | 是 | 是 | spp单据的uuid。 | | isPrimary | boolean | 是 | 是 | 是否是安全通道。 | -| type | [SppType](#SppType) | 是 | 是 | Spp链路类型。 | +| type | [SppType](#spptype) | 是 | 是 | Spp链路类型。 | ## SppType @@ -2297,8 +2297,8 @@ let rssi = gattClient.getRssiValue().then((data) => { | -------- | -------- | -------- | -------- | -------- | | serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | | isPrimary | boolean | 是 | 是 | 如果是主服务设置为true,否则设置为false。 | -| characteristics | Array<[BLECharacteristic](#BLECharacteristic)> | 是 | 是 | 当前服务包含的特征列表。 | -| includeServices | Array<[GattService](#GattService)> | 是 | 是 | 当前服务依赖的其它服务。 | +| characteristics | Array<[BLECharacteristic](#blecharacteristic)> | 是 | 是 | 当前服务包含的特征列表。 | +| includeServices | Array<[GattService](#gattservice)> | 是 | 是 | 当前服务依赖的其它服务。 | ## BLECharacteristic @@ -2310,7 +2310,7 @@ let rssi = gattClient.getRssiValue().then((data) => { | serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | | characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | | characteristicValue | ArrayBuffer | 是 | 是 | 特征对应的二进制值。 | -| descriptors | Array<[BLEDescriptor](#BLEDescriptor)> | 是 | 是 | 特定特征的描述符列表。 | +| descriptors | Array<[BLEDescriptor](#bledescriptor)> | 是 | 是 | 特定特征的描述符列表。 | ## BLEDescriptor @@ -2415,7 +2415,7 @@ let rssi = gattClient.getRssiValue().then((data) => { | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | deviceId | string | 是 | 否 | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | -| state | [ProfileConnectionState](#ProfileConnectionState) | 是 | 是 | 表示BLE连接状态的枚举。 | +| state | [ProfileConnectionState](#profileconnectionState) | 是 | 是 | 表示BLE连接状态的枚举。 | ## ProfileConnectionState @@ -2448,8 +2448,8 @@ let rssi = gattClient.getRssiValue().then((data) => { | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | interval | number | 是 | 是 | 表示扫描结果上报延迟时间,默认值为0。 | -| dutyMode | [ScanDuty](#ScanDuty) | 是 | 是 | 表示扫描模式,默认值为SCAN_MODE_LOW_POWER。 | -| matchMode | [MatchMode](#MatchMode) | 是 | 是 | 表示硬件的过滤匹配模式,默认值为MATCH_MODE_AGGRESSIVE。 | +| dutyMode | [ScanDuty](#scanduty) | 是 | 是 | 表示扫描模式,默认值为SCAN_MODE_LOW_POWER。 | +| matchMode | [MatchMode](#matchmode) | 是 | 是 | 表示硬件的过滤匹配模式,默认值为MATCH_MODE_AGGRESSIVE。 | ## ScanDuty @@ -2517,8 +2517,8 @@ let rssi = gattClient.getRssiValue().then((data) => { | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | serviceUuids | Array<string> | 是 | 是 | 表示要广播的服务 UUID 列表。 | -| manufactureData | Array<[ManufactureData](#ManufactureData)> | 是 | 是 | 表示要广播的广播的制造商信息列表。 | -| serviceData | Array<[ServiceData](#ServiceData)> | 是 | 是 | 表示要广播的服务数据列表。 | +| manufactureData | Array<[ManufactureData](#manufacturedata)> | 是 | 是 | 表示要广播的广播的制造商信息列表。 | +| serviceData | Array<[ServiceData](#servicedata)> | 是 | 是 | 表示要广播的服务数据列表。 | ## ManufactureData @@ -2557,8 +2557,8 @@ let rssi = gattClient.getRssiValue().then((data) => { | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| majorClass | [MajorClass](#MajorClass) | 是 | 否 | 表示蓝牙设备主要类别的枚举。 | -| majorMinorClass | [MajorMinorClass](#MajorMinorClass) | 是 | 否 | 表示主要次要蓝牙设备类别的枚举。 | +| majorClass | [MajorClass](#majorclass) | 是 | 否 | 表示蓝牙设备主要类别的枚举。 | +| majorMinorClass | [MajorMinorClass](#majorminorclass) | 是 | 否 | 表示主要次要蓝牙设备类别的枚举。 | | classOfDevice | number | 是 | 否 | 表示设备类别。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md b/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md index 543b429ce1ace53f963f89f2bf36a599690d8696..68da7c3cd1a2d885314d18b84c629fdecdd8f96f 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md @@ -4,7 +4,7 @@ > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 @@ -23,13 +23,13 @@ import data_Preferences from '@ohos.data.preferences' ## data_Preferences.getPreferences -### 系统能力 -SystemCapability.DistributedDataManager.Preferences.Core - getPreferences(context: Context, name: string, callback: AsyncCallback<Preferences>): void 读取指定文件,将数据加载到Preferences实例,用于数据操作,使用callback形式返回结果。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -55,13 +55,13 @@ getPreferences(context: Context, name: string, callback: AsyncCallback<Prefer ## data_Preferences.getPreferences -### 系统能力 -SystemCapability.DistributedDataManager.Preferences.Core - getPreferences(context: Context, name: string): Promise<Preferences> 读取指定文件,将数据加载到Preferences实例,用于数据操作,使用Promise方式作为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -90,13 +90,13 @@ getPreferences(context: Context, name: string): Promise<Preferences> ## data_Preferences.deletePreferences -### 系统能力 -SystemCapability.DistributedDataManager.Preferences.Core - deletePreferences(context: Context, name: string, callback: AsyncCallback<void>) 从内存中移除指定文件对应的Preferences单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用callback方式作为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -120,13 +120,13 @@ deletePreferences(context: Context, name: string, callback: AsyncCallback<voi ## data_Preferences.deletePreferences -### 系统能力 -SystemCapability.DistributedDataManager.Preferences.Core - deletePreferences(context: Context, name: string): Promise<void> 从内存中移除指定文件对应的Preferences单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用promise方式作为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -153,15 +153,15 @@ deletePreferences(context: Context, name: string): Promise<void> ## data_Preferences.removePreferencesFromCache -### 系统能力 -SystemCapability.DistributedDataManager.Preferences.Core - removePreferencesFromCache(context: Context, name: string, callback: AsyncCallback<Preferences>): void 从内存中移除指定文件对应的Preferences单实例。移除Preferences单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -185,14 +185,15 @@ removePreferencesFromCache(context: Context, name: string, callback: AsyncCallba ## data_Preferences.removePreferencesFromCache -### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - removePreferencesFromCache(context: Context, name: string): Promise<void> 从内存中移除指定文件对应的Preferences单实例。移除Preferences单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -224,14 +225,15 @@ removePreferencesFromCache(context: Context, name: string): Promise<void> ### get -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>): void 获取键对应的值,如果值为null或者非默认值类型,返回默认数据。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -253,14 +255,15 @@ get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>): ### get -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - get(key: string, defValue: ValueType): Promise<ValueType> 获取键对应的值,如果值为null或者非默认值类型,返默认数据。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -285,14 +288,15 @@ get(key: string, defValue: ValueType): Promise<ValueType> ### put -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - put(key: string, value: ValueType, callback: AsyncCallback<void>): void 首先获取指定文件对应的Preferences实例,然后借助Preferences API将数据写入Preferences实例,通过flush或者flushSync将Preferences实例持久化。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -314,14 +318,15 @@ put(key: string, value: ValueType, callback: AsyncCallback<void>): void ### put -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - put(key: string, value: ValueType): Promise<void> 首先获取指定文件对应的Preferences实例,然后借助Preferences API将数据写入Preferences实例,通过flush或者flushSync将Preferences实例持久化。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -346,14 +351,15 @@ put(key: string, value: ValueType): Promise<void> ### has -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - has(key: string, callback: AsyncCallback<boolean>): boolean 检查存储对象是否包含名为给定key的存储。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -381,14 +387,15 @@ has(key: string, callback: AsyncCallback<boolean>): boolean ### has -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - has(key: string): Promise<boolean> 检查存储对象是否包含名为给定key的存储。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -414,14 +421,15 @@ has(key: string): Promise<boolean> ### delete -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - delete(key: string, callback: AsyncCallback<void>): void 从存储对象中删除名为给定key的存储。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -442,14 +450,15 @@ delete(key: string, callback: AsyncCallback<void>): void ### delete -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - delete(key: string): Promise<void> 从存储对象删除名为给定key的存储。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -473,14 +482,15 @@ delete(key: string): Promise<void> ### flush -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - flush(callback: AsyncCallback<void>): void 将当前preferences对象中的修改保存到当前的preferences,并异步存储到文件中。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -500,14 +510,15 @@ flush(callback: AsyncCallback<void>): void ### flush -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - flush(): Promise<void> 将当前preferences对象中的修改保存到当前的preferences,并异步存储到文件中。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -526,14 +537,15 @@ flush(): Promise<void> ### clear -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - clear(callback: AsyncCallback<void>): void 清除此存储对象中的所有存储。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -553,14 +565,15 @@ clear(callback: AsyncCallback<void>): void ### clear -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - clear(): Promise<void> 清除此存储对象中的所有存储。 此方法为异步方法。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -579,12 +592,13 @@ clear(): Promise<void> ### on('change') -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - on(type: 'change', callback: Callback<{ key : string }>): void 订阅数据变更者类,订阅的key的值发生变更后,在执行flush方法后,callback方法会被回调。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 说明 | | -------- | -------- | -------- | @@ -604,12 +618,13 @@ on(type: 'change', callback: Callback<{ key : string }>): void ### off('change') -#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core - off(type: 'change', callback: Callback<{ key : string }>): void 当不再进行订阅数据变更时,使用此接口取消订阅。 +### 系统能力### +SystemCapability.DistributedDataManager.Preferences.Core + - 参数: | 参数名 | 类型 | 说明 | | -------- | -------- | -------- | diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-storage.md b/zh-cn/application-dev/reference/apis/js-apis-data-storage.md index 8c47d4e3531f3e22994791e2b625bfde70566387..8bfce043074d777f72856870b995d8d508dcfbe9 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-storage.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-storage.md @@ -4,7 +4,7 @@ > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 从API Version 8开始,该接口不再维护,推荐使用新接口 [@ohos.data.preferences](js-apis-data-preferences.md) +> 从API Version 9开始,该接口不再维护,推荐使用新接口 [@ohos.data.preferences](js-apis-data-preferences.md) ## 导入模块 diff --git a/zh-cn/application-dev/reference/apis/js-apis-deque.md b/zh-cn/application-dev/reference/apis/js-apis-deque.md index 222bf5f5150abbfc4eeb7765f0b6b8a44c2a0fc0..96440fe9281dd472232c783b28c2fe8e548ba431 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-deque.md +++ b/zh-cn/application-dev/reference/apis/js-apis-deque.md @@ -104,9 +104,9 @@ has(element: T): boolean ``` let deque = new Deque(); -deque.has("Ahfbrgrbgnutfodgorrogorg"); +let result = deque.has("Ahfbrgrbgnutfodgorrogorg"); deque.insertFront("Ahfbrgrbgnutfodgorrogorg"); -deque.has("Ahfbrgrbgnutfodgorrogorg"); +let result1 = deque.has("Ahfbrgrbgnutfodgorrogorg"); ``` ### popFirst @@ -130,7 +130,7 @@ deque.insertFront(4); deque.insertEnd(5); deque.insertFront(2); deque.insertFront(4); -deque.popFirst(); +let result = deque.popFirst(); ``` ### popLast @@ -155,6 +155,7 @@ deque.insertFront(5); deque.insertFront(2); deque.insertFront(4); deque.popLast(); +let result = deque.popLast(); ``` ### forEach @@ -211,7 +212,7 @@ deque.insertEnd(2); deque.insertEnd(4); deque.insertFront(5); deque.insertFront(4); -deque.getFirst(); +let result = deque.getFirst(); ``` ### getLast @@ -234,7 +235,7 @@ deque.insertFront(2); deque.insertFront(4); deque.insertFront(5); deque.insertFront(4); -deque.getLast(); +let result = deque.getLast(); ``` ### [Symbol.iterator] diff --git a/zh-cn/application-dev/reference/apis/js-apis-hashmap.md b/zh-cn/application-dev/reference/apis/js-apis-hashmap.md index b2c3bd80907fdaff2143f0ef29e2855b587d3119..004c08485c77990b80c00b78192ce033e1a0f27d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-hashmap.md +++ b/zh-cn/application-dev/reference/apis/js-apis-hashmap.md @@ -53,7 +53,7 @@ isEmpty(): boolean ``` const hashMap = new HashMap(); -hashMap.isEmpty(); +let result = hashMap.isEmpty(); ``` @@ -79,9 +79,9 @@ hasKey(key: K): boolean ``` let hashMap = new HashMap(); -hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result = hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); -hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result1 = hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ``` @@ -107,9 +107,9 @@ hasValue(value: V): boolean ``` let hashMap = new HashMap(); -hashMap.hasValue(123); +let result = hashMap.hasValue(123); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); -hashMap.hasValue(123); +let result1 = hashMap.hasValue(123); ``` @@ -137,7 +137,7 @@ get(key: K): V let hashMap = new HashMap(); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); hashMap.set("sdfs", 356); -hashMap.get("sdfs"); +let result = hashMap.get("sdfs"); ``` @@ -145,13 +145,13 @@ hashMap.get("sdfs"); setAll(map: HashMap): void -将一个HashMap中的所有元素组添加到另一个hashmap中。 +将一个HashMap中的所有元素组添加到另一个hashMap中。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| map | HashMap | 是 | 被添加元素的hashmap。 | +| map | HashMap | 是 | 被添加元素的hashMap。 | **示例:** @@ -181,13 +181,13 @@ set(key: K, value: V): Object | 类型 | 说明 | | -------- | -------- | -| Object | 返回添加后的hashmap。 | +| Object | 返回添加后的hashMap。 | **示例:** ``` let hashMap = new HashMap(); -hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); +let result = hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ``` @@ -195,13 +195,13 @@ hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); remove(key: K): V -删除指定的元素。 +删除指定key所对应元素。。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | K | 是 | 依据key指定删除的元素。 | +| key | K | 是 | 指定key。 | **返回值:** @@ -215,7 +215,7 @@ remove(key: K): V let hashMap = new HashMap(); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); hashMap.set("sdfs", 356); -hashMap.remove("sdfs"); +let result = hashMap.remove("sdfs"); ``` @@ -239,7 +239,7 @@ hashMap.clear(); keys(): IterableIterator<K> -返回包含此映射中包含的键的新迭代器对象。 +返回包含此映射中包含的键名的新迭代器对象。 **返回值:** @@ -291,7 +291,7 @@ while(temp != undefined) { ### replace -replace(key: K, value: V): boolean +replace(key: K, newValue: V): boolean 对HashMap中一组数据进行更新(替换)。 @@ -300,7 +300,7 @@ replace(key: K, value: V): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | key | K | 是 | 依据key指定替换的元素。 | -| value | V | 是 | 成员数据的新值。 | +| newValue | V | 是 | 替换成员数据的值。 | **返回值:** @@ -313,13 +313,13 @@ replace(key: K, value: V): boolean ``` let hashMap = new HashMap(); hashMap.set("sdfs", 123); -hashMap.replace("sdfs", 357); +let result = hashMap.replace("sdfs", 357); ``` ### forEach -forEach(callbackfn: (value: V, key?: K, hashMap?: HashMap) => void, thisArg?: Object): void +forEach(callbackfn: (value: V, key?: K, map?: HashMap) => void, thisArg?: Object): void 通过回调函数来遍历HashMap实例对象上的元素以及元素对应的下标。 @@ -335,7 +335,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | V | 是 | 当前遍历到的元素键值对的值。 | | key | K | 是 | 当前遍历到的元素键值对的键。 | -| hashMap | HashMap | 否 | 当前调用forEach方法的实例对象。 | +| map | HashMap | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -353,7 +353,7 @@ hashMap.forEach((value, key) => { entries(): IterableIterator<[K, V]> -返回包含此映射中包含的元素的新迭代器对象。 +返回包含此映射中包含的键值对的新迭代器对象。 **返回值:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-hashset.md b/zh-cn/application-dev/reference/apis/js-apis-hashset.md index 5dd797f1c6e122e776b7702f7710f0da98e8ee66..8a0556e94cd954f73906bc690db303a03544b2b4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-hashset.md +++ b/zh-cn/application-dev/reference/apis/js-apis-hashset.md @@ -79,9 +79,9 @@ has(value: T): boolean ``` let hashSet = new HashSet(); -hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result = hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); -hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result1 = hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ``` @@ -107,7 +107,7 @@ add(value: T): boolean ``` let hashSet = new HashSet(); -hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result = hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ``` @@ -135,7 +135,7 @@ remove(value: T): boolean let hashSet = new HashSet(); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hashSet.add("sdfs"); -hashSet.remove("sdfs"); +let result = hashSet.remove("sdfs"); ``` @@ -184,7 +184,7 @@ while(temp != undefined) { ### forEach -forEach(callbackfn: (value: T, key?: T, hashSet?: HashSet<T>) => void, thisArg?: Object): void +forEach(callbackfn: (value: T, key?: T, set?: HashSet<T>) => void, thisArg?: Object): void 通过回调函数来遍历实例对象上的元素以及元素对应的下标。 @@ -200,7 +200,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | T | 是 | 当前遍历到的元素键值对的值。 | | key | T | 否 | 当前遍历到的元素键值对的值(和value相同)。 | -| hashSet | HashSet<T> | 否 | 当前调用forEach方法的实例对象。 | +| set | HashSet<T> | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -217,13 +217,13 @@ hashSet.forEach((value, key) => { ### entries entries(): IterableIterator<[T, T]> -返回包含此映射中包含的元素的新迭代器对象。 +返回包含此映射中包含的键值对的新迭代器对象。 **返回值:** | 类型 | 说明 | | -------- | -------- | -| IterableIterator<[T, T]> | 返回一个迭代器 | +| IterableIterator<[T, T]> | 返回一个迭代器。 | **示例:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-i18n.md b/zh-cn/application-dev/reference/apis/js-apis-i18n.md index 5d636d4ef4af3c33a6a604684aee859028ded636..5dfcf16cf0b3f359ec2afb89c244c1cca9b8e14f 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-i18n.md +++ b/zh-cn/application-dev/reference/apis/js-apis-i18n.md @@ -13,17 +13,14 @@ import i18n from '@ohos.i18n'; ``` -## 权限 - -无 - - ## i18n.getDisplayLanguage getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string 获取指定语言的本地化显示文本。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -49,6 +46,8 @@ getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): stri 获取指定国家的本地化显示文本。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -74,6 +73,8 @@ isRTL(locale: string): boolean 获取是否为从右至左显示语言。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 说明 | | -------- | -------- | -------- | @@ -97,6 +98,8 @@ getSystemLanguage(): string 获取系统语言。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -114,6 +117,8 @@ getSystemRegion(): string 获取系统地区。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -131,6 +136,8 @@ getSystemLocale(): string 获取系统区域。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -148,6 +155,8 @@ getCalendar(locale: string, type? : string): Calendar 获取日历对象。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -174,6 +183,8 @@ setTime(date: Date): void 设置日历对象内部的时间日期。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -193,6 +204,8 @@ setTime(time: number): void 设置日历对象内部的时间日期, time为从1970.1.1 00:00:00 GMT逝去的毫秒数。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -211,6 +224,8 @@ set(year: number, month: number, date:number, hour?: number, minute?: number, se 设置日历对象的年、月、日、时、分、秒。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -234,6 +249,8 @@ setTimeZone(timezone: string): void 设置日历对象的时区。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -252,6 +269,8 @@ getTimeZone(): string 获取日历对象的时区。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -271,6 +290,8 @@ getFirstDayOfWeek(): number 获取日历对象的一周起始日。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -289,6 +310,8 @@ setFirstDayOfWeek(value: number): void 设置每一周的起始日。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -307,6 +330,8 @@ getMinimalDaysInFirstWeek(): number 获取一年中第一周的最小天数。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -325,6 +350,8 @@ setMinimalDaysInFirstWeek(value: number): void 设置一年中第一周的最小天数。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -343,6 +370,8 @@ get(field: string): number 获取日历对象中与field相关联的值。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -367,6 +396,8 @@ getDisplayName(locale: string): string 获取日历对象在locale所指定的区域的名字。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -390,6 +421,8 @@ isWeekend(date?: Date): boolean 判断给定的日期是否在日历中是周末。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -419,6 +452,8 @@ constructor(country: string, options?: PhoneNumberFormatOptions) 创建电话号码格式化对象。 +**系统能力**:SystemCapability.Global.I18n + 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -437,6 +472,8 @@ isValidNumber(number: string): boolean 判断传入的电话号码格式是否正确。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -460,6 +497,8 @@ format(number: string): string 对电话号码进行格式化。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -484,7 +523,7 @@ format(number: string): string | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| type | string | 是 | 是 | 表示对电话号码格式化的类型,取值范围:"E164", "INTERNATIONAL", "NATIONAL", "RFC3966"。 | +| type | string | 是 | 是 | 表示对电话号码格式化的类型,取值范围:"E164", "INTERNATIONAL", "NATIONAL", "RFC3966"。
**系统能力**:SystemCapability.Global.I18n | ## UnitInfo8+ @@ -495,7 +534,7 @@ format(number: string): string | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | unit | string | 是 | 是 | 单位的名称,如:"meter", "inch", "cup"等。 | -| measureSystem | string | 是 | 是 | 单位的度量体系,取值包括:"SI", "US", "UK"。 | +| measureSystem | string | 是 | 是 | 单位的度量体系,取值包括:"SI", "US", "UK"。
**系统能力**:SystemCapability.Global.I18n | ## Util8+ @@ -507,6 +546,8 @@ unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, 将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -536,6 +577,8 @@ getInstance(): IndexUtil 创建并返回IndexUtil对象。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -558,6 +601,8 @@ getIndexList(): Array<string> 获取当前locale对应的索引列表。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -576,6 +621,8 @@ addLocale(locale: string) 将新的locale对应的索引加入当前索引列表。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -594,6 +641,8 @@ getIndex(text: string): string 获取text对应的索引。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -620,6 +669,8 @@ isDigit(char: string): boolean 判断字符串char是否是数字。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -642,6 +693,8 @@ isSpaceChar(char: string): boolean 判断字符串char是否是空格符。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -664,6 +717,8 @@ isWhitespace(char: string): boolean 判断字符串char是否是空白符。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -686,6 +741,8 @@ isRTL(char: string): boolean 判断字符串char是否是从右到左语言的字符。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -708,6 +765,8 @@ isIdeograph(char: string): boolean 判断字符串char是否是表意文字。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -730,6 +789,8 @@ isLetter(char: string): boolean 判断字符串char是否是字母。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -752,6 +813,8 @@ isLowerCase(char: string): boolean 判断字符串char是否是小写字母。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -774,6 +837,8 @@ isUpperCase(char: string): boolean 判断字符串char是否是大写字母。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -796,6 +861,8 @@ getType(char: string): string 获取输入字符串的一般类别值。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -818,6 +885,8 @@ getLineInstance(locale: string): BreakIterator 获取一个用于断句的[BreakIterator](#breakiterator8)对象。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -843,6 +912,8 @@ setLineBreakText(text: string): void 设置[BreakIterator](#breakiterator8)要处理的文本。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -861,6 +932,8 @@ getLineBreakText(): string 获取[BreakIterator](#breakiterator8)当前处理的文本。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -880,6 +953,8 @@ current(): number 获取[BreakIterator](#breakiterator8)对象在当前处理的文本中的位置。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -899,6 +974,8 @@ first(): number 将[BreakIterator](#breakiterator8)对象设置到第一个可断句的分割点。第一个分割点总是被处理的文本的起始位置。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -918,6 +995,8 @@ last(): number 将[BreakIterator](#breakiterator8)对象的位置设置到最后一个可断句的分割点。最后一个分割点总是被处理文本末尾的下一个位置。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -937,6 +1016,8 @@ next(index?: number): number 如果index给出,并且index是一个正数将[BreakIterator](#breakiterator8)向后移动number个可断句的分割点,如果n是一个负数,向前移动相应个分割点。若index没有给出,则相当于index = 1。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -963,6 +1044,8 @@ previous(): number 将[BreakIterator](#breakiterator8)移动到前一个分割点处。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -984,6 +1067,8 @@ following(offset: number): number 将[BreakIterator](#breakiterator8)设置到由offset指定的位置的后面一个分割点。返回移动后[BreakIterator](#breakiterator8)的位置。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -1010,6 +1095,8 @@ isBoundary(offset: number): boolean 如果offset所指定的文本位置是一个分割点,那么返回true,否则返回false。如果返回true, 将[BreakIterator](#breakiterator8)对象设置到offset所指定的位置, 否则相当于调用[following](#following8)(offset)。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -1029,12 +1116,14 @@ isBoundary(offset: number): boolean ``` -## i18n.is24HourClock +## i18n.is24HourClock8+ is24HourClock(): boolean 判断系统时间是否为24小时制。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -1046,12 +1135,14 @@ is24HourClock(): boolean ``` -## i18n.set24HourClock +## i18n.set24HourClock8+ set24HourClock(option: boolean): boolean 修改系统时间的24小时制设置。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -1069,12 +1160,14 @@ set24HourClock(option: boolean): boolean ``` -## i18n.addPreferredLanguage +## i18n.addPreferredLanguage8+ addPreferredLanguage(language: string, index?: number): boolean 在系统偏好语言列表中的指定位置添加偏好语言。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -1095,12 +1188,14 @@ addPreferredLanguage(language: string, index?: number): boolean ``` -## i18n.removeDisplayLanguage +## i18n.removeDisplayLanguage8+ removeDisplayLanguage(index: number): boolean 删除系统偏好语言列表中指定位置的偏好语言。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -1119,12 +1214,14 @@ removeDisplayLanguage(index: number): boolean ``` -## i18n.getPreferredLanguageList +## i18n.getPreferredLanguageList8+ getPreferredLanguageList(): Array 获取系统偏好语言列表。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -1136,12 +1233,14 @@ getPreferredLanguageList(): Array ``` -## i18n.getFirstPreferredLanguage +## i18n.getFirstPreferredLanguage8+ getFirstPreferredLanguage(): string 获取与Hap资源最佳匹配的偏好语言。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | diff --git a/zh-cn/application-dev/reference/apis/js-apis-intl.md b/zh-cn/application-dev/reference/apis/js-apis-intl.md index acc6e97ba97a8415fa81580c2ea9a2aae6c96f79..eb6a9804cff291c5d5f7bcee22b1caccbab7e7de 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-intl.md +++ b/zh-cn/application-dev/reference/apis/js-apis-intl.md @@ -13,11 +13,6 @@ import Intl from '@ohos.intl'; ``` -## 权限列表 - -无 - - ## Locale @@ -25,16 +20,16 @@ import Intl from '@ohos.intl'; | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| language | string | 是 | 否 | 与区域设置关联的语, 如:zh。 | -| script | string | 是 | 否 | 语言的书写方式,如:Hans。 | -| region | string | 是 | 否 | 与区域设置相关的地区,如:CN。 | -| baseName | string | 是 | 否 | Locale的基本核心信息(由语言脚本与地区组成),如:zh-Hans-CN。 | -| caseFirst | string | 是 | 否 | 区域的整理规则是否考虑大小写,取值包括:"upper", "lower", "false"。 | -| calendar | string | 是 | 否 | 区域的日历信息,取值包括:"buddhist", "chinese", "coptic","dangi", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamic-umalqura", "islamic-tbla", "islamic-civil", "islamic-rgsa", "iso8601", "japanese", "persian", "roc", "islamicc"。 | -| collation | string | 是 | 否 | 区域的排序规则,取值包括:"big5han", "compat", "dict", "direct", "ducet", "eor", "gb2312", "phonebk", "phonetic", "pinyin", "reformed", "searchjl", "stroke", "trad", "unihan", "zhuyin"。 | -| hourCycle | string | 是 | 否 | 区域的时制信息,取值包括:"h12", "h23", "h11", "h24"。 | -| numberingSystem | string | 是 | 否 | 区域使用的数字系统,取值包括:"adlm", "ahom", "arab", "arabext", "bali", "beng", "bhks", "brah", "cakm", "cham", "deva", "diak", "fullwide", "gong", "gonm", "gujr", "guru", "hanidec", "hmng", "hmnp", "java", "kali", "khmr", "knda", "lana", "lanatham", "laoo", "latn", "lepc", "limb", "mathbold", "mathdbl", "mathmono", "mathsanb", "mathsans", "mlym", "modi", "mong", "mroo", "mtei", "mymr", "mymrshan", "mymrtlng", "newa", "nkoo", "olck", "orya", "osma", "rohg", "saur", "segment", "shrd", "sind", "sinh", "sora", "sund", "takr", "talu", "tamldec", "telu", "thai", "tibt", "tirh", "vaii", "wara", "wcho"。 | -| numeric | boolean | 是 | 否 | 是否对数字字符具有特殊的排序规则处理。 | +| language | string | 是 | 否 | 与区域设置关联的语, 如:zh。
**系统能力**:SystemCapability.Global.I18n | +| script | string | 是 | 否 | 语言的书写方式,如:Hans。
**系统能力**:SystemCapability.Global.I18n | +| region | string | 是 | 否 | 与区域设置相关的地区,如:CN。
**系统能力**:SystemCapability.Global.I18n | +| baseName | string | 是 | 否 | Locale的基本核心信息(由语言脚本与地区组成),如:zh-Hans-CN。
**系统能力**:SystemCapability.Global.I18n | +| caseFirst | string | 是 | 否 | 区域的整理规则是否考虑大小写,取值包括:"upper", "lower", "false"。
**系统能力**:SystemCapability.Global.I18n | +| calendar | string | 是 | 否 | 区域的日历信息,取值包括:"buddhist", "chinese", "coptic","dangi", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamic-umalqura", "islamic-tbla", "islamic-civil", "islamic-rgsa", "iso8601", "japanese", "persian", "roc", "islamicc"。
**系统能力**:SystemCapability.Global.I18n | +| collation | string | 是 | 否 | 区域的排序规则,取值包括:"big5han", "compat", "dict", "direct", "ducet", "eor", "gb2312", "phonebk", "phonetic", "pinyin", "reformed", "searchjl", "stroke", "trad", "unihan", "zhuyin"。
**系统能力**:SystemCapability.Global.I18n | +| hourCycle | string | 是 | 否 | 区域的时制信息,取值包括:"h12", "h23", "h11", "h24"。
**系统能力**:SystemCapability.Global.I18n | +| numberingSystem | string | 是 | 否 | 区域使用的数字系统,取值包括:"adlm", "ahom", "arab", "arabext", "bali", "beng", "bhks", "brah", "cakm", "cham", "deva", "diak", "fullwide", "gong", "gonm", "gujr", "guru", "hanidec", "hmng", "hmnp", "java", "kali", "khmr", "knda", "lana", "lanatham", "laoo", "latn", "lepc", "limb", "mathbold", "mathdbl", "mathmono", "mathsanb", "mathsans", "mlym", "modi", "mong", "mroo", "mtei", "mymr", "mymrshan", "mymrtlng", "newa", "nkoo", "olck", "orya", "osma", "rohg", "saur", "segment", "shrd", "sind", "sinh", "sora", "sund", "takr", "talu", "tamldec", "telu", "thai", "tibt", "tirh", "vaii", "wara", "wcho"。
**系统能力**:SystemCapability.Global.I18n | +| numeric | boolean | 是 | 否 | 是否对数字字符具有特殊的排序规则处理。
**系统能力**:SystemCapability.Global.I18n | ### constructor @@ -43,6 +38,8 @@ constructor(locale: string, options?: options) 创建区域对象 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -61,6 +58,8 @@ toString(): string 将区域信息转换为字符串 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -79,6 +78,8 @@ maximize(): Locale 最大化区域信息,若缺少脚本与地区信息,则补齐。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -97,6 +98,8 @@ minimize(): Locale 最小化区域信息,若包含脚本与地区信息,则去除。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -118,6 +121,8 @@ constructor(locale: string, options?: DateTimeOptions) 创建时间日期格式化对象。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -136,6 +141,8 @@ constructor(locales: Array<string>, options?: DateTimeOptions) 创建时间日期格式化对象。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -154,6 +161,8 @@ format(date: Date): string 格式化时间日期字符串。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -178,6 +187,8 @@ formatRange(fromDate: Date, toDate: Date): string 格式化时间日期段字符串。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -204,6 +215,8 @@ resolvedOptions(): DateTimeOptions 获取DateTimeFormat对象的格式化选项。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -222,25 +235,25 @@ resolvedOptions(): DateTimeOptions | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| locale | string | 是 | 否 | 区域参数, 如:zh-Hans-CN。 | -| dateStyle | string | 是 | 是 | 日期显示格式,取值包括:"long", "short", "medium", "full"。 | -| timeStyle | string | 是 | 是 | 时间显示格式,取值包括:"long", "short", "medium", "full"。 | -| hourCycle | string | 是 | 是 | 时制格式,取值包括:"h11", "h12", "h23", "h24"。 | -| timeZone | string | 是 | 是 | 使用的时区(合法的IANA时区ID)。 | -| numberingSystem | string | 是 | 是 | 数字系统,取值包括:"adlm", "ahom", "arab", "arabext", "bali", "beng", "bhks", "brah", "cakm", "cham", "deva", "diak", "fullwide", "gong", "gonm", "gujr", "guru", "hanidec", "hmng", "hmnp", "java", "kali", "khmr", "knda", "lana", "lanatham", "laoo", "latn", "lepc", "limb", "mathbold", "mathdbl", "mathmono", "mathsanb", "mathsans", "mlym", "modi", "mong", "mroo", "mtei", "mymr", "mymrshan", "mymrtlng", "newa", "nkoo", "olck", "orya", "osma", "rohg", "saur", "segment", "shrd", "sind", "sinh", "sora", "sund", "takr", "talu", "tamldec", "telu", "thai", "tibt", "tirh", "vaii", "wara", "wcho"。 | -| hour12 | boolean | 是 | 是 | 是否使用12小时制。 | -| weekday | string | 是 | 是 | 工作日的显示格式,取值包括:"long", "short", "narrow"。 | -| era | string | 是 | 是 | 时代的显示格式,取值包括:"long", "short", "narrow"。 | -| year | string | 是 | 是 | 年份的显示格式,取值包括:"numeric", "2-digit"。 | -| month | string | 是 | 是 | 月份的显示格式,取值包括:"numeric", "2-digit", "long", "short", "narrow"。 | -| day | string | 是 | 是 | 日期的显示格式,取值包括:"numeric", "2-digit"。 | -| hour | string | 是 | 是 | 小时的显示格式,取值包括:"numeric", "2-digit"。 | -| minute | string | 是 | 是 | 分钟的显示格式,取值包括:"numeric", "2-digit"。 | -| second | string | 是 | 是 | 秒钟的显示格式,取值包括:"numeric", "2-digit"。 | -| timeZoneName | string | 是 | 是 | 时区名称的本地化表示。 | -| dayPeriod | string | 是 | 是 | 时段的显示格式,取值包括:"long", "short", "narrow"。 | -| localeMatcher | string | 是 | 是 | 要使用的区域匹配算法,取值包括:"lookup", "best fit"。 | -| formatMatcher | string | 是 | 是 | 要使用的格式匹配算法,取值包括:"basic", "best fit"。 | +| locale | string | 是 | 否 | 区域参数, 如:zh-Hans-CN。
**系统能力**:SystemCapability.Global.I18n | +| dateStyle | string | 是 | 是 | 日期显示格式,取值包括:"long", "short", "medium", "full"。
**系统能力**:SystemCapability.Global.I18n | +| timeStyle | string | 是 | 是 | 时间显示格式,取值包括:"long", "short", "medium", "full"。
**系统能力**:SystemCapability.Global.I18n | +| hourCycle | string | 是 | 是 | 时制格式,取值包括:"h11", "h12", "h23", "h24"。
**系统能力**:SystemCapability.Global.I18n | +| timeZone | string | 是 | 是 | 使用的时区(合法的IANA时区ID)。
**系统能力**:SystemCapability.Global.I18n | +| numberingSystem | string | 是 | 是 | 数字系统,取值包括:"adlm", "ahom", "arab", "arabext", "bali", "beng", "bhks", "brah", "cakm", "cham", "deva", "diak", "fullwide", "gong", "gonm", "gujr", "guru", "hanidec", "hmng", "hmnp", "java", "kali", "khmr", "knda", "lana", "lanatham", "laoo", "latn", "lepc", "limb", "mathbold", "mathdbl", "mathmono", "mathsanb", "mathsans", "mlym", "modi", "mong", "mroo", "mtei", "mymr", "mymrshan", "mymrtlng", "newa", "nkoo", "olck", "orya", "osma", "rohg", "saur", "segment", "shrd", "sind", "sinh", "sora", "sund", "takr", "talu", "tamldec", "telu", "thai", "tibt", "tirh", "vaii", "wara", "wcho"。
**系统能力**:SystemCapability.Global.I18n | +| hour12 | boolean | 是 | 是 | 是否使用12小时制。
**系统能力**:SystemCapability.Global.I18n | +| weekday | string | 是 | 是 | 工作日的显示格式,取值包括:"long", "short", "narrow"。
**系统能力**:SystemCapability.Global.I18n | +| era | string | 是 | 是 | 时代的显示格式,取值包括:"long", "short", "narrow"。
**系统能力**:SystemCapability.Global.I18n | +| year | string | 是 | 是 | 年份的显示格式,取值包括:"numeric", "2-digit"。
**系统能力**:SystemCapability.Global.I18n | +| month | string | 是 | 是 | 月份的显示格式,取值包括:"numeric", "2-digit", "long", "short", "narrow"。
**系统能力**:SystemCapability.Global.I18n | +| day | string | 是 | 是 | 日期的显示格式,取值包括:"numeric", "2-digit"。
**系统能力**:SystemCapability.Global.I18n | +| hour | string | 是 | 是 | 小时的显示格式,取值包括:"numeric", "2-digit"。
**系统能力**:SystemCapability.Global.I18n | +| minute | string | 是 | 是 | 分钟的显示格式,取值包括:"numeric", "2-digit"。
**系统能力**:SystemCapability.Global.I18n | +| second | string | 是 | 是 | 秒钟的显示格式,取值包括:"numeric", "2-digit"。
**系统能力**:SystemCapability.Global.I18n | +| timeZoneName | string | 是 | 是 | 时区名称的本地化表示。
**系统能力**:SystemCapability.Global.I18n | +| dayPeriod | string | 是 | 是 | 时段的显示格式,取值包括:"long", "short", "narrow"。
**系统能力**:SystemCapability.Global.I18n | +| localeMatcher | string | 是 | 是 | 要使用的区域匹配算法,取值包括:"lookup", "best fit"。
**系统能力**:SystemCapability.Global.I18n | +| formatMatcher | string | 是 | 是 | 要使用的格式匹配算法,取值包括:"basic", "best fit"。
**系统能力**:SystemCapability.Global.I18n | ## NumberFormat @@ -252,6 +265,8 @@ constructor(locale: string, options?: NumberOptions) 创建数字格式化对象。 +**系统能力**:SystemCapability.Global.I18n + 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -270,6 +285,8 @@ constructor(locales: Array<string>, options?: NumberOptions) 创建数字格式化对象。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -288,6 +305,8 @@ format(number: number): string; 格式化数字字符串。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -312,6 +331,8 @@ resolvedOptions(): NumberOptions 获取NumberFormat 对象的格式化选项。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -331,25 +352,25 @@ resolvedOptions(): NumberOptions | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| locale | string | 是 | 否 | 区域参数, 如:"zh-Hans-CN"。 | -| currency | string | 是 | 是 | 货币单位, 如:"EUR","CNY","USD"等。 | -| currencySign | string | 是 | 是 | 货币单位的符号显示,取值包括: "symbol","narrowSymbol","code","name" 。 | -| currencyDisplay | string | 是 | 是 | 货币的显示方式,取值包括:"symbol", "narrowSymbol", "code", "name"。 | -| unit | string | 是 | 是 | 单位名称,如:"meter","inch",“hectare”等。 | -| unitDisplay | string | 是 | 是 | 单位的显示格式,取值包括:"long", "short", "medium"。 | -| unitUsage | string | 是 | 是 | 单位的使用场景,取值包括:"default", "area-land-agricult", "area-land-commercl", "area-land-residntl", "length-person", "length-person-small", "length-rainfall", "length-road", "length-road-small", "length-snowfall", "length-vehicle", "length-visiblty", "length-visiblty-small", "length-person-informal", "length-person-small-informal", "length-road-informal", "speed-road-travel", "speed-wind", "temperature-person", "temperature-weather", "volume-vehicle-fuel"。 | -| signDisplay | string | 是 | 是 | 数字符号的显示格式,取值包括:"auto", "never", "always", "expectZero"。 | -| compactDisplay | string | 是 | 是 | 紧凑型的显示格式,取值包括:"long", "short"。 | -| notation | string | 是 | 是 | 数字的格式化规格,取值包括:"standard", "scientific", "engineering", "compact"。 | -| localeMatcher | string | 是 | 是 | 要使用的区域匹配算法,取值包括:"lookup", "best fit"。 | -| style | string | 是 | 是 | 数字的显示格式,取值包括:"decimal", "currency", "percent", "unit"。 | -| numberingSystem | string | 是 | 是 | 数字系统,取值包括:"adlm", "ahom", "arab", "arabext", "bali", "beng", "bhks", "brah", "cakm", "cham", "deva", "diak", "fullwide", "gong", "gonm", "gujr", "guru", "hanidec", "hmng", "hmnp", "java", "kali", "khmr", "knda", "lana", "lanatham", "laoo", "latn", "lepc", "limb", "mathbold", "mathdbl", "mathmono", "mathsanb", "mathsans", "mlym", "modi", "mong", "mroo", "mtei", "mymr", "mymrshan", "mymrtlng", "newa", "nkoo", "olck", "orya", "osma", "rohg", "saur", "segment", "shrd", "sind", "sinh", "sora", "sund", "takr", "talu", "tamldec", "telu", "thai", "tibt", "tirh", "vaii", "wara", "wcho"。 | -| useGrouping | boolean | 是 | 是 | 是否分组显示。 | -| miniumumIntegerDigits | number | 是 | 是 | 表示要使用的最小整数位数,取值范围:1~21。 | -| miniumumFractionDigits | number | 是 | 是 | 表示要使用的最小分数位数,取值范围:0~20。 | -| maxiumumFractionDigits | number | 是 | 是 | 表示要使用的最大分数位数,取值范围:1~21。 | -| miniumumSignificantDigits | number | 是 | 是 | 表示要使用的最低有效位数,取值范围:1~21。 | -| maxiumumSignificantDigits | number | 是 | 是 | 表示要使用的最大有效位数,取值范围:1~21。 | +| locale | string | 是 | 否 | 区域参数, 如:"zh-Hans-CN"。
**系统能力**:SystemCapability.Global.I18n | +| currency | string | 是 | 是 | 货币单位, 如:"EUR","CNY","USD"等。
**系统能力**:SystemCapability.Global.I18n | +| currencySign | string | 是 | 是 | 货币单位的符号显示,取值包括: "symbol","narrowSymbol","code","name" 。
**系统能力**:SystemCapability.Global.I18n | +| currencyDisplay | string | 是 | 是 | 货币的显示方式,取值包括:"symbol", "narrowSymbol", "code", "name"。
**系统能力**:SystemCapability.Global.I18n | +| unit | string | 是 | 是 | 单位名称,如:"meter","inch",“hectare”等。
**系统能力**:SystemCapability.Global.I18n | +| unitDisplay | string | 是 | 是 | 单位的显示格式,取值包括:"long", "short", "medium"。
**系统能力**:SystemCapability.Global.I18n | +| unitUsage | string | 是 | 是 | 单位的使用场景,取值包括:"default", "area-land-agricult", "area-land-commercl", "area-land-residntl", "length-person", "length-person-small", "length-rainfall", "length-road", "length-road-small", "length-snowfall", "length-vehicle", "length-visiblty", "length-visiblty-small", "length-person-informal", "length-person-small-informal", "length-road-informal", "speed-road-travel", "speed-wind", "temperature-person", "temperature-weather", "volume-vehicle-fuel"。
**系统能力**:SystemCapability.Global.I18n | +| signDisplay | string | 是 | 是 | 数字符号的显示格式,取值包括:"auto", "never", "always", "expectZero"。
**系统能力**:SystemCapability.Global.I18n | +| compactDisplay | string | 是 | 是 | 紧凑型的显示格式,取值包括:"long", "short"。
**系统能力**:SystemCapability.Global.I18n | +| notation | string | 是 | 是 | 数字的格式化规格,取值包括:"standard", "scientific", "engineering", "compact"。
**系统能力**:SystemCapability.Global.I18n | +| localeMatcher | string | 是 | 是 | 要使用的区域匹配算法,取值包括:"lookup", "best fit"。
**系统能力**:SystemCapability.Global.I18n | +| style | string | 是 | 是 | 数字的显示格式,取值包括:"decimal", "currency", "percent", "unit"。
**系统能力**:SystemCapability.Global.I18n | +| numberingSystem | string | 是 | 是 | 数字系统,取值包括:"adlm", "ahom", "arab", "arabext", "bali", "beng", "bhks", "brah", "cakm", "cham", "deva", "diak", "fullwide", "gong", "gonm", "gujr", "guru", "hanidec", "hmng", "hmnp", "java", "kali", "khmr", "knda", "lana", "lanatham", "laoo", "latn", "lepc", "limb", "mathbold", "mathdbl", "mathmono", "mathsanb", "mathsans", "mlym", "modi", "mong", "mroo", "mtei", "mymr", "mymrshan", "mymrtlng", "newa", "nkoo", "olck", "orya", "osma", "rohg", "saur", "segment", "shrd", "sind", "sinh", "sora", "sund", "takr", "talu", "tamldec", "telu", "thai", "tibt", "tirh", "vaii", "wara", "wcho"。
**系统能力**:SystemCapability.Global.I18n | +| useGrouping | boolean | 是 | 是 | 是否分组显示。
**系统能力**:SystemCapability.Global.I18n | +| miniumumIntegerDigits | number | 是 | 是 | 表示要使用的最小整数位数,取值范围:1~21。
**系统能力**:SystemCapability.Global.I18n | +| miniumumFractionDigits | number | 是 | 是 | 表示要使用的最小分数位数,取值范围:0~20。
**系统能力**:SystemCapability.Global.I18n | +| maxiumumFractionDigits | number | 是 | 是 | 表示要使用的最大分数位数,取值范围:1~21。
**系统能力**:SystemCapability.Global.I18n | +| miniumumSignificantDigits | number | 是 | 是 | 表示要使用的最低有效位数,取值范围:1~21。
**系统能力**:SystemCapability.Global.I18n | +| maxiumumSignificantDigits | number | 是 | 是 | 表示要使用的最大有效位数,取值范围:1~21。
**系统能力**:SystemCapability.Global.I18n | ## Collator8+ @@ -361,6 +382,8 @@ constructor() 创建排序对象。 +**系统能力**:SystemCapability.Global.I18n + - 示例: ``` var collator = new Intl.Collator(); @@ -373,6 +396,8 @@ constructor(locale: string | Array<string>, options?: CollatorOptions) 创建排序对象。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | @@ -392,6 +417,8 @@ compare(first: string, second: string): number 依据Collator的排序策略对两个字符串进行比较。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -416,6 +443,8 @@ resolvedOptions(): CollatorOptions 返回Collator对象的属性。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -434,13 +463,13 @@ resolvedOptions(): CollatorOptions | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| localeMatcher | string | 是 | 是 | locale匹配算法,取值范围:"best fit", "lookup"。 | -| usage | string | 是 | 是 | 比较的用途,取值范围:"sort", "search"。 | -| sensitivity | string | 是 | 是 | 表示字符串中的哪些差异会导致非零结果值,取值范围:"base", "accent", "case", "variant"。 | -| ignorePunctuation | boolean | 是 | 是 | 表示是否忽略标点符号,取值范围:true, false。 | -| collation | string | 是 | 是 | 排序规则,取值范围:"big5han", "compat", "dict", "direct", "ducet", "eor", "gb2312", "phonebk", "phonetic", "pinyin", "reformed", "searchjl", "stroke", "trad", "unihan", "zhuyin"。 | -| numeric | boolean | 是 | 是 | 是否使用数字排序,取值范围:true, false。 | -| caseFirst | string | 是 | 是 | 表示大写、小写的排序顺序,取值范围:"upper", "lower", "false"。 | +| localeMatcher | string | 是 | 是 | locale匹配算法,取值范围:"best fit", "lookup"。
**系统能力**:SystemCapability.Global.I18n | +| usage | string | 是 | 是 | 比较的用途,取值范围:"sort", "search"。
**系统能力**:SystemCapability.Global.I18n | +| sensitivity | string | 是 | 是 | 表示字符串中的哪些差异会导致非零结果值,取值范围:"base", "accent", "case", "variant"。
**系统能力**:SystemCapability.Global.I18n | +| ignorePunctuation | boolean | 是 | 是 | 表示是否忽略标点符号,取值范围:true, false。
**系统能力**:SystemCapability.Global.I18n | +| collation | string | 是 | 是 | 排序规则,取值范围:"big5han", "compat", "dict", "direct", "ducet", "eor", "gb2312", "phonebk", "phonetic", "pinyin", "reformed", "searchjl", "stroke", "trad", "unihan", "zhuyin"。
**系统能力**:SystemCapability.Global.I18n | +| numeric | boolean | 是 | 是 | 是否使用数字排序,取值范围:true, false。
**系统能力**:SystemCapability.Global.I18n | +| caseFirst | string | 是 | 是 | 表示大写、小写的排序顺序,取值范围:"upper", "lower", "false"。
**系统能力**:SystemCapability.Global.I18n | ## PluralRules8+ @@ -452,6 +481,8 @@ constructor() 创建PluralRules对象。 +**系统能力**:SystemCapability.Global.I18n + - 示例: ``` var pluralRules = new Intl.PluralRules(); @@ -464,6 +495,8 @@ constructor(locale: string | Array<string>, options?: PluralRulesOptions) 创建PluralRules对象。 +**系统能力**:SystemCapability.Global.I18n + 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -482,6 +515,8 @@ select(n: number): string 返回一个字符串表示该数字的单复数类别。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -505,13 +540,13 @@ select(n: number): string | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| localeMatcher | string | 是 | 是 | locale匹配算法,取值包括:"best fit", "lookup"。 | -| type | string | 是 | 是 | 排序的类型,取值包括:"cardinal", "ordinal"。 | -| minimumIntegerDigits | number | 是 | 是 | 表示要使用的最小整数位数,取值范围:1~21。 | -| minimumFractionDigits | number | 是 | 是 | 表示要使用的最小分数位数,取值范围:0~20。 | -| maximumFractionDigits | number | 是 | 是 | 表示要使用的最大分数位数,取值范围:1~21。 | -| minimumSignificantDigits | number | 是 | 是 | 表示要使用的最低有效位数,取值范围:1~21。 | -| maximumSignificantDigits | number | 是 | 是 | 表示要使用的最大有效位数,取值范围:1~21。 | +| localeMatcher | string | 是 | 是 | locale匹配算法,取值包括:"best fit", "lookup"。
**系统能力**:SystemCapability.Global.I18n | +| type | string | 是 | 是 | 排序的类型,取值包括:"cardinal", "ordinal"。
**系统能力**:SystemCapability.Global.I18n | +| minimumIntegerDigits | number | 是 | 是 | 表示要使用的最小整数位数,取值范围:1~21。
**系统能力**:SystemCapability.Global.I18n | +| minimumFractionDigits | number | 是 | 是 | 表示要使用的最小分数位数,取值范围:0~20。
**系统能力**:SystemCapability.Global.I18n | +| maximumFractionDigits | number | 是 | 是 | 表示要使用的最大分数位数,取值范围:1~21。
**系统能力**:SystemCapability.Global.I18n | +| minimumSignificantDigits | number | 是 | 是 | 表示要使用的最低有效位数,取值范围:1~21。
**系统能力**:SystemCapability.Global.I18n | +| maximumSignificantDigits | number | 是 | 是 | 表示要使用的最大有效位数,取值范围:1~21。
**系统能力**:SystemCapability.Global.I18n | ## RelativeTimeFormat8+ @@ -523,6 +558,8 @@ constructor() 创建相对时间格式化对象。 +**系统能力**:SystemCapability.Global.I18n + - 示例: ``` var relativetimefmt = new Intl.RelativeTimeFormat(); @@ -535,6 +572,8 @@ constructor(locale: string | Array<string>, options?: RelativeTimeFormatIn 创建相对时间格式化对象。 +**系统能力**:SystemCapability.Global.I18n + 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -553,6 +592,8 @@ format(value: numeric, unit: string): string 依据locale和格式化选项,对value和unit进行格式化。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -577,6 +618,8 @@ formatToParts(value: numeric, unit: string): Array<Object> 返回一个对象数组,表示可用于自定义区域设置格式的相对时间格式。 +**系统能力**:SystemCapability.Global.I18n + - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -601,6 +644,8 @@ resolvedOptions(): RelativeTimeFormatResolvedOptions 获取RelativeTimeFormat对象的格式化选项。 +**系统能力**:SystemCapability.Global.I18n + - 返回值: | 类型 | 说明 | | -------- | -------- | @@ -619,9 +664,9 @@ resolvedOptions(): RelativeTimeFormatResolvedOptions | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| localeMatcher | string | 是 | 是 | locale匹配算法,取值包括:"best fit", "lookup"。 | -| numeric | string | 是 | 是 | 输出消息的格式,取值包括:"always", "auto"。 | -| style | string | 是 | 是 | 国际化消息的长度,取值包括:"long", "short", "narrow"。 | +| localeMatcher | string | 是 | 是 | locale匹配算法,取值包括:"best fit", "lookup"。
**系统能力**:SystemCapability.Global.I18n | +| numeric | string | 是 | 是 | 输出消息的格式,取值包括:"always", "auto"。
**系统能力**:SystemCapability.Global.I18n | +| style | string | 是 | 是 | 国际化消息的长度,取值包括:"long", "short", "narrow"。
**系统能力**:SystemCapability.Global.I18n | ## RelativeTimeFormatResolvedOptions8+ @@ -630,7 +675,7 @@ resolvedOptions(): RelativeTimeFormatResolvedOptions | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| locale | string | 是 | 是 | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 | -| numeric | string | 是 | 是 | 输出消息的格式,取值包括:"always", "auto"。 | -| style | string | 是 | 是 | 国际化消息的长度,取值包括:"long", "short", "narrow"。 | -| numberingSystem | string | 是 | 是 | 使用的数字系统。 | +| locale | string | 是 | 是 | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。
**系统能力**:SystemCapability.Global.I18n | +| numeric | string | 是 | 是 | 输出消息的格式,取值包括:"always", "auto"。
**系统能力**:SystemCapability.Global.I18n | +| style | string | 是 | 是 | 国际化消息的长度,取值包括:"long", "short", "narrow"。
**系统能力**:SystemCapability.Global.I18n | +| numberingSystem | string | 是 | 是 | 使用的数字系统。
**系统能力**:SystemCapability.Global.I18n | diff --git a/zh-cn/application-dev/reference/apis/js-apis-lightweightmap.md b/zh-cn/application-dev/reference/apis/js-apis-lightweightmap.md index 41ed19c45881640c672680b15539b8a077b0f9e6..8c8601d225c33bf5b768714c37ef4f355bf4f421 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-lightweightmap.md +++ b/zh-cn/application-dev/reference/apis/js-apis-lightweightmap.md @@ -53,7 +53,7 @@ isEmpty(): boolean ``` const lightWeightMap = new LightWeightMap(); -lightWeightMap.isEmpty(); +let result = lightWeightMap.isEmpty(); ``` @@ -97,21 +97,22 @@ hasKey(key: K): boolean; | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | K | 是 | 指定元素。 | +| key | K | 是 | 指定key。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 包含指定元素返回true,否则返回false。 | +| boolean | 包含指定key返回true,否则返回false。 | **示例:** ``` let lightWeightMap = new LightWeightMap(); +let result = lightWeightMap.hasKey; lightWeightMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); -lightWeightMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result1 = lightWeightMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ``` @@ -137,9 +138,9 @@ hasValue(value: V): boolean ``` let lightWeightMap = new LightWeightMap(); -lightWeightMap.hasValue(123); +let result = lightWeightMap.hasValue(123); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); -lightWeightMap.hasValue(123); +let result1 = lightWeightMap.hasValue(123); ``` @@ -187,7 +188,7 @@ get(key: K): V let lightWeightMap = new LightWeightMap(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); lightWeightMap.set("sdfs", 356); -lightWeightMap.get("sdfs"); +let result = lightWeightMap.get("sdfs"); ``` @@ -215,7 +216,7 @@ getIndexOfKey(key: K): number let lightWeightMap = new LightWeightMap(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); lightWeightMap.set("sdfs", 356); -lightWeightMap.getIndexOfKey("sdfs"); +let result = lightWeightMap.getIndexOfKey("sdfs"); ``` @@ -243,7 +244,7 @@ getIndexOfValue(value: V): number let lightWeightMap = new LightWeightMap(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); lightWeightMap.set("sdfs", 356); -lightWeightMap.getIndexOfValue(123); +let result = lightWeightMap.getIndexOfValue(123); ``` @@ -271,7 +272,7 @@ getKeyAt(index: number): K let lightWeightMap = new LightWeightMap(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); lightWeightMap.set("sdfs", 356); -lightWeightMap.getKeyAt(1); +let result = lightWeightMap.getKeyAt(1); ``` @@ -279,13 +280,13 @@ lightWeightMap.getKeyAt(1); setAll(map: LightWeightMap): void -将一个LightWeightMap中的所有元素组添加到另一个LightWeightMap中。 +将一个LightWeightMap中的所有元素组添加到另一个lightWeightMap中。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| map | LightWeightMap | 是 | 被添加元素的LightWeightMap。 | +| map | LightWeightMap | 是 | 被添加元素的lightWeightMap。 | **示例:** @@ -314,13 +315,13 @@ set(key: K, value: V): Object | 类型 | 说明 | | -------- | -------- | -| Object | 返回添加数据后的LightWeightMap。 | +| Object | 返回添加数据后的lightWeightMap。 | **示例:** ``` let lightWeightMap = new LightWeightMap(); -lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); +let result = lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ``` @@ -328,13 +329,13 @@ lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); remove(key: K): V -删除指定的元素。 +删除并返回指定key映射的元素。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | K | 是 | 依据key指定删除的元素。 | +| key | K | 是 | 指定key。 | **返回值:** @@ -356,13 +357,13 @@ lightWeightMap.remove("sdfs"); removeAt(index: number): boolean -删除指定下标的元素。 +删除指定下标对应的元素。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| index | number | 是 | 指定想要删除元素下标 | +| index | number | 是 | 指定下标。 | **返回值:** @@ -376,7 +377,7 @@ removeAt(index: number): boolean let lightWeightMap = new LightWeightMap(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); lightWeightMap.set("sdfs", 356); -lightWeightMap.removeAt(1); +let result = lightWeightMap.removeAt(1); ``` @@ -384,13 +385,13 @@ lightWeightMap.removeAt(1); setValueAt(index: number, newValue: V): boolean -向LightWeightMap中具体位置替换键值对中的值。 +替换指定下标对应键值对中的元素。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| index | number | 是 | 指定替换数据下标。 | +| index | number | 是 | 指定下标。 | | newValue | V | 是 | 替换键值对中的值。 | **返回值:** @@ -413,19 +414,19 @@ lightWeightMap.setValueAt(1, 3546); getValueAt(index: number): V -获取LightWeightMap中具体位置键值对中的值。 +获取指定下标对应键值对中的元素。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| index | number | 是 | 指定查询数据下标 | +| index | number | 是 | 指定下标。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| V | 返回指定位置中键值对的值。 | +| V | 返回指定下标对应键值对中的元素。 | **示例:** @@ -433,7 +434,7 @@ getValueAt(index: number): V let lightWeightMap = new LightWeightMap(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); lightWeightMap.set("sdfs", 356); -lightWeightMap.getValueAt(1); +let result = lightWeightMap.getValueAt(1); ``` @@ -509,7 +510,7 @@ while(temp != undefined) { ### forEach -forEach(callbackfn: (value: V, key?: K, lightWeightMap?: LightWeightMap) => void, thisArg?: Object): void +forEach(callbackfn: (value: V, key?: K, map?: LightWeightMap) => void, thisArg?: Object): void 通过回调函数来遍历实例对象上的元素以及元素对应的下标。 @@ -525,7 +526,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | V | 是 | 当前遍历到的元素键值对的值。 | | key | K | 是 | 当前遍历到的元素键值对的键。 | -| lightWeightMap | LightWeightMap | 否 | 当前调用forEach方法的实例对象。 | +| map | LightWeightMap | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -543,7 +544,7 @@ lightWeightMap.forEach((value, key) => { entries(): IterableIterator<[K, V]> -返回包含此映射中包含的元素的新迭代器对象。 +返回包含此映射中包含的键值对的新迭代器对象。 **返回值:** @@ -566,6 +567,26 @@ while(temp != undefined) { } ``` +### toString + +toString(): string + +将此映射中包含的键值对拼接成字符串,并返回字符串类型。 + +**返回值:** + + | 类型 | 说明 | + | -------- | -------- | + | string | 返回一个字符串。 | + +**示例:** + + ``` + let lightWeightMap = new LightWeightMap(); + lightWeightMap.set("A", 123); + lightWeightMap.set("sdfs", 356); + let iter = lightWeightMap.toString(); + ``` ### [Symbol.iterator] diff --git a/zh-cn/application-dev/reference/apis/js-apis-lightweightset.md b/zh-cn/application-dev/reference/apis/js-apis-lightweightset.md index c88e9d4762280db8e5478738f509d84d0e4d04dc..2780befaf7d6a95e9ad30924d514354eee48af64 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-lightweightset.md +++ b/zh-cn/application-dev/reference/apis/js-apis-lightweightset.md @@ -53,12 +53,12 @@ isEmpty(): boolean ``` const lightWeightSet = new LightWeightSet(); -lightWeightSet.isEmpty(); +let result = lightWeightSet.isEmpty(); ``` ### add -add(value: T): boolean +add(obj: T): boolean 向此容器中添加数据。 @@ -66,7 +66,7 @@ add(value: T): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| value | T | 是 | 添加的成员数据。 | +| obj | T | 是 | 添加的成员数据。 | **返回值:** @@ -78,7 +78,7 @@ add(value: T): boolean ``` let lightWeightSet = new LightWeightSet(); -lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result = lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ``` @@ -92,7 +92,7 @@ addAll(set: LightWeightSet<T>): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| set | LightWeightSet<T> | 是 | 提供添加元素的LightWeightSet。 | +| set | LightWeightSet<T> | 是 | 提供添加元素的lightWeightSet。 | **示例:** @@ -102,7 +102,7 @@ lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs"); let set = new LightWeightSet(); set.add("sfage"); -lightWeightSet.addAll(set); +let result = lightWeightSet.addAll(set); ``` @@ -138,29 +138,29 @@ let result = lightWeightSet.hasAll(set); ### has -has(value: T): boolean; +has(key: T): boolean -判断此容器中是否含有该指定value。 +判断此容器中是否含有该指定key。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| value | T | 是 | 指定元素 | +| value | T | 是 | 指定key | **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 包含指定元素返回true,否则返回false。 | +| boolean | 包含指定key返回true,否则返回false。 | **示例:** ``` let lightWeightSet = new LightWeightSet(); -lightWeightSet.has(123); +let result = lightWeightSet.has(123); lightWeightSet.add(123); -lightWeightSet.has(123); +let result = lightWeightSet.has(123); ``` @@ -195,7 +195,7 @@ let result = lightWeightSet.equal(obj); ### ensureCapacityTo -ensureCapacityTo(minimumCapacity: number): void +increaseCapacityTo(minimumCapacity: number): void 将当前容器扩容至可以容纳指定数量元素。 @@ -229,7 +229,7 @@ getIndexOf(key: T): number | 类型 | 说明 | | -------- | -------- | -| number | 在LightWeightSet中指定数据的下标。 | +| number | 在lightWeightSet中指定数据的下标。 | **示例:** @@ -237,7 +237,7 @@ getIndexOf(key: T): number let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs"); -lightWeightSet.getIndexOf("sdfs"); +let result = lightWeightSet.getIndexOf("sdfs"); ``` @@ -245,13 +245,13 @@ lightWeightSet.getIndexOf("sdfs"); remove(key: T): T -删除指定的元素。 +删除并返回指定key对应的元素。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | T | 是 | 依据key指定删除的元素。 | +| key | T | 是 | 指定key。 | **返回值:** @@ -265,7 +265,7 @@ remove(key: T): T let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs"); -lightWeightSet.remove("sdfs"); +let result = lightWeightSet.remove("sdfs"); ``` @@ -273,13 +273,13 @@ lightWeightSet.remove("sdfs"); removeAt(index: number): boolean -删除指定下标的元素。 +删除指定下标所对应的元素。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| index | number | 是 | 指定想要删除元素下标。 | +| index | number | 是 | 指定下标。 | **返回值:** @@ -293,7 +293,7 @@ removeAt(index: number): boolean let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs"); -lightWeightSet.removeAt(1); +let result = lightWeightSet.removeAt(1); ``` @@ -301,19 +301,19 @@ lightWeightSet.removeAt(1); getValueAt(index: number): T -获取此容器中具体位置的元素。 +获取此容器中指定下标对应的元素。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| index | number | 是 | 指定查询数据下标。 | +| index | number | 是 | 指定下标。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| T | 返回指定位置中元素。 | +| T | 返回指定下标对应的元素。 | **参数:** @@ -321,7 +321,7 @@ getValueAt(index: number): T let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs"); -lightWeightSet.getValueAt(1); +let result = lightWeightSet.getValueAt(1); ``` @@ -359,7 +359,7 @@ toString(): String let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs"); -lightWeightSet.toString(); +let result = lightWeightSet.toString(); ``` @@ -381,7 +381,7 @@ toArray(): Array<T> let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs"); -lightWeightSet.toString(); +let result = lightWeightSet.toArray(); ``` @@ -389,7 +389,7 @@ lightWeightSet.toString(); values(): IterableIterator<T> -返回包含此映射中包含的键的新迭代器对象。 +返回包含此映射中包含的键值的新迭代器对象。 **返回值:** @@ -414,7 +414,7 @@ while(index < lightWeightSet.length) { ### forEach -forEach(callbackfn: (value: T, key?: T, lightWeightSet?: LightWeightSet<T>) => void, thisArg?: Object): void +forEach(callbackfn: (value: T, key?: T, set?: LightWeightSet<T>) => void, thisArg?: Object): void 通过回调函数来遍历LightWeightSet实例对象上的元素以及元素对应的下标。 @@ -430,7 +430,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | T | 是 | 当前遍历到的元素。 | | key | T | 否 | 当前遍历到的元素(和value相同)。 | -| lightWeightSet | LightWeightSet<T> | 否 | 当前调用forEach方法的实例对象。 | +| set | LightWeightSet<T> | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -448,7 +448,7 @@ lightWeightSet.forEach((value, key) => { entries(): IterableIterator<[T, T]> -返回包含此映射中包含的键的新迭代器对象。 +返回包含此映射中包含的键值对的新迭代器对象。 **返回值:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-linkedlist.md b/zh-cn/application-dev/reference/apis/js-apis-linkedlist.md index 24a6202ab65dd2699a1cd533cd62606a145d4fe8..93785e13e76db9a1493236935188edeba4083d76 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-linkedlist.md +++ b/zh-cn/application-dev/reference/apis/js-apis-linkedlist.md @@ -27,7 +27,7 @@ SystemCapability.Utils.Lang ### constructor -constructor(_head?: NodeObj<T>, _tail?: NodeObj<T>) +constructor(head?: NodeObj<T>, tail?: NodeObj<T>) LinkedList的构造函数。 @@ -35,8 +35,8 @@ LinkedList的构造函数。 | 参数名 | 类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| _head | NodeObj<T> | 是 | 否 | 节点对象,含有element、next指向和prev指向。 | -| _tail | NodeObj<T> | 是 | 否 | 节点对象,含有element、next指向和prev指向。 | +| head | NodeObj<T> | 是 | 否 | 节点对象,含有element、next指向和prev指向。 | +| tail | NodeObj<T> | 是 | 否 | 节点对象,含有element、next指向和prev指向。 | **示例:** @@ -67,12 +67,12 @@ add(element: T): boolean ``` let linkedList = new LinkedList(); -linkedList.add("a"); -linkedList.add(1); +let result = linkedList.add("a"); +let result = linkedList.add(1); let b = [1, 2, 3]; linkedList.add(b); let c = {name : "lala", age : "13"}; -linkedList.add(false); +let result3 = linkedList.add(false); ``` ### addFirst @@ -101,7 +101,7 @@ linkedList.addFirst(false); ### insert -insert(element: T, index: number): void +insert(index: number, element: T): void 在长度范围内任意插入指定元素。 @@ -116,9 +116,9 @@ insert(element: T, index: number): void ``` let linkedList = new LinkedList(); -linkedList.insert("A", 0); -linkedList.insert(0, 1); -linkedList.insert(true, 2); +linkedList.insert(0, "A"); +linkedList.insert(1, 0); +linkedList.insert(2, true); ``` ### has @@ -143,9 +143,9 @@ has(element: T): boolean ``` let linkedList = new LinkedList(); -linkedList.has("Ahfbrgrbgnutfodgorrogorg"); +let result1 = linkedList.has("Ahfbrgrbgnutfodgorrogorg"); linkedList.add("Ahfbrgrbgnutfodgorrogorg"); -linkedList.has("Ahfbrgrbgnutfodgorrogorg"); +let result = linkedList.has("Ahfbrgrbgnutfodgorrogorg"); ``` ### get @@ -177,7 +177,7 @@ linkedList.add(2); linkedList.add(1); linkedList.add(2); linkedList.add(4); -linkedList.get(2); +let result = linkedList.get(2); ``` ### getLastIndexOf @@ -209,7 +209,7 @@ linkedList.add(2); linkedList.add(1); linkedList.add(2); linkedList.add(4); -linkedList.getLastIndexOf(2); +let result = linkedList.getLastIndexOf(2); ``` ### getIndexOf @@ -241,7 +241,7 @@ linkedList.add(2); linkedList.add(1); linkedList.add(2); linkedList.add(4); -linkedList.getIndexOf(2); +let result = linkedList.getIndexOf(2); ``` ### removeByIndex @@ -271,7 +271,7 @@ linkedList.add(4); linkedList.add(5); linkedList.add(2); linkedList.add(4); -linkedList.removeByIndex(2); +let result = linkedList.removeByIndex(2); ``` ### removeFirst @@ -295,7 +295,7 @@ linkedList.add(4); linkedList.add(5); linkedList.add(2); linkedList.add(4); -linkedList.removeFirst(); +let result = linkedList.removeFirst(); ``` ### removeLast @@ -319,14 +319,14 @@ linkedList.add(4); linkedList.add(5); linkedList.add(2); linkedList.add(4); -linkedList.removeLast(); +let result = linkedList.removeLast(); ``` ### remove remove(element: T): boolean -删除指定的元素。 +删除查找到的第一个指定的元素。 **参数:** @@ -348,7 +348,7 @@ linkedList.add(2); linkedList.add(4); linkedList.add(5); linkedList.add(4); -linkedList.remove(2); +let result = linkedList.remove(2); ``` ### removeFirstFound @@ -377,7 +377,7 @@ linkedList.add(2); linkedList.add(4); linkedList.add(5); linkedList.add(4); -linkedList.removeFirstFound(4); +let result = linkedList.removeFirstFound(4); ``` ### removeLastFound @@ -406,7 +406,7 @@ linkedList.add(2); linkedList.add(4); linkedList.add(5); linkedList.add(4); -linkedList.removeLastFound(4); +let result = linkedList.removeLastFound(4); ``` ### clone @@ -430,11 +430,11 @@ linkedList.add(2); linkedList.add(4); linkedList.add(5); linkedList.add(4); -linkedList.clone(); +let result = linkedList.clone(); ``` ### forEach -forEach(callbackfn: (value: T, index?: number, linkedlist?: LinkedList<T>) => void, +forEach(callbackfn: (value: T, index?: number, LinkedList?: LinkedList<T>) => void, thisArg?: Object): void 通过回调函数来遍历LinkedList实例对象上的元素以及元素对应的下标。 @@ -452,7 +452,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | T | 是 | 当前遍历到的元素。 | | index | number | 否 | 当前遍历到的下标值。 | -| linkedlist | LinkedList<T> | 否 | 当前调用forEach方法的实例对象。 | +| LinkedList | LinkedList<T> | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -484,8 +484,7 @@ linkedList.clear(); ``` ### set -set(index: number, element: T): void - +set(index: number, element: T): T 将此LinkedList中指定位置的元素替换为指定元素。 **参数:** @@ -495,6 +494,12 @@ set(index: number, element: T): void | index | number | 是 | 查找的下标值。 | | element | T | 是 | 用来替换的元素。 | +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| T | 返回替换后的元素。 | + **示例:** ``` @@ -503,7 +508,7 @@ linkedList.add(2); linkedList.add(4); linkedList.add(5); linkedList.add(4); -linkedList.set(2, "b"); +let result = linkedList.set(2, "b"); ``` ### convertToArray @@ -524,7 +529,7 @@ linkedList.add(2); linkedList.add(4); linkedList.add(5); linkedList.add(4); -linkedList.convertToArray(); +let result = linkedList.convertToArray(); ``` ### getFirst @@ -547,7 +552,7 @@ linkedList.add(2); linkedList.add(4); linkedList.add(5); linkedList.add(4); -linkedList.getFirst(); +let result = linkedList.getFirst(); ``` ### getLast diff --git a/zh-cn/application-dev/reference/apis/js-apis-list.md b/zh-cn/application-dev/reference/apis/js-apis-list.md index 4c832c5776dbdbe9f2f318600be1dec3404d0a7c..f8d0856f180ab2094985018341821a6585633786 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-list.md +++ b/zh-cn/application-dev/reference/apis/js-apis-list.md @@ -27,7 +27,7 @@ SystemCapability.Utils.Lang ### constructor -constructor(_head?: NodeObj<T>) +constructor(head?: NodeObj<T>) List的构造函数。 @@ -35,7 +35,7 @@ List的构造函数。 | 参数名 | 类型 | 可读 | 说明 | | -------- | -------- | -------- | -------- | -| _head | NodeObj<T> | 是 | 节点对象,含有element、next指向。 | +| head | NodeObj<T> | 是 | 节点对象,含有element、next指向。 | **示例:** @@ -66,12 +66,12 @@ add(element: T): boolean ``` let list = new List; -list.add("a"); -list.add(1); +let result = list.add("a"); +let result1 = list.add(1); let b = [1, 2, 3]; list.add(b); let c = {name : "lala", age : "13"}; -list.add(false); +let result3 = list.add(false); ``` ### insert @@ -118,9 +118,9 @@ has(element: T): boolean ``` let list = new List(); -list.has("Ahfbrgrbgnutfodgorrogorg"); +let result = list.has("Ahfbrgrbgnutfodgorrogorg"); list.add("Ahfbrgrbgnutfodgorrogorg"); -list.has("Ahfbrgrbgnutfodgorrogorg"); +let result1 = list.has("Ahfbrgrbgnutfodgorrogorg"); ``` ### get @@ -152,7 +152,7 @@ list.add(2); list.add(1); list.add(2); list.add(4); -list.get(2); +let result = list.get(2); ``` ### getLastIndexOf @@ -184,7 +184,7 @@ list.add(2); list.add(1); list.add(2); list.add(4); -list.getLastIndexOf(2); +let result = list.getLastIndexOf(2); ``` ### getIndexOf @@ -203,7 +203,7 @@ getIndexOf(element: T): number | 类型 | 说明 | | -------- | -------- | -| number | 返回第一次找到指定元素的下标,没有找到返回-1 | +| number | 返回第一次找到指定元素的下标,没有找到返回-1。 | **示例:** @@ -217,6 +217,7 @@ list.add(1); list.add(2); list.add(4); list.getIndexOf(2); +let result = list.getIndexOf(2); ``` ### equal @@ -251,7 +252,7 @@ obj1.add(4); obj1.add(5); list.equal(obj1); let obj2 = {name : "lala", age : "13"}; -list.equal(obj2); +let result = list.equal(obj2); ``` ### removeByIndex @@ -281,7 +282,7 @@ list.add(4); list.add(5); list.add(2); list.add(4); -list.removeByIndex(2); +let result = list.removeByIndex(2); ``` ### remove @@ -294,7 +295,7 @@ remove(element: T): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| element | T | 是 | 指定元素 | +| element | T | 是 | 指定元素。 | **返回值:** @@ -310,7 +311,7 @@ list.add(2); list.add(4); list.add(5); list.add(4); -list.remove(2); +let result = list.remove(2); ``` ### replaceAllElements @@ -332,7 +333,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | T | 是 | 当前遍历到的元素。 | | index | number | 否 | 当前遍历到的下标值。 | -| list | List<T> | 否 | 当前调用replaceAllElements方法的实例对象 | +| list | List<T> | 否 | 当前调用replaceAllElements方法的实例对象。 | **示例:** @@ -351,7 +352,7 @@ list.replaceAllElements((value, index) => { ``` ### forEach -forEach(callbackfn: (value: T, index?: number, list?: List<T>) => void, +forEach(callbackfn: (value: T, index?: number, List?: List<T>) => void, thisArg?: Object): void 通过回调函数来遍历List实例对象上的元素以及元素对应的下标。 @@ -360,8 +361,8 @@ thisArg?: Object): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| callbackfn | function | 是 | 回调函数 | -| thisArg | Object | 否 | callbackfn被调用时用作this值 | +| callbackfn | function | 是 | 回调函数。 | +| thisArg | Object | 否 | callbackfn被调用时用作this值。 | callbackfn的参数说明: @@ -369,7 +370,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | T | 是 | 当前遍历到的元素。 | | index | number | 否 | 当前遍历到的下标值。 | -| list | List<T> | 否 | 当前调用forEach方法的实例对象 | +| List | List<T> | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -431,7 +432,7 @@ getSubList(fromIndex: number, toIndex: number): List<T> | 类型 | 说明 | | -------- | -------- | -| List<T> | 返回List对象实例 | +| List<T> | 返回List对象实例。 | **示例:** @@ -441,9 +442,9 @@ list.add(2); list.add(4); list.add(5); list.add(4); -list.subList(2, 4); -list.subList(4, 3); -list.subList(2, 6); +let result = list.subList(2, 4); +let result1 = list.subList(4, 3); +let result2 = list.subList(2, 6); ``` ### clear @@ -463,7 +464,7 @@ list.clear(); ``` ### set -set(index: number, element: T): void +set(index: number, element: T): T 将此 List 中指定位置的元素替换为指定元素。 **参数:** @@ -473,6 +474,12 @@ set(index: number, element: T): void | index | number | 是 | 查找的下标值。 | | element | T | 是 | 用来替换的元素。 | +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| T | 返回替换后的元素 | + **示例:** ``` @@ -504,7 +511,7 @@ list.add(2); list.add(4); list.add(5); list.add(4); -list.convertToArray(); +let result = list.convertToArray(); ``` ### isEmpty @@ -526,7 +533,7 @@ list.add(2); list.add(4); list.add(5); list.add(4); -list.isEmpty(); +let result = list.isEmpty(); ``` ### getFirst @@ -549,7 +556,7 @@ list.add(2); list.add(4); list.add(5); list.add(4); -list.getFirst(); +let result = list.getFirst(); ``` ### getLast @@ -572,7 +579,7 @@ list.add(2); list.add(4); list.add(5); list.add(4); -list.getLast(); +let result = list.getLast(); ``` ### [Symbol.iterator] diff --git a/zh-cn/application-dev/reference/apis/js-apis-media.md b/zh-cn/application-dev/reference/apis/js-apis-media.md index 74a1d0b8f40b304115e2cf22f1de6520f76c4a9a..4ffe5de81d8edf6ae9ccf47fdc972fcd0d6d11b9 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-media.md +++ b/zh-cn/application-dev/reference/apis/js-apis-media.md @@ -34,64 +34,7 @@ createAudioPlayer(): [AudioPlayer](#audioplayer) **示例:** ```js -var audioPlayer = media.createAudioPlayer(); -``` - -## media.createAudioPlayerAsync8+ - -createAudioPlayerAsync(callback: AsyncCallback\<[AudioPlayer](#audioplayer)>): void - -异步方式创建音频播放实例。通过注册回调函数获取返回值。 - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------ | ---- | ------------------------------ | -| callback | AsyncCallback<[AudioPlayer](#audioplayer)> | 是 | 异步创建音频播放实例回调方法。 | - -**示例:** - -```js -media.createAudioPlayerAsync((error, audio) => { - if (typeof(audio) != 'undefined') { - audioPlayer = audio; - console.info('audio createAudioPlayerAsync success'); - } else { - console.info(`audio createAudioPlayerAsync fail, error:${error.message}`); - } -}); -``` - -## media.createAudioPlayerAsync8+ - -createAudioPlayerAsync: Promise<[AudioPlayer](#audioplayer)> - -异步方式创建音频播放实例。通过Promise获取返回值。 - -**返回值:** - -| 类型 | 说明 | -| ------------------------------------ | ----------------------------------- | -| Promise<[AudioPlayer](#audioplayer)> | 异步创建音频播放实例Promise返回值。 | - -**示例:** - -```js -function failureCallback(error) { - console.info(`audio failureCallback, error:${error.message}`); -} -function catchCallback(error) { - console.info(`audio catchCallback, error:${error.message}`); -} - -await media.createAudioPlayerAsync.then((audio) => { - if (typeof(audio) != 'undefined') { - audioPlayer = audio; - console.info('audio createAudioPlayerAsync success'); - } else { - console.info('audio createAudioPlayerAsync fail'); - } -}, failureCallback).catch(catchCallback); +let audioPlayer = media.createAudioPlayer(); ``` ## media.createVideoPlayer8+ @@ -109,6 +52,8 @@ createVideoPlayer(callback: AsyncCallback\<[VideoPlayer](#videoplayer8)>): void **示例:** ```js +let videoPlayer + media.createVideoPlayer((error, video) => { if (typeof(video) != 'undefined') { videoPlayer = video; @@ -134,6 +79,8 @@ createVideoPlayer: Promise<[VideoPlayer](#videoplayer8)> **示例:** ```js +let videoPlayer + function failureCallback(error) { console.info(`video failureCallback, error:${error.message}`); } @@ -169,66 +116,9 @@ createAudioRecorder(): AudioRecorder let audiorecorder = media.createAudioRecorder(); ``` -## media.createAudioRecorderAsync8+ +## media.createVideoRecorder8+ -createAudioRecorderAsync(callback: AsyncCallback\<[AudioRecorder](#audiorecorder)>): void - -异步方式创建音频录制实例。通过注册回调函数获取返回值。 - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ---------------------------------------------- | ---- | ------------------------------ | -| callback | AsyncCallback<[AudioRecorder](#audiorecorder)> | 是 | 异步创建音频录制实例回调方法。 | - -**示例:** - -```js -media.createAudioRecorderAsync((error, audio) => { - if (typeof(audio) != 'undefined') { - audioRecorder = audio; - console.info('audio createAudioRecorderAsync success'); - } else { - console.info(`audio createAudioRecorderAsync fail, error:${error.message}`); - } -}); -``` - -## media.createAudioRecorderAsync8+ - -createAudioRecorderAsync: Promise<[AudioRecorder](#audiorecorder)> - -异步方式创建音频录制实例。通过Promise获取返回值。 - -**返回值:** - -| 类型 | 说明 | -| ---------------------------------------- | ----------------------------------- | -| Promise<[AudioRecorder](#audiorecorder)> | 异步创建音频录制实例Promise返回值。 | - -**示例:** - -```js -function failureCallback(error) { - console.info(`audio failureCallback, error:${error.message}`); -} -function catchCallback(error) { - console.info(`audio catchCallback, error:${error.message}`); -} - -await media.createAudioRecorderAsync.then((audio) => { - if (typeof(audio) != 'undefined') { - audioRecorder = audio; - console.info('audio createAudioRecorderAsync success'); - } else { - console.info('audio createAudioRecorderAsync fail'); - } -}, failureCallback).catch(catchCallback); -``` - -## media.createVideoRecorderAsync8+ - -createVideoRecorderAsync(callback: AsyncCallback\<[VideoRecorder](#videorecorder8)>): void +createVideoRecorder(callback: AsyncCallback\<[VideoRecorder](#videorecorder8)>): void 异步方式创建视频录制实例。通过注册回调函数获取返回值。 @@ -241,19 +131,21 @@ createVideoRecorderAsync(callback: AsyncCallback\<[VideoRecorder](#videorecorder **示例:** ```js -media.createVideoRecorderAsync((error, video) => { +let videoRecorder + +media.createVideoRecorder((error, video) => { if (typeof(video) != 'undefined') { videoRecorder = video; - console.info('video createVideoRecorderAsync success'); + console.info('video createVideoRecorder success'); } else { - console.info(`video createVideoRecorderAsync fail, error:${error.message}`); + console.info(`video createVideoRecorder fail, error:${error.message}`); } }); ``` -## media.createVideoRecorderAsync8+ +## media.createVideoRecorder8+ -createVideoRecorderAsync: Promise<[VideoRecorder](#videorecorder8)> +createVideoRecorder: Promise<[VideoRecorder](#videorecorder8)> 异步方式创建视频录制实例。通过Promise获取返回值。 @@ -266,6 +158,8 @@ createVideoRecorderAsync: Promise<[VideoRecorder](#videorecorder8)> **示例:** ```js +let videoRecorder + function failureCallback(error) { console.info(`video failureCallback, error:${error.message}`); } @@ -273,12 +167,12 @@ function catchCallback(error) { console.info(`video catchCallback, error:${error.message}`); } -await media.createVideoRecorderAsync.then((video) => { +await media.createVideoRecorder.then((video) => { if (typeof(video) != 'undefined') { videoRecorder = video; - console.info('video createVideoRecorderAsync success'); + console.info('video createVideoRecorder success'); } else { - console.info('video createVideoRecorderAsync fail'); + console.info('video createVideoRecorder fail'); } }, failureCallback).catch(catchCallback); ``` @@ -362,7 +256,7 @@ Codec MIME类型枚举 | 名称 | 类型 | 可读 | 可写 | 说明 | | ----------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | -| src | string | 是 | 是 | 音频媒体URI,支持当前主流的音频格式(mp4、aac、mp3、ogg)。
**支持路径示例**:
1、本地绝对路径:file:///data/data/ohos.xxx.xxx/files/test.mp4
![zh-cn_image_0000001164217678](figures/zh-cn_image_0000001164217678.png)
2、http网络播放路径:开发中
3、hls网络播放路径:开发中
4、fd类型播放:开发中
**注意事项**:
媒体素材需至少赋予读权限后,才可正常播放 | +| src | string | 是 | 是 | 音频媒体URI,支持当前主流的音频格式(mp4、aac、mp3、ogg)。
**支持路径示例**:
1、fd类型播放:fd://xxx
![zh-cn_image_0000001164217678](figures/zh-cn_image_url.png)
2、http网络播放路径:开发中
3、hls网络播放路径:开发中
**注意事项**:
媒体素材需至少赋予读权限后,才可正常播放 | | loop | boolean | 是 | 是 | 音频循环播放属性,设置为'true'表示循环播放。 | | currentTime | number | 是 | 否 | 音频的当前播放位置。 | | duration | number | 是 | 否 | 音频时长。 | @@ -639,7 +533,19 @@ audioPlayer.on('error', (error) => { //设置'error'事件回调 console.info(`audio error called, errCode is ${error.code}`); console.info(`audio error called, errMessage is ${error.message}`); }); -audioPlayer.src = 'file:///data/data/ohos.xxx.xxx/files/test.mp4'; //设置src属性,并触发'dataLoad'事件回调 + +// 用户选择视频设置fd(本地播放) +let fdPath = 'fd://' +let path = 'data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp3'; +await fileIO.open(path).then(fdNumber) => { + fdPath = fdPath + '' + fdNumber; + console.info('open fd sucess fd is' + fdPath); +}, (err) => { + console.info('open fd failed err is' + err); +}),catch((err) => { + console.info('open fd failed err is' + err); +}); +audioPlayer.src = fdPath; //设置src属性,并触发'dataLoad'事件回调 ``` ### on('timeUpdate') @@ -714,7 +620,7 @@ audioPlayer.setVolume(3); //设置volume为无效值,触发'error'事件 | 名称 | 类型 | 可读 | 可写 | 说明 | | ----------- | ---------------------------------- | ---- | ---- | ------------------------------------------------------------ | -| url | string | 是 | 是 | 视频媒体URL,支持当前主流的视频格式(mp4、mpeg-ts、webm、mkv)。
**支持路径示例**:
1. 本地绝对路径:file:///data/data/ohos.xxx.xxx/files/test.mp4
![zh-cn_image_0000001164217678](figures/zh-cn_image_0000001164217678.png)
**注意事项**:
媒体素材需至少赋予读权限后,才可正常播放 | +| url | string | 是 | 是 | 视频媒体URL,支持当前主流的视频格式(mp4、mpeg-ts、webm、mkv)。
**支持路径示例**:
1. fd类型播放:fd://xxx
![zh-cn_image_0000001164217678](figures/zh-cn_image_url.png)
**注意事项**:
媒体素材需至少赋予读权限后,才可正常播放 | | loop | boolean | 是 | 是 | 视频循环播放属性,设置为'true'表示循环播放。 | | currentTime | number | 是 | 否 | 视频的当前播放位置。 | | duration | number | 是 | 否 | 视频时长,返回-1表示直播模式 | @@ -1530,7 +1436,7 @@ audioPlayer.getTrackDescription((error, arrlist) => { ## AudioRecorder -音频录制管理类,用于录制音频媒体。在调用AudioRecorder的方法前,需要先通过[createAudioRecorder()](#media.createaudiorecorder) 或[createAudioRecorderAsync()](#media.createaudiorecorderasync8)构建一个[AudioRecorder](#audiorecorder)实例。 +音频录制管理类,用于录制音频媒体。在调用AudioRecorder的方法前,需要先通过[createAudioRecorder()](#media.createaudiorecorder) 构建一个[AudioRecorder](#audiorecorder)实例。 音频录制demo可参考:[音频录制开发指导](../../media/audio-recorder.md) @@ -1555,7 +1461,7 @@ let audioRecorderConfig = { audioSampleRate : 22050, numberOfChannels : 2, format : media.AudioOutputFormat.AAC_ADTS, - uri : 'file:///data/accounts/account_0/appdata/appdata/recorder/test.m4a', // 文件需先由调用者创建,并给予适当的权限 + uri : 'fd://1', // 文件需先由调用者创建,并给予适当的权限 location : { latitude : 30, longitude : 130}, } audioRecorder.on('prepare', () => { //设置'prepare'事件回调 @@ -1681,7 +1587,7 @@ let audioRecorderConfig = { audioSampleRate : 22050, numberOfChannels : 2, format : media.AudioOutputFormat.AAC_ADTS, - uri : 'file:///data/accounts/account_0/appdata/appdata/recorder/test.m4a', // 文件需先由调用者创建,并给予适当的权限 + uri : 'fd://xx', // 文件需先由调用者创建,并给予适当的权限 location : { latitude : 30, longitude : 130}, } audioRecorder.on('error', (error) => { // 设置'error'事件回调 @@ -1750,7 +1656,7 @@ audioRecorder.prepare(); // prepare不设置参数,触发'error' | numberOfChannels | number | 否 | 音频采集声道数,默认值为2。 | | format | [AudioOutputFormat](#audiooutputformat) | 否 | 音量输出封装格式,默认设置为MPEG_4。 | | location8+ | [Location](#location8) | 否 | 音频采集的地理位置。 | -| uri | string | 是 | 音频输出URI。支持:
1. 文件的绝对路径:file:///data/data/ohos.xxx.xxx/cache/test.mp4![zh-cn_image_0000001164217678](figures/zh-cn_image_0000001164217678.png)
2. 文件的fd路径:file://1 (fd number)
文件需要由调用者创建,并赋予适当的权限。 | +| uri | string | 是 | 视频输出URI:fd://xx (fd number)
![zh-cn_image_0000001164217678](figures/zh-cn_image_url.png)
文件需要由调用者创建,并赋予适当的权限。 | ## AudioEncoder @@ -1780,7 +1686,7 @@ audioRecorder.prepare(); // prepare不设置参数,触发'error' ## VideoRecorder8+ -视频录制管理类,用于录制视频媒体。在调用VideoRecorder的方法前,需要先通过[createVideoRecorderAsync()](#media.createvideorecorderasync8)构建一个[VideoRecorder](#videorecorder8)实例。 +视频录制管理类,用于录制视频媒体。在调用VideoRecorder的方法前,需要先通过[createVideoRecorder()](#media.createvideorecorder8)构建一个[VideoRecorder](#videorecorder8)实例。 视频录制demo可参考:[视频录制开发指导](../../media/video-recorder.md) @@ -1823,7 +1729,7 @@ let videoConfig = { audioSourceType : 1, videoSourceType : 0, profile : videoProfile, - url : 'file:///data/accounts/account_0/appdata/appdata/recorder/test.mp4', // 文件需先由调用者创建,并给予适当的权限 + url : 'fd://xx', // 文件需先由调用者创建,并给予适当的权限 orientationHint : 0, location : { latitude : 30, longitude : 130 }, } @@ -1892,7 +1798,7 @@ let videoConfig = { audioSourceType : 1, videoSourceType : 0, profile : videoProfile, - url : 'file:///data/accounts/account_0/appdata/appdata/recorder/test.mp4', // 文件需先由调用者创建,并给予适当的权限 + url : 'fd://xx', // 文件需先由调用者创建,并给予适当的权限 orientationHint : 0, location : { latitude : 30, longitude : 130 }, } @@ -2347,7 +2253,7 @@ videoRecorder.on('error', (error) => { // 设置'error'事件回调 | profile | [VideoRecorderProfile](#videorecorderprofile8+) | 是 | 视频录制的profile。 | | orientationHint | number | 否 | 录制视频的旋转角度。 | | location | [Location](#location8) | 否 | 录制视频的地理位置。 | -| uri | string | 是 | 视频输出URI。支持:
1. 文件的绝对路径:file:///data/data/ohos.xxx.xxx/cache/test.mp4![zh-cn_image_0000001164217678](figures/zh-cn_image_0000001164217678.png)
2. 文件的fd路径:file://1 (fd number)
文件需要由调用者创建,并赋予适当的权限。 | +| url | string | 是 | 视频输出URL:fd://xx (fd number)
![zh-cn_image_0000001164217678](figures/zh-cn_image_url.png)
文件需要由调用者创建,并赋予适当的权限。 | ## AudioSourceType8+ diff --git a/zh-cn/application-dev/reference/apis/js-apis-net-connection.md b/zh-cn/application-dev/reference/apis/js-apis-net-connection.md new file mode 100644 index 0000000000000000000000000000000000000000..0320816196a4dff9f0f733ebd089374df44f1a5e --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-net-connection.md @@ -0,0 +1,686 @@ +# 网络 + +> **说明:** +> +>本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +## 导入模块 + +```javascript +import connection from '@ohos.net.connection' +``` + +## connection.getDefaultNet + +getDefaultNet(callback: AsyncCallback\): void + +获取默认网络,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.GET_NETWORK_INFO + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| callback | AsyncCallback\<[NetHandle](#nethandle)> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.getDefaultNet(function (error, netHandle) { + console.log(JSON.stringify(error)) + console.log(JSON.stringify(netHandle)) +}) +``` + +## connection.getDefaultNet + +getDefaultNet(): Promise\ + +获取默认网络,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.GET_NETWORK_INFO + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**返回值:** + +| 类型 | 说明 | +| ----- | ----- | +| Promise\<[NetHandle](#nethandle)> | 以Promise形式返回 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + console.log(JSON.stringify(netHandle)) +}) +``` + +## connection.hasDefaultNet + +hasDefaultNet(callback: AsyncCallback\): void + +判断是否有默认网络,使用callback方式作为异步方法。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| callback | AsyncCallback\ | 是 | 回调函数,有默认网络返回true。 | + +**示例:** + +```javascript +connection.hasDefaultNet(function (error, has) { + console.log(JSON.stringify(error)) + console.log(has) +}) +``` + +## connection.hasDefaultNet + +hasDefaultNet(): Promise\ + +判断是否有默认网络,使用Promise方式作为异步方法。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**返回值:** + +| 类型 | 说明 | +| ----- | ----- | +| Promise\ | 以Promise形式返回,有默认网络返回true。 | + +**示例:** + +```javascript +connection.hasDefaultNet().then(function (has) { + console.log(has) +}) +``` + +## connection.getConnectionProperties + +getConnectionProperties(netHandle: NetHandle, callback: AsyncCallback\): void + +查询netHandle对应的网络的连接信息,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.GET_NETWORK_INFO + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| netHandle | [NetHandle](#nethandle) | 是 | 对应网络 | +| callback | AsyncCallback\<[ConnectionProperties](#connectionproperties)> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getConnectionProperties(netHandle, function (error, info) { + console.log(JSON.stringify(error)) + console.log(JSON.stringify(info)) + }) +}) +``` + +## connection.getConnectionProperties + +getConnectionProperties(netHandle: NetHandle): Promise\ + +查询netHandle对应的网络的连接信息,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.GET_NETWORK_INFO + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| netHandle | [NetHandle](#nethandle) | 是 | 对应网络 | + +**返回值:** + +| 类型 | 说明 | +| ----- | ----- | +| Promise\<[ConnectionProperties](#connectionproperties)> | 以Promise形式返回 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getConnectionProperties(netHandle).then(function (info) { + console.log(JSON.stringify(info)) + }) +}) +``` + +## connection.getNetCapabilities + +getNetCapabilities(netHandle: NetHandle, callback: AsyncCallback\): void + +查询netHandle对应的网络的能力信息,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.GET_NETWORK_INFO + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| netHandle | [NetHandle](#nethandle) | 是 | 对应网络 | +| callback | AsyncCallback\<[NetCapabilities](#netcapabilities)> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getNetCapabilities(netHandle, function (error, info) { + console.log(JSON.stringify(error)) + console.log(JSON.stringify(info)) + }) +}) +``` + +## connection.getNetCapabilities + +getNetCapabilities(netHandle: NetHandle): Promise\ + +查询netHandle对应的网络的能力信息,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.GET_NETWORK_INFO + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| netHandle | [NetHandle](#nethandle) | 是 | 对应网络 | + +**返回值:** + +| 类型 | 说明 | +| ----- | ----- | +| Promise\<[NetCapabilities](#netcapabilities)> | 以Promise形式返回 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getNetCapabilities(netHandle).then(function (info) { + console.log(JSON.stringify(info)) + }) +}) +``` + +## connection.getAddressesByName + +getAddressesByName(host: string, callback: AsyncCallback\>): void + +使用默认网络将host解析成IP,返回所有IP,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.GET_NETWORK_INFO + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| host | string | 是 | 需要解析的域名 | +| callback | AsyncCallback\> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getAddressesByName(netHandle, function (error, info) { + console.log(JSON.stringify(error)) + console.log(JSON.stringify(info)) + }) +}) +``` + +## connection.getAddressesByName + +getAddressesByName(netHandle: NetHandle): Promise\> + +使用默认网络将host解析成IP,返回所有IP,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.GET_NETWORK_INFO + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| host | string | 是 | 需要解析的域名 | + +**返回值:** + +| 类型 | 说明 | +| ----- | ----- | +| Promise\> | 以Promise形式返回 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getAddressesByName(netHandle).then(function (info) { + console.log(JSON.stringify(info)) + }) +}) +``` + +## connection.createNetConnection + +createNetConnection(netSpecifier?: NetSpecifier, timeout?: number): NetConnection + +获取一个netSpecifier指定的网络的句柄。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| netSpecifier | [NetSpecifier](#netspecifier) | 否 | 指定网络的各项特征,不指定则关注默认网络。 | +| timeout | number | 否 | 获取netSpecifier指定的网络时的超时时间,仅netSpecifier存在时生效。 | + +**返回值:** + +| 类型 | 说明 | +| ----- | ----- | +|[NetConnection](#netconnection) | 所关注的网络的句柄 | + +**示例:** + +```javascript +// 关注默认网络 +let netConnection1 = connection.createNetConnection() + +// 关注蜂窝网络 +let netConnection2 = connection.createNetConnection({ + netCapabilities: { + networkCap: [0] + } +}) +``` + +## NetConnection + +网络连接的句柄 + +### on('netAvailable') + +on(type: 'netAvailable', callback: Callback\): void + +监听网络可用事件。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| type | string | 是 | 监听的事件,固定'netAvailable' | +| callback | Callback\<[NetHandle](#nethandle)>> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.createNetConnection().on('netAvailable', function (data) { + console.log(JSON.stringify(data)) +}) +``` + +### on('netCapabilitiesChange') + +on(type: 'netCapabilitiesChange', callback: Callback<{ netHandle: NetHandle, netCap: NetCapabilities }>): void + +监听网络能力变化事件。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| type | string | 是 | 监听的事件,固定'netCapabilitiesChange' | +| callback | Callback<{ netHandle: [NetHandle](#nethandle), netCap: [NetCapabilities](#netcapabilities) }> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.createNetConnection().on('netCapabilitiesChange', function (data) { + console.log(JSON.stringify(data)) +}) +``` + +### on('netConnectionPropertiesChange') + +on(type: 'netConnectionPropertiesChange', callback: Callback<{ netHandle: NetHandle, connectionProperties: ConnectionProperties }>): void + +监听网络连接信息变化事件。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| type | string | 是 | 监听的事件,固定'netConnectionPropertiesChange' | +| callback | Callback<{ netHandle: [NetHandle](#nethandle), connectionProperties: [ConnectionProperties](#connectionproperties) }> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.createNetConnection().on('netConnectionPropertiesChange', function (data) { + console.log(JSON.stringify(data)) +}) +``` + +### on('netLost') + +on(type: 'netLost', callback: Callback\): void + +监听网络丢失事件。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| type | string | 是 | 监听的事件,固定'netLost' | +| callback | Callback\<[NetHandle](#nethandle)>> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.createNetConnection().on('netLost', function (data) { + console.log(JSON.stringify(data)) +}) +``` + +### on('netUnavailable') + +on(type: 'netUnavailable', callback: Callback\): void + +监听网络不可用事件。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| type | string | 是 | 监听的事件,固定'netUnavailable' | +| callback | Callback\> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.createNetConnection().on('netUnavailable', function (data) { + console.log(JSON.stringify(data)) +}) +``` + +### register + +register(callback: AsyncCallback\): void + +注册网络的监听。 + +**需要权限**:ohos.permission.GET_NETWORK_INFO + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| callback | Callback\> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.createNetConnection().register(function (error) { + console.log(JSON.stringify(error)) +}) +``` + +### unregister + +unregister(callback: AsyncCallback\): void + +注销网络的监听。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| callback | Callback\> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.createNetConnection().unregister(function (error) { + console.log(JSON.stringify(error)) +}) +``` + +## NetHandle + +网络的句柄 + +| 变量 | 类型 | 说明 | +| ----- | ----- | ----- | +| netId | number | 对应网络的编号 | + +### getAddressesByName + +getAddressesByName(host: string, callback: AsyncCallback\>): void + +使用对应网络将host解析成IP,返回所有IP,使用callback方式作为异步方法。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| host | string | 是 | 需要解析的域名 | +| callback | AsyncCallback\> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getAddressesByName(netHandle, function (error, info) { + console.log(JSON.stringify(error)) + console.log(JSON.stringify(info)) + }) +}) +``` + +### getAddressesByName + +getAddressesByName(netHandle: NetHandle): Promise\> + +使用对应网络将host解析成IP,返回所有IP,使用Promise方式作为异步方法。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| host | string | 是 | 需要解析的域名 | + +**返回值:** + +| 类型 | 说明 | +| ----- | ----- | +| Promise\> | 以Promise形式返回 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getAddressesByName(netHandle).then(function (info) { + console.log(JSON.stringify(info)) + }) +}) +``` + +### getAddressByName + +getAddressByName(host: string, callback: AsyncCallback\): void + +使用对应网络将host解析成IP,返回一个IP,使用callback方式作为异步方法。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| host | string | 是 | 需要解析的域名 | +| callback | AsyncCallback\<[NetAddress](#netaddress)> | 是 | 回调函数 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getAddressByName(netHandle, function (error, info) { + console.log(JSON.stringify(error)) + console.log(JSON.stringify(info)) + }) +}) +``` + +### getAddressByName + +getAddressByName(netHandle: NetHandle): Promise\ + +使用对应网络将host解析成IP,返回一个IP,使用Promise方式作为异步方法。 + +**系统能力**:SystemCapability.Communication.NetManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | ---- | ----- | +| host | string | 是 | 需要解析的域名 | + +**返回值:** + +| 类型 | 说明 | +| ----- | ----- | +| Promise\<[NetAddress](#netaddress)> | 以Promise形式返回 | + +**示例:** + +```javascript +connection.getDefaultNet().then(function (netHandle) { + connection.getAddressByName(netHandle).then(function (info) { + console.log(JSON.stringify(info)) + }) +}) +``` + +## NetSpecifier + +网络的特征。 + +| 变量 | 类型 | 说明 | +| ----- | ----- | ----- | +| netCapabilities | [NetCapabilities](#netcapabilities) | 网络的能力集 | +| bearerPrivateIdentifier | string | 网络标识符,WIFI网络的标识符是"wifi",蜂窝网络的标识符是"slot0"(对应SIM卡1) | + +## NetCapabilities + +网络的能力集。 + +| 变量 | 类型 | 说明 | +| ----- | ----- | ----- | +| linkUpBandwidthKbps | number | 带宽上限 | +| linkDownBandwidthKbps | number | 带宽下限 | +| networkCap | Array<[NetCap](#netcap)> | 网络具体能力 | +| bearerTypes | Array<[NetBearType](#netbearType)> | 网络类型 | + +## NetCap + +网络具体能力。 + +| 变量 | 值 | 说明 | +| ------ | ----- | ----- | +| NET_CAPABILITY_INTERNET | 12 | 联网能力 | +| NET_CAPABILITY_VALIDATED | 16 | 网络可用 | + +## NetBearType + +网络类型。 + +| 变量 | 值 | 说明 | +| ------ | ----- | ----- | +| BEARER_CELLULAR | 0 | 蜂窝网络 | +| BEARER_WIFI | 1 | WIFI网络 | + +## ConnectionProperties + +网络连接信息。 + +| 变量 | 类型 | 说明 | +| ----- | ----- | ----- | +| interfaceName | string | 网卡名称 | +| domains | string | 所属域,默认"" | +| linkAddresses | Array<[LinkAddress](#linkaddress)> | 链路信息 | +| routes | Array<[RouteInfo](#routeinfo)> | 路由信息 | +| mtu | number | 最大传输单元 | + +## LinkAddress + +网络链路信息。 + +| 变量 | 类型 | 说明 | +| ----- | ----- | ----- | +| address | [NetAddress](#netaddress) | 链路地址 | +| prefixLength | number | 地址前缀长度 | + +## RouteInfo + +网络路由信息。 + +| 变量 | 类型 | 说明 | +| ----- | ----- | ----- | +| interface | string | 网卡名称 | +| destination | [LinkAddress](#linkaddress) | 目的地址 | +| gateway | [NetAddress](#netaddress) | 网关地址 | +| hasGateway | boolean | 是否有网关 | +| isDefaultRoute | boolean | 是否为默认路由 | + +## NetAddress + +地址。 + +| 变量 | 类型 | 说明 | +| ----- | ----- | ----- | +| address | string | 一个IPv4地址或者IPv6地址 | +| family | number | IPv4 = 1, IPv6 = 2, 默认IPv4 | +| port | number | 端口,取值范围\[0, 65535] | diff --git a/zh-cn/application-dev/reference/apis/js-apis-notification.md b/zh-cn/application-dev/reference/apis/js-apis-notification.md index 101947cd5e3db9aa059ca2f6176fe024dbbeb14c..b5afd3db1313e7bec144dd1d74e110f9467fe8f0 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-notification.md +++ b/zh-cn/application-dev/reference/apis/js-apis-notification.md @@ -2001,61 +2001,6 @@ Notification.isSupportTemplate(templateName).then((data) => { -## Notiifcation.isNotificationEnabledSelf - -isNotificationEnabledSelf(callback: AsyncCallback\): void - -查询应用通知是否使能。 - -- 参数 - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------ | ---- | -------------------------- | -| callback | AsyncCallback\ | 是 | 查询模板是否存在的回调函数 | - -- 示例 - -```javascript -function isNotificationEnabledSelfCallback(err, enabled) { - console.info("isNotificationEnabledSelf"); - if (err.code) { - console.info("failed " + JSON.stringify(err)); - } else { - console.info("isNotificationEnabledSelf " + JSON.stringify(enabled)); - } -}; - -Notification.isNotificationEnabledSelf(isNotificationEnabledSelfCallback); -``` - - - -## Notiifcation.isNotificationEnabledSelf - -isNotificationEnabledSelf(): Promise\ - -查询应用通知是否使能。 - -- 返回值 - -| 类型 | 说明 | -| ------------------ | --------------- | -| Promise\ | Promise方式返回 | - -- 示例 - -```javascript -Notification.isNotificationEnabledSelf() - .then((enabled) => { - console.info("isNotificationEnabledSelf " + JSON.stringify(enabled)); - }) - .catch((err) => { - console.info("isNotificationEnabledSelf failed " + JSON.stringify(err)); - }); -``` - - - ## Notification.requestEnabledNotification requestEnabledNotification(callback: AsyncCallback\): void diff --git a/zh-cn/application-dev/reference/apis/js-apis-plainarray.md b/zh-cn/application-dev/reference/apis/js-apis-plainarray.md index 65183ed8035905fc634ef4b309117f0ed7016ad9..ab5dc6d0d61684d2c31f7299201c63aa3f37d912 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-plainarray.md +++ b/zh-cn/application-dev/reference/apis/js-apis-plainarray.md @@ -53,7 +53,7 @@ isEmpty(): boolean ``` const plainArray = new PlainArray(); -plainArray.isEmpty(); +let result = plainArray.isEmpty(); ``` @@ -67,13 +67,13 @@ has(key: number): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | number | 是 | 查询的元素。 | +| key | number | 是 | 指定key。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 包含指定元素返回true,否则返回false。 | +| boolean | 包含指定key返回true,否则返回false。 | **示例:** @@ -81,7 +81,7 @@ has(key: number): boolean let plainArray = new PlainArray(); plainArray.has(1); plainArray.add(1, "sddfhf"); -plainArray.has(1); +let result1 = plainArray.has(1); ``` @@ -109,7 +109,7 @@ get(key: number): T let plainArray = new PlainArray(); plainArray.add(1, "sddfhf"); plainArray.add(2, "sffdfhf"); -plainArray.get(1); +let result = plainArray.get(1); ``` @@ -123,13 +123,13 @@ getIndexOfKey(key: number): number; | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | number | 是 | 被查找的元素。 | +| key | number | 是 | 指定key。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 | +| number | 返回指定key第一次出现时的下标值,查找失败返回-1。 | **示例:** @@ -137,7 +137,7 @@ getIndexOfKey(key: number): number; let plainArray = new PlainArray(); plainArray.add(1, "sddfhf"); plainArray.add(2, "sffdfhf"); -plainArray.getIndexOfKey("sdfs"); +let result = plainArray.getIndexOfKey("sdfs"); ``` @@ -151,7 +151,7 @@ getIndexOfValue(value: T): number; | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| value | T | 是 | 被查找的元素。 | +| value | T | 是 | 指定元素。 | **返回值:** @@ -165,7 +165,7 @@ getIndexOfValue(value: T): number; let plainArray = new PlainArray(); plainArray.add(1, "sddfhf"); plainArray.add(2, "sffdfhf"); -plainArray.getIndexOfValue("sddfhf"); +let result = plainArray.getIndexOfValue("sddfhf"); ``` @@ -179,13 +179,13 @@ getKeyAt(index: number): number; | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| index | number | 是 | 所查找的下标。 | +| index | number | 是 | 指定下标。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| number | 返回该下标对应的元素键值对中key值,失败返回undefined。 | +| number | 返回该下标对应的元素键值对中key值,失败返回-1。 | **示例:** @@ -193,17 +193,41 @@ getKeyAt(index: number): number; let plainArray = new PlainArray(); plainArray.add(1, "sddfhf"); plainArray.add(2, "sffdfhf"); -plainArray.getKeyAt(1); +let result = plainArray.getKeyAt(1); ``` +### getValueAt + +getValueAt(index: number): T + +查找指定下标元素键值对中Value值,否则返回undefined。 + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | index | number | 是 | 指定下标。 | + +**返回值:** + + | 类型 | 说明 | + | -------- | -------- | + | T | 返回该下标对应的元素键值对中key值,失败返回undefined。 | + +**示例:** + + ``` + let plainArray = new PlainArray(); + plainArray.add(1, "sddfhf"); + plainArray.add(2, "sffdfhf"); + let result = plainArray.getKeyAt(1); + ``` ### clone clone(): PlainArray<T> -克隆一个实例,并返回克隆后的实例。 - -修改克隆后的实例并不会影响原实例。 +克隆一个实例,并返回克隆后的实例。修改克隆后的实例并不会影响原实例。 **返回值:** @@ -223,7 +247,7 @@ let newPlainArray = plainArray.clone(); ### add -add(key: number, value: T): boolean +add(key: number, value: T): void 向容器中添加一组数据。 @@ -234,12 +258,6 @@ add(key: number, value: T): boolean | key | number | 是 | 添加成员数据的键名。 | | value | T | 是 | 添加成员数据的值。 | -**返回值:** - -| 类型 | 说明 | -| -------- | -------- | -| boolean | 成功添加返回true,否则返回false。 | - **示例:** ``` @@ -252,13 +270,13 @@ plainArray.add(1, "sddfhf"); remove(key: number): T -删除指定的元素。 +删除指定key对应元素。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | number | 是 | 根据key删除的指定元素。 | +| key | number | 是 | 指定key。 | **返回值:** @@ -273,14 +291,15 @@ let plainArray = new PlainArray(); plainArray.add(1, "sddfhf"); plainArray.add(2, "sffdfhf"); plainArray.remove(2); +let result = plainArray.remove(2); ``` ### removeAt -removeAt(index: number): boolean; +removeAt(index: number): T -删除指定下标的元素。 +删除指定下标对应的元素。 **参数:** @@ -292,7 +311,7 @@ removeAt(index: number): boolean; | 类型 | 说明 | | -------- | -------- | -| boolean | 成功删除元素返回true,否则返回false。 | +| T | 返回删除的元素。 | **示例:** @@ -301,6 +320,7 @@ let plainArray = new PlainArray(); plainArray.add(1, "sddfhf"); plainArray.add(2, "sffdfhf"); plainArray.removeAt(1); +let result = plainArray.removeAt(1); ``` @@ -329,22 +349,22 @@ removeRangeFrom(index: number, size: number): number let plainArray = new PlainArray(); plainArray.add(1, "sddfhf"); plainArray.add(2, "sffdfhf"); -plainArray.removeAt(1, 3); +let result = plainArray.removeRangeFrom(1, 3); ``` ### setValueAt -setValueAt(index: number, newValue: T): void +setValueAt(index: number, value: T): void -向容器中具体位置替换键值对中的值。 +替换容器中指定下标对应键值对中的键值。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | index | number | 是 | 指定替换数据下标。 | -| newValue | T | 是 | 替换键值对中的值。 | +| value | T | 是 | 替换键值对中的值。 | **示例:** @@ -374,7 +394,7 @@ toString(): String let plainArray = new PlainArray(); plainArray.add(1, "sddfhf"); plainArray.add(2, "sffdfhf"); -plainArray.toString(); +let result = plainArray.toString(); ``` @@ -396,7 +416,7 @@ plainArray.clear(); ### forEach -forEach(callbackfn: (value: T, key?: number, plainArray?: PlainArray) => void, thisArg?: Object): void +forEach(callbackfn: (value: T, key?: number, PlainArray?: PlainArray) => void, thisArg?: Object): void 通过回调函数来遍历实例对象上的元素以及元素对应的下标。 diff --git a/zh-cn/application-dev/reference/apis/js-apis-queue.md b/zh-cn/application-dev/reference/apis/js-apis-queue.md index 1ccf500073f7d97d964f7004f283f77840cd31c9..bfabc48531a3d8e81e1f1cf22eef4715150bd25d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-queue.md +++ b/zh-cn/application-dev/reference/apis/js-apis-queue.md @@ -60,12 +60,13 @@ add(element: T): boolean ``` let queue = new Queue(); -queue.add("a"); +let result = queue.add("a"); +let result1 = queue.add(1); queue.add(1); let b = [1, 2, 3]; queue.add(b); let c = {name : "lala", age : "13"}; -queue.add(false); +let result3 = queue.add(c); ``` ### pop @@ -89,7 +90,7 @@ queue.add(4); queue.add(5); queue.add(2); queue.add(4); -queue.pop(); +let result = queue.pop(); ``` ### getFirst @@ -112,11 +113,11 @@ queue.add(2); queue.add(4); queue.add(5); queue.add(2); -queue.getFirst(); +let result = queue.getFirst(); ``` ### forEach -forEach(callbackfn: (value: T, index?: number, queue?: Queue<T>) => void, +forEach(callbackfn: (value: T, index?: number, Queue?: Queue<T>) => void, thisArg?: Object): void 通过回调函数来遍历Queue实例对象上的元素以及元素对应的下标。 @@ -132,9 +133,9 @@ callbackfn的参数说明: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| value | T | 是 | 当前遍历到的元素 | -| index | number | 否 | 当前遍历到的下标值 | -| queue | Queue<T> | 否 | 当前调用forEach方法的实例对象 | +| value | T | 是 | 当前遍历到的元素。 | +| index | number | 否 | 当前遍历到的下标值。 | +| Queue | Queue<T> | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -161,7 +162,7 @@ queue.forEach((value, index) => { | 类型 | 说明 | | -------- | -------- | -| IterableIterator<T> | 返回一个迭代器 | +| IterableIterator<T> | 返回一个迭代器。 | **示例:** ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-settings.md b/zh-cn/application-dev/reference/apis/js-apis-settings.md index 2f8fd145e1c173325f117cef24b61a2c923e4e65..39aaf3e3bec734b370f8768f9ec3783e7ab8b88a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-settings.md +++ b/zh-cn/application-dev/reference/apis/js-apis-settings.md @@ -19,9 +19,9 @@ import settings from '@ohos.settings'; 无 -## settings.getUri +## settings.getUriSync -getUri(name: string): string +getUriSync(name: string): string 获取数据项的URI。 @@ -38,13 +38,13 @@ getUri(name: string): string - 示例: ``` // 获取数据项的URI - let urivar = settings.getUri('settings.screen.brightness'); + let urivar = settings.getUriSync('settings.screen.brightness'); ``` -## settings.getValue +## settings.getValueSync -getValue(dataAbilityHelper: DataAbilityHelper, name: string, defValue: string): string +getValueSync(dataAbilityHelper: DataAbilityHelper, name: string, defValue: string): string 获取数据项的值。 @@ -66,18 +66,18 @@ getValue(dataAbilityHelper: DataAbilityHelper, name: string, defValue: string): //获取数据项亮度的值(该数据项在数据库中已存在) let brightness = 'settings.screen.brightness'; - let uri = settings.getUri(brightness); + let uri = settings.getUriSync(brightness); let helper = featureAbility.acquireDataAbilityHelper(uri); - let value = settings.getValue(helper, brightness, '10'); + let value = settings.getValueSync(helper, brightness, '10'); ``` -## settings.setValue +## settings.setValueSync -setValue(dataAbilityHelper: DataAbilityHelper, name: string, value: string): boolean +setValueSync(dataAbilityHelper: DataAbilityHelper, name: string, value: string): boolean 设置数据项的值。 -如果数据库中已经存在该数据项,则setValue方法将更新该数据项的值;如果数据库中尚未存在该数据项,则setValue方法将向数据库中插入该数据项。 +如果数据库中已经存在该数据项,则setValueSync方法将更新该数据项的值;如果数据库中尚未存在该数据项,则setValueSync方法将向数据库中插入该数据项。 使用此方法需获取ohos.permission.WRITE_SYSTEM_SETTING权限。 @@ -97,9 +97,9 @@ setValue(dataAbilityHelper: DataAbilityHelper, name: string, value: string): boo ``` import featureAbility from '@ohos.featureAbility'; - //更新数据项亮度的值(该数据项在数据库中已存在,故setValue方法将更新该数据项的值) + //更新数据项亮度的值(该数据项在数据库中已存在,故setValueSync方法将更新该数据项的值) let brightness = 'settings.screen.brightness'; - let uri = settings.getUri(brightness); + let uri = settings.getUriSync(brightness); let helper = featureAbility.acquireDataAbilityHelper(uri); - let ret = settings.setValue(helper, brightness, '100'); + let ret = settings.setValueSync(helper, brightness, '100'); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-stack.md b/zh-cn/application-dev/reference/apis/js-apis-stack.md index bac8197f592b465fdc1d6b18a78d462603decabc..0341c7ca8367410a6d451c128b8d4b0f730ced63 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-stack.md +++ b/zh-cn/application-dev/reference/apis/js-apis-stack.md @@ -60,12 +60,12 @@ push(item: T): T ``` let stack = new Stack(); -stack.push("a"); -stack.push(1); +let result = stack.push("a"); +let result1 = stack.push(1); let b = [1, 2, 3]; stack.push(b); let c = {name : "lala", age : "13"}; -stack.push(false); +let result3 = stack.push(c); ``` ### pop @@ -89,7 +89,7 @@ stack.push(4); stack.push(5); stack.push(2); stack.push(4); -stack.pop(); +let result = stack.pop(); ``` ### peek @@ -112,7 +112,7 @@ stack.push(2); stack.push(4); stack.push(5); stack.push(2); -stack.peek(); +let result = stack.peek(); ``` ### locate @@ -141,7 +141,7 @@ stack.push(2); stack.push(4); stack.push(5); stack.push(2); -stack.locate(2); +let result = stack.locate(2); ``` ### forEach @@ -197,7 +197,7 @@ stack.push(2); stack.push(4); stack.push(5); stack.push(4); -stack.isEmpty(); +let result = stack.isEmpty(); ``` ### [Symbol.iterator] diff --git a/zh-cn/application-dev/reference/apis/js-apis-treemap.md b/zh-cn/application-dev/reference/apis/js-apis-treemap.md index c66771b269d9ffaa9a75de6eba27baae7d86d00c..e31c6540de600ef673dccf0d3a491efdbb6f1dcd 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-treemap.md +++ b/zh-cn/application-dev/reference/apis/js-apis-treemap.md @@ -21,7 +21,7 @@ SystemCapability.Utils.Lang | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| length | number | 是 | 否 | TreeMap的元素个数 | +| length | number | 是 | 否 | TreeMap的元素个数。 | ### constructor @@ -59,7 +59,7 @@ isEmpty(): boolean; ``` const treeMap = new TreeMap(); -treeMap.isEmpty(); +let result = treeMap.isEmpty(); ``` @@ -73,21 +73,21 @@ hasKey(key: K): boolean; | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | K | 是 | 指定元素 | +| key | K | 是 | 指定key | **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 包含指定元素返回true,否则返回false。 | +| boolean | 包含指定key返回true,否则返回false。 | **示例:** ``` let treeMap = new TreeMap(); -treeMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result = treeMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); -treeMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result1 = treeMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ``` @@ -95,7 +95,7 @@ treeMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hasValue(value: V): boolean -判断此容器中是否含有该指定value。 +判断此容器中是否含有该指定元素。 **参数:** @@ -113,9 +113,9 @@ hasValue(value: V): boolean ``` let treeMap = new TreeMap(); -treeMap.hasValue(123); +let result = treeMap.hasValue(123); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); -treeMap.hasValue(123); +let result1 = treeMap.hasValue(123); ``` @@ -129,7 +129,7 @@ get(key: K): V | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | K | 是 | 查找的指定key。 | +| key | K | 是 | 指定key。 | **返回值:** @@ -143,7 +143,7 @@ get(key: K): V let treeMap = new TreeMap(); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); treeMap.set("sdfs", 356); -treeMap.get("sdfs"); +let result = treeMap.get("sdfs"); ``` @@ -151,13 +151,13 @@ treeMap.get("sdfs"); getFirstKey(): K; -获取容器中排序第一的数据。 +获取容器中排序第一的key。 **返回值:** | 类型 | 说明 | | -------- | -------- | -| K | 返回排序第一的数据。 | +| K | 返回排序第一的key。 | **示例:** @@ -173,13 +173,13 @@ let result = treeMap.getFirstKey(); getLastKey(): K; -获取容器中排序最后的数据。 +获取容器中排序最后的key。 **返回值:** | 类型 | 说明 | | -------- | -------- | -| K | 返回排序最后的数据 | +| K | 返回排序最后的key | **示例:** @@ -195,13 +195,13 @@ let result = treeMap.getLastKey(); setAll(map: TreeMap): void -将一个treemap中的所有元素组添加到另一个treemap中。 +将一个treemap中的所有元素组添加到另一个treeMap中。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| map | TreeMap | 是 | 被添加元素的TreeMap。 | +| map | TreeMap | 是 | 被添加元素的treeMap。 | **示例:** @@ -230,7 +230,7 @@ set(key: K, value: V): Object | 类型 | 说明 | | -------- | -------- | -| Object | 返回添加后的treemap | +| Object | 返回添加后的treeMap | **示例:** @@ -244,13 +244,13 @@ treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); remove(key: K): V; -删除指定的元素。 +删除指定key对应的元素。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | K | 是 | 依据key指定删除的元素。 | +| key | K | 是 | 指定key。 | **返回值:** @@ -268,9 +268,9 @@ treeMap.remove("sdfs"); ``` -### getLowerByKey +### getLowerKey -getLowerByKey(key: K): K +getLowerKey(key: K): K 获取容器中比传入key排序靠前一位的key。 @@ -293,13 +293,13 @@ let treeMap = new TreeMap(); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); treeMap.set("sdfs", 356); treeMap.set("zdfgsd", 356); -let result = treeMap.getLowerByKey("sdfs"); +let result = treeMap.getLowerKey("sdfs"); ``` -### getHigherByKey +### getHigherKey -getHigherByKey(key: K): K +getHigherKey(key: K): K 获取容器中比传入key排序靠后一位的key。 @@ -322,12 +322,11 @@ let treeMap = new TreeMap(); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); treeMap.set("sdfs", 356); treeMap.set("zdfgsd", 356); -let result = treeMap.getHigherByKey("sdfs"); +let result = treeMap.getHigherKey("sdfs"); ``` - ### replace -replace(key: K, value: V): boolean +replace(key: K, newValue: V): boolean 对TreeMap中一组数据进行更新(替换)。 @@ -335,21 +334,21 @@ replace(key: K, value: V): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | K | 是 | 依据key指定替换的元素。 | -| value | V | 是 | 成员数据的新值。 | +| key | K | 是 | 指定key。 | +| newValue | V | 是 | 替换的元素。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 成功对已有数据进行替换返回true,否则返回false。 | +| boolean | 对指定key对应的元素替换成功返回true,否则返回false。 | **示例:** ``` let treeMap = new TreeMap(); treeMap.set("sdfs", 123); -treeMap.replace("sdfs", 357); +let result = treeMap.replace("sdfs", 357); ``` @@ -425,7 +424,7 @@ while(temp != undefined) { ### forEach -forEach(callbackfn: (value: V, key?: K, treeMap?: TreeMap) => void, thisArg?: Object): void +forEach(callbackfn: (value: V, key?: K, map?: TreeMap) => void, thisArg?: Object): void 通过回调函数来遍历实例对象上的元素以及元素对应的下标。 @@ -441,7 +440,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | V | 是 | 当前遍历到的元素键值对的值。 | | key | K | 是 | 当前遍历到的元素键值对的键。 | -| treeMap | TreeMap | 否 | 当前调用forEach方法的实例对象。 | +| map | TreeMap | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -459,7 +458,7 @@ treeMap.forEach((value, key) => { entries(): IterableIterator<[K, V]> -返回包含此映射中包含的元素的新迭代器对象。 +返回包含此映射中包含的键值对的新迭代器对象。 **返回值:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-treeset.md b/zh-cn/application-dev/reference/apis/js-apis-treeset.md index ccc118ddc5f273681a88ab3c4b4984d2d31fac7e..48c65fea23227ff1113273dc6aff3f772ab2ab99 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-treeset.md +++ b/zh-cn/application-dev/reference/apis/js-apis-treeset.md @@ -59,7 +59,7 @@ isEmpty(): boolean ``` const treeSet = new TreeSet(); -treeSet.isEmpty(); +let result = treeSet.isEmpty(); ``` @@ -67,7 +67,7 @@ treeSet.isEmpty(); has(value: T): boolean -判断此容器中是否含有该指定value。 +判断此容器中是否含有该指定元素。 **参数:** @@ -87,7 +87,7 @@ has(value: T): boolean let treeSet = new TreeSet(); treeSet.has(123); treeSet.add(123); -treeSet.has(123); +let result1 = treeSet.has(123); ``` @@ -156,13 +156,13 @@ add(value: T): boolean ``` let treeSet = new TreeSet(); -treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result = treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ``` ### remove -remove(key: T): boolean +remove(value: T): boolean; 删除指定的元素。 @@ -170,7 +170,7 @@ remove(key: T): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| key | T | 是 | 指定的元素。 | +| value | T | 是 | 指定的元素。 | **返回值:** @@ -184,7 +184,7 @@ remove(key: T): boolean let treeSet = new TreeSet(); treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); treeSet.add("sdfs"); -treeSet.remove("sdfs"); +let result = treeSet.remove("sdfs"); ``` @@ -233,7 +233,7 @@ getHigherValue(key: T): T | 类型 | 说明 | | -------- | -------- | -| T | 返回排序中传入元素后一位的数据 | +| T | 返回排序中传入元素后一位的数据。 | **示例:** @@ -278,7 +278,7 @@ popLast(): T | 类型 | 说明 | | -------- | -------- | -| T | 返回删除的数据 | +| T | 返回删除的数据。 | **返回值:** @@ -335,7 +335,7 @@ while(temp != undefined) { ### forEach -forEach(callbackfn: (value: T, key?: T, treeSet?: TreeSet<T>) => void, thisArg?: Object): void +forEach(callbackfn: (value: T, key?: T, set?: TreeSet<T>) => void, thisArg?: Object): void 通过回调函数来遍历实例对象上的元素以及元素对应的下标。 @@ -351,7 +351,7 @@ callbackfn的参数说明: | -------- | -------- | -------- | -------- | | value | T | 是 | 当前遍历到的元素。 | | key | T | 否 | 当前遍历到的元素(和value相同)。 | -| treeSet | TreeSet<T> | 否 | 当前调用forEach方法的实例对象。 | +| set | TreeSet<T> | 否 | 当前调用forEach方法的实例对象。 | **示例:** @@ -369,7 +369,7 @@ treeSet.forEach((value, key) => { entries(): IterableIterator<[T, T]> -返回包含此映射中包含的元素的新迭代器对象。 +返回包含此映射中包含的键值对的新迭代器对象。 **返回值:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-update.md b/zh-cn/application-dev/reference/apis/js-apis-update.md index 96153284d2d1b36fcc2e4d407fff209470f4ad18..b0f789003d71af0d28cf5a4669c05b3be7b1d724 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-update.md +++ b/zh-cn/application-dev/reference/apis/js-apis-update.md @@ -25,6 +25,8 @@ getUpdater(upgradeFile: string, updateType?: UpdateTypes): Updater 获取本地升级Updater。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -54,6 +56,8 @@ getUpdaterForOther(upgradeFile: string, device: string, updateType?: UpdateTypes 获取升级对象给待升级设备。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -84,6 +88,8 @@ getUpdaterFromOther(upgradeFile: string, device: string, updateType?: UpdateType 获取其它设备为本设备升级的Updater。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -116,6 +122,8 @@ getNewVersionInfo(callback: AsyncCallback\): void 获取新版本信息,使用callback方式作为异步方法。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -139,6 +147,8 @@ getNewVersionInfo(): Promise\ 获取新版本信息,使用promise方式作为异步方法。 +**系统能力**:SystemCapability.Updater.update_service + **返回值:** | 类型 | 说明 | @@ -163,6 +173,8 @@ checkNewVersion(callback: AsyncCallback\): void 检查新版本,使用callback方式作为异步方法。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -186,6 +198,8 @@ checkNewVersion(): Promise\ 检查新版本,使用promise方式作为异步方法。 +**系统能力**:SystemCapability.Updater.update_service + **返回值:** | 类型 | 说明 | @@ -210,6 +224,8 @@ verifyUpdatePackage(upgradeFile: string, certsFile: string): void 升级前检查升级包是否有效。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -232,6 +248,8 @@ rebootAndCleanUserData(): Promise\ 重启设备并清除用户分区数据。 +**系统能力**:SystemCapability.Updater.update_service + **返回值:** | 类型 | 说明 | @@ -254,6 +272,8 @@ rebootAndCleanUserData(callback: AsyncCallback\): void 重启设备并清除用户分区数据。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -274,6 +294,8 @@ applyNewVersion(): Promise\ 重启设备后安装升级包。 +**系统能力**:SystemCapability.Updater.update_service + **返回值:** | 类型 | 说明 | @@ -296,6 +318,8 @@ applyNewVersion(callback: AsyncCallback\): void 重启设备后安装升级包。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -316,6 +340,8 @@ download(): void 下载新版本,并监听下载进程。 +**系统能力**:SystemCapability.Updater.update_service + **示例:** ``` @@ -333,6 +359,8 @@ updater.upgrade():void 启动升级。 +**系统能力**:SystemCapability.Updater.update_service + **示例:** ``` @@ -350,6 +378,8 @@ setUpdatePolicy(policy: UpdatePolicy, callback: AsyncCallback\): void 设置升级策略,使用callback方式作为异步方法。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -379,6 +409,8 @@ setUpdatePolicy(policy: UpdatePolicy): Promise\ 设置升级策略,使用promise方式作为异步方法。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -414,6 +446,8 @@ getUpdatePolicy(callback: AsyncCallback\): void 获取升级策略信息,使用callback方式作为异步方法。 +**系统能力**:SystemCapability.Updater.update_service + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -437,6 +471,8 @@ getUpdatePolicy(): Promise\ 获取升级策略,通过promise方式作为异步方法。 +**系统能力**:SystemCapability.Updater.update_service + **返回值:** | 类型 | 说明 | @@ -461,8 +497,8 @@ update.getUpdatePolicy().then(value => { | 参数名 | 说明 | | ------ | -------- | -| OTA | OTA升级 | -| patch | 补丁升级 | +| OTA | OTA升级
**系统能力**:SystemCapability.Updater.update_service| +| patch | 补丁升级
**系统能力**:SystemCapability.Updater.update_service| ## PackageTypes @@ -470,13 +506,13 @@ update.getUpdatePolicy().then(value => { | 参数名 | 默认值 | 说明 | | -------------------- | ------ | -------------- | -| PACKAGE_TYPE_NORMAL | 1 | 通用升级包 | -| PACKAGE_TYPE_BASE | 2 | 基础升级包 | -| PACKAGE_TYPE_CUST | 3 | 定制升级包 | -| PACKAGE_TYPE_PRELOAD | 4 | 预装升级包 | -| PACKAGE_TYPE_COTA | 5 | 参数配置升级包 | -| PACKAGE_TYPE_VERSION | 6 | 版本升级包 | -| PACKAGE_TYPE_PATCH | 7 | 补丁包 | +| PACKAGE_TYPE_NORMAL | 1 | 通用升级包
**系统能力**:SystemCapability.Updater.update_service| +| PACKAGE_TYPE_BASE | 2 | 基础升级包
**系统能力**:SystemCapability.Updater.update_service| +| PACKAGE_TYPE_CUST | 3 | 定制升级包
**系统能力**:SystemCapability.Updater.update_service| +| PACKAGE_TYPE_PRELOAD | 4 | 预装升级包
**系统能力**:SystemCapability.Updater.update_service| +| PACKAGE_TYPE_COTA | 5 | 参数配置升级包
**系统能力**:SystemCapability.Updater.update_service| +| PACKAGE_TYPE_VERSION | 6 | 版本升级包
**系统能力**:SystemCapability.Updater.update_service| +| PACKAGE_TYPE_PATCH | 7 | 补丁包
**系统能力**:SystemCapability.Updater.update_service| ## InstallMode @@ -484,9 +520,9 @@ update.getUpdatePolicy().then(value => { | 参数名 | 默认值 | 说明 | | ------------------- | ------ | -------- | -| INSTALL_MODE_NORMAL | 0 | 正常升级 | -| INSTALL_MODE_NIGHT | 1 | 夜间升级 | -| INSTALL_MODE_AUTO | 2 | 自动升级 | +| INSTALL_MODE_NORMAL | 0 | 正常升级
**系统能力**:SystemCapability.Updater.update_service| +| INSTALL_MODE_NIGHT | 1 | 夜间升级
**系统能力**:SystemCapability.Updater.update_service| +| INSTALL_MODE_AUTO | 2 | 自动升级
**系统能力**:SystemCapability.Updater.update_service| ## NewVersionStatus @@ -494,10 +530,10 @@ update.getUpdatePolicy().then(value => { | 参数名 | 默认值 | 说明 | | ------------------- | ------ | ---------------- | -| VERSION_STATUS_ERR | -1 | 检测版本时出错 | -| VERSION_STATUS_NEW | 0 | 检测到新版本 | -| VERSION_STATUS_NONE | 1 | 没有检测到新版本 | -| VERSION_STATUS_BUSY | 2 | 检测版本时忙 | +| VERSION_STATUS_ERR | -1 | 检测版本时出错
**系统能力**:SystemCapability.Updater.update_service| +| VERSION_STATUS_NEW | 0 | 检测到新版本
**系统能力**:SystemCapability.Updater.update_service| +| VERSION_STATUS_NONE | 1 | 没有检测到新版本
**系统能力**:SystemCapability.Updater.update_service| +| VERSION_STATUS_BUSY | 2 | 检测版本时忙
**系统能力**:SystemCapability.Updater.update_service| ## UpdatePolicy @@ -505,9 +541,9 @@ update.getUpdatePolicy().then(value => { | 名称 | 参数类型 | 必填 | 说明 | | ------------------- | --------------------------- | ---- | -------------- | -| autoDownload | bool | 是 | 自动升级开关 | -| installMode | [InstallMode](#installmode) | 是 | 安装模式 | -| autoUpgradeInterval | Array\ | 是 | 自动升级时间段 | +| autoDownload | bool | 是 | 自动升级开关
**系统能力**:SystemCapability.Updater.update_service| +| installMode | [InstallMode](#installmode) | 是 | 安装模式
**系统能力**:SystemCapability.Updater.update_service| +| autoUpgradeInterval | Array\ | 是 | 自动升级时间段
**系统能力**:SystemCapability.Updater.update_service| ## NewVersionInfo @@ -515,10 +551,10 @@ update.getUpdatePolicy().then(value => { | 名称 | 参数类型 | 必填 | 说明 | | --------------- | ------------------------------------------- | ---- | -------- | -| status | [NewVersionStatus](#newversionstatus) | 是 | 升级状态 | -| errMsg | string | 是 | 错误信息 | -| checkResults | Array<[CheckResult](#checkresult)> | 是 | 检测结果 | -| descriptionInfo | Array\<[DescriptionInfo](#descriptioninfo)> | 是 | 描述信息 | +| status | [NewVersionStatus](#newversionstatus) | 是 | 升级状态
**系统能力**:SystemCapability.Updater.update_service| +| errMsg | string | 是 | 错误信息
**系统能力**:SystemCapability.Updater.update_service| +| checkResults | Array<[CheckResult](#checkresult)> | 是 | 检测结果
**系统能力**:SystemCapability.Updater.update_service| +| descriptionInfo | Array\<[DescriptionInfo](#descriptioninfo)> | 是 | 描述信息
**系统能力**:SystemCapability.Updater.update_service| ## CheckResult @@ -526,12 +562,12 @@ update.getUpdatePolicy().then(value => { | 名称 | 参数类型 | 必填 | 说明 | | ------------- | ----------------------------- | ---- | ------------ | -| versionName | string | 是 | 版本名称 | -| versionCode | number | 是 | 版本编码 | -| size | number | 是 | 版本大小 | -| verifyInfo | string | 是 | 版本校验信息 | -| packageType | [PackageTypes](#packagetypes) | 是 | 版本类型 | -| descriptionId | string | 是 | 版本描述信息 | +| versionName | string | 是 | 版本名称
**系统能力**:SystemCapability.Updater.update_service| +| versionCode | number | 是 | 版本编码
**系统能力**:SystemCapability.Updater.update_service| +| size | number | 是 | 版本大小
**系统能力**:SystemCapability.Updater.update_service| +| verifyInfo | string | 是 | 版本校验信息
**系统能力**:SystemCapability.Updater.update_service| +| packageType | [PackageTypes](#packagetypes) | 是 | 版本类型
**系统能力**:SystemCapability.Updater.update_service| +| descriptionId | string | 是 | 版本描述信息
**系统能力**:SystemCapability.Updater.update_service| ## DescriptionInfo @@ -539,5 +575,5 @@ update.getUpdatePolicy().then(value => { | 名称 | 参数类型 | 必填 | 说明 | | ------------- | -------- | ---- | ----------------- | -| descriptionId | string | 是 | 版本versionId信息 | -| content | string | 是 | 版本changelog信息 | \ No newline at end of file +| descriptionId | string | 是 | 版本versionId信息
**系统能力**:SystemCapability.Updater.update_service| +| content | string | 是 | 版本changelog信息
**系统能力**:SystemCapability.Updater.update_service| \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-vector.md b/zh-cn/application-dev/reference/apis/js-apis-vector.md index c3e4ed2235f160924c8c9fa0d31896685e33d671..d19a085e4196163f08e93b6386bc432bd8b5216b 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-vector.md +++ b/zh-cn/application-dev/reference/apis/js-apis-vector.md @@ -48,24 +48,24 @@ add(element: T): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| element | T | 是 | 添加进去的元素 | +| element | T | 是 | 添加进去的元素。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 插入成功返回true,失败返回false | +| boolean | 插入成功返回true,失败返回false。 | **示例:** ``` let vector = new Vector(); -vector.add("a"); -vector.add(1); +let result = vector.add("a"); +let result1 = vector.add(1); let b = [1, 2, 3]; vector.add(b); let c = {name : "lala", age : "13"}; -vector.add(false); +let result3 = vector.add(c); ``` ### insert @@ -78,8 +78,8 @@ insert(element: T, index: number): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| element | T | 是 | 被插入的元素 | -| index | number | 是 | 被插入的位置索引 | +| element | T | 是 | 被插入的元素。 | +| index | number | 是 | 被插入的位置索引。 | **示例:** @@ -100,21 +100,21 @@ has(element: T): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| element | T | 是 | 指定的元素 | +| element | T | 是 | 指定的元素。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 是否包含指定元素 | +| boolean | 是否包含指定元素。 | **示例:** ``` let vector = new Vector(); -vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); vector.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); -vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); +let result = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ``` ### getIndexOf @@ -127,13 +127,13 @@ getIndexOf(element: T): number | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| element | T | 是 | 指定的元素 | +| element | T | 是 | 指定的元素。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| number | 返回指定元素第一次出现时的下标值,查找失败返回-1 | +| number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 | **示例:** @@ -146,7 +146,7 @@ vector.add(2); vector.add(1); vector.add(2); vector.add(4); -vector.getIndexOf(2); +let result = vector.getIndexOf(2); ``` ### getLastIndexOf @@ -178,7 +178,7 @@ vector.add(2); vector.add(1); vector.add(2); vector.add(4); -vector.getLastIndexOf(2); +let result = vector.getLastIndexOf(2); ``` ### removeByIndex @@ -208,7 +208,7 @@ vector.add(4); vector.add(5); vector.add(2); vector.add(4); -vector.removeByIndex(2); +let result = vector.removeByIndex(2); ``` ### remove @@ -237,7 +237,7 @@ vector.add(2); vector.add(4); vector.add(5); vector.add(4); -vector.remove(2); +let result = vector.remove(2); ``` ### removeByRange @@ -282,9 +282,9 @@ callbackfn的参数说明: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| value | T | 是 | 当前遍历到的元素 | -| index | number | 否 | 当前遍历到的下标值 | -| vector | Vector<T> | 否 | 当前调用replaceAllElements方法的实例对象 | +| value | T | 是 | 当前遍历到的元素。 | +| index | number | 否 | 当前遍历到的下标值。 | +| vector | Vector<T> | 否 | 当前调用replaceAllElements方法的实例对象。 | **示例:** @@ -377,8 +377,8 @@ subVector(fromIndex: number, toIndex: number): Vector<T> | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| fromIndex | number | 是 | 起始下标 | -| toIndex | number | 是 | 终止下标 | +| fromIndex | number | 是 | 起始下标。 | +| toIndex | number | 是 | 终止下标。 | **返回值:** @@ -394,9 +394,9 @@ vector.add(2); vector.add(4); vector.add(5); vector.add(4); -vector.subVector(2,4); -vector.subVector(4,3); -vector.subVector(2,6); +let result = vector.subVector(2,4); +let result1 = vector.subVector(4,3); +let result2 = vector.subVector(2,6); ``` @@ -419,15 +419,13 @@ vector.clear(); ### clone clone(): Vector<T> -克隆一个与Vector相同的实例,并返回克隆后的实例。 - -修改克隆后的实例并不会影响原实例。 +克隆一个与Vector相同的实例,并返回克隆后的实例。修改克隆后的实例并不会影响原实例。 **返回值:** | 类型 | 说明 | | -------- | -------- | -| Vector<T> | 返回Vector对象实例 | +| Vector<T> | 返回Vector对象实例。 | **示例:** @@ -437,7 +435,7 @@ vector.add(2); vector.add(4); vector.add(5); vector.add(4); -vector.clone(); +let result = vector.clone(); ``` ### getCapacity @@ -459,7 +457,7 @@ vector.add(2); vector.add(4); vector.add(5); vector.add(4); -vector.getCapacity(); +let result = vector.getCapacity(); ``` ### convertToArray @@ -481,7 +479,7 @@ vector.add(2); vector.add(4); vector.add(5); vector.add(4); -vector.convertToArray(); +let result = vector.convertToArray(); ``` ### isEmpty @@ -503,7 +501,7 @@ vector.add(2); vector.add(4); vector.add(5); vector.add(4); -vector.isEmpty(); +let result = vector.isEmpty(); ``` ### increaseCapacityTo @@ -565,13 +563,12 @@ vector.add(2); vector.add(4); vector.add(5); vector.add(4); -vector.toSting(); +let result = vector.toSting(); ``` ### copyToArray -copyToArray(array: Array<T>): void; - +copyToArray(array: Array<T>): void 将Vector实例中的元素按照下标复制到指定数组。 **参数:** @@ -589,7 +586,7 @@ vector.add(4); vector.add(5); vector.add(4); let array = ["a", "b", "c", "d", "e", "f"]; -vector.copyToArray(array); +let result = vector.copyToArray(array); ``` ### getFirstElement @@ -612,7 +609,7 @@ vector.add(2); vector.add(4); vector.add(5); vector.add(4); -vector.getFirstElement(); +let result = vector.getFirstElement(); ``` ### getLastElement @@ -635,7 +632,7 @@ vector.add(2); vector.add(4); vector.add(5); vector.add(4); -vector.getLastElement(); +let result = vector.getLastElement(); ``` ### getLastIndexFrom @@ -666,12 +663,12 @@ vector.add(4); vector.add(5); vector.add(4); vector.add("a"); -vector.getLastIndexFrom(4,3); +let result = vector.getLastIndexFrom(4,3); ``` ### getIndexFrom -getIndexFrom(element: T, index: number): number; +getIndexFrom(element: T, index: number): number 从指定索引向前搜索,返回该元素的下标索引。 @@ -697,11 +694,11 @@ vector.add(4); vector.add(5); vector.add(4); vector.add("a"); -vector.getIndexFrom(4, 3); +let result = vector.getIndexFrom(4, 3); ``` ### setLength -setLength(newSize: number): void; +setLength(newSize: number): void 设置Vector实例的元素个数。 @@ -723,6 +720,59 @@ vector.setLength(8); vector.setLength(2); ``` +### get +get(index: number): T +根据下标值获取Vector实例中的元素。 + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | index | number | 是 | 查找的下标值。 | + +**返回值:** + + | 类型 | 说明 | + | -------- | -------- | + | T | 返回获取到的元素。 | + +**示例:** + + ``` + let vector = new Vector(); + vector.add(2); + vector.add(4); + vector.add(5); + vector.add(4); + let result = vector.get(2); + ``` +### set +set(index: number, element: T): T +替换指定下标对应的元素。 + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | index | number | 是 | 指定下标。 | + +**返回值:** + + | 类型 | 说明 | + | -------- | -------- | + | T | 返回替换后的元素。 | + +**示例:** + + ``` + let vector = new Vector(); + vector.add(2); + vector.add(4); + vector.add(5); + vector.add(4); + let result = vector.set(2, "A"); + ``` + ### [Symbol.iterator] [Symbol.iterator]\(): IterableIterator<T> diff --git a/zh-cn/application-dev/reference/apis/js-apis-webgl.md b/zh-cn/application-dev/reference/apis/js-apis-webgl.md index b199eb4b73277ac1137883c258ae8027d272f91d..e247718d3ebca84f5b2b40258487ad70d4c63315 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-webgl.md +++ b/zh-cn/application-dev/reference/apis/js-apis-webgl.md @@ -1,696 +1,586 @@ -# WebGL - -> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 - - -WebGL标准图形API,对应OpenGL ES 2.0特性集。更多信息请参考[WebgGL™标准](https://www.khronos.org/registry/webgl/specs/latest/1.0/)。 - - - - -## 导入模块 - -``` -import webgl from 'ohos.webglnapi' -``` - - -## 系统能力 - -SystemCapability.Graphic.Graphic2D.WebGL - - -## 调用方式 - -``` -// 获取canvas组件实例 -const el = this.$refs.canvas -// 从canvas组件实例获取WebGL上下文 -const gl = el.getContext('webgl'); -// 调用WebGL API -gl.clearColor(0.0, 0.0, 0.0, 1.0); -gl.flush(); -``` - - -## GLenum - -| 名称 | 类型 | -| -------- | -------- | -| GLenum | number | - - -## GLboolean - -| 名称 | 类型 | -| -------- | -------- | -| GLboolean | boolean | - - -## GLbitfield - -| 名称 | 类型 | -| -------- | -------- | -| GLbitfield | number | - - -## GLbyte - -| 名称 | 类型 | -| -------- | -------- | -| GLbyte | number | - - -## GLshort - -| 名称 | 类型 | -| -------- | -------- | -| GLshort | number | - - -## GLint - -| 名称 | 类型 | -| -------- | -------- | -| GLint | number | - - -## GLsizei - -| 名称 | 类型 | -| -------- | -------- | -| GLsizei | number | - - -## GLintptr - -| 名称 | 类型 | -| -------- | -------- | -| GLintptr | number | - - -## GLsizeiptr - -| 名称 | 类型 | -| -------- | -------- | -| GLsizeiptr | number | - - -## GLubyte - -| 名称 | 类型 | -| -------- | -------- | -| GLubyte | number | - - -## GLushort - -| 名称 | 类型 | -| -------- | -------- | -| GLushort | number | - - -## GLuint - -| 名称 | 类型 | -| -------- | -------- | -| GLuint | number | - - -## GLfloat - -| 名称 | 类型 | -| -------- | -------- | -| GLfloat | number | - - -## GLclampf - -| 名称 | 类型 | -| -------- | -------- | -| GLclampf | number | - - -## TexImageSource - -| 名称 | 类型 | -| -------- | -------- | -| TexImageSource | ImageData | - - -## Float32List - -| 名称 | 类型 | -| -------- | -------- | -| Float32List | array | - - -## Int32List - -| 名称 | 类型 | -| -------- | -------- | -| Int32List | array | - - -## WebGLPowerPreference - -| 名称 | 类型 | -| -------- | -------- | -| WebGLPowerPreference | string | - - -## webgl.WebGLContextAttributes - -WebGLContextAttributes - - -| 名称 | 参数类型 | 必填 | -| -------- | -------- | -------- | -| alpha | boolean | 否 | -| depth | boolean | 否 | -| stencil | boolean | 否 | -| antialias | boolean | 否 | -| premultipliedAlpha | boolean | 否 | -| preserveDrawingBuffer | boolean | 否 | -| powerPreference | WebGLPowerPreference | 否 | -| failIfMajorPerformanceCaveat | boolean | 否 | -| desynchronized | boolean | 否 | - - -## webgl.WebGLBuffer - -WebGLBuffer - - -## webgl.WebGLFrameBuffer - -WebGLFrameBuffer - - -## webgl.WebGLProgram - -WebGLProgram - - -## webgl.WebGLRenderbuffer - -WebGLRenderbuffer - - -## webgl.WebGLShader - -WebGLShader - - -## webgl.WebGLTexture - -WebGLTexture - - -## webgl.WebGLUniformLocation - -WebGLUniformLocation - - -## webgl.WebGLActiveInfo - -WebGLActiveInfo - -| 名称 | 参数类型 | 必填 | -| -------- | -------- | -------- | -| size | [GLint](#glint) | 是 | -| type | [GLenum](#glenum) | 是 | -| name | string | 是 | - - -## webgl.WebGLShaderPrecisionFormat - -WebGLShaderPrecisionFormat - -| 名称 | 参数类型 | 必填 | -| -------- | -------- | -------- | -| rangeMin | [GLint](#glint) | 是 | -| rangeMax | [GLint](#glint) | 是 | -| precision | [GLint](#glint) | 是 | - - -## webgl.WebGLRenderingContextBase - -WebGLRenderingContextBase - - -### 属性 - -| 名称 | 参数类型 | 必填 | -| -------- | -------- | -------- | -| DEPTH_BUFFER_BIT | [GLenum](#glenum) | 是 | -| STENCIL_BUFFER_BIT | [GLenum](#glenum) | 是 | -| COLOR_BUFFER_BIT | [GLenum](#glenum) | 是 | -| POINTS | [GLenum](#glenum) | 是 | -| LINES | [GLenum](#glenum) | 是 | -| LINE_LOOP | [GLenum](#glenum) | 是 | -| LINE_STRIP | [GLenum](#glenum) | 是 | -| TRIANGLES | [GLenum](#glenum) | 是 | -| TRIANGLE_STRIP | [GLenum](#glenum) | 是 | -| TRIANGLE_FAN | [GLenum](#glenum) | 是 | -| ZERO | [GLenum](#glenum) | 是 | -| ONE | [GLenum](#glenum) | 是 | -| SRC_COLOR | [GLenum](#glenum) | 是 | -| ONE_MINUS_SRC_COLOR | [GLenum](#glenum) | 是 | -| SRC_ALPHA | [GLenum](#glenum) | 是 | -| ONE_MINUS_SRC_ALPHA | [GLenum](#glenum) | 是 | -| DST_ALPHA | [GLenum](#glenum) | 是 | -| ONE_MINUS_DST_ALPHA | [GLenum](#glenum) | 是 | -| DST_COLOR | [GLenum](#glenum) | 是 | -| ONE_MINUS_DST_COLOR | [GLenum](#glenum) | 是 | -| SRC_ALPHA_SATURATE | [GLenum](#glenum) | 是 | -| FUNC_ADD | [GLenum](#glenum) | 是 | -| BLEND_EQUATION | [GLenum](#glenum) | 是 | -| BLEND_EQUATION_RGB | [GLenum](#glenum) | 是 | -| BLEND_EQUATION_ALPHA | [GLenum](#glenum) | 是 | -| FUNC_SUBTRACT | [GLenum](#glenum) | 是 | -| FUNC_REVERSE_SUBTRACT | [GLenum](#glenum) | 是 | -| BLEND_DST_RGB | [GLenum](#glenum) | 是 | -| BLEND_SRC_RGB | [GLenum](#glenum) | 是 | -| BLEND_DST_ALPHA | [GLenum](#glenum) | 是 | -| BLEND_SRC_ALPHA | [GLenum](#glenum) | 是 | -| CONSTANT_COLOR | [GLenum](#glenum) | 是 | -| ONE_MINUS_CONSTANT_COLOR | [GLenum](#glenum) | 是 | -| CONSTANT_ALPHA | [GLenum](#glenum) | 是 | -| ONE_MINUS_CONSTANT_ALPHA | [GLenum](#glenum) | 是 | -| BLEND_COLOR | [GLenum](#glenum) | 是 | -| ARRAY_BUFFER | [GLenum](#glenum) | 是 | -| ELEMENT_ARRAY_BUFFER | [GLenum](#glenum) | 是 | -| ARRAY_BUFFER_BINDING | [GLenum](#glenum) | 是 | -| ELEMENT_ARRAY_BUFFER_BINDING | [GLenum](#glenum) | 是 | -| STREAM_DRAW | [GLenum](#glenum) | 是 | -| STATIC_DRAW | [GLenum](#glenum) | 是 | -| DYNAMIC_DRAW | [GLenum](#glenum) | 是 | -| BUFFER_SIZE | [GLenum](#glenum) | 是 | -| BUFFER_USAGE | [GLenum](#glenum) | 是 | -| CURRENT_VERTEX_ATTRIB | [GLenum](#glenum) | 是 | -| FRONT | [GLenum](#glenum) | 是 | -| BACK | [GLenum](#glenum) | 是 | -| FRONT_AND_BACK | [GLenum](#glenum) | 是 | -| CULL_FACE | [GLenum](#glenum) | 是 | -| BLEND | [GLenum](#glenum) | 是 | -| DITHER | [GLenum](#glenum) | 是 | -| STENCIL_TEST | [GLenum](#glenum) | 是 | -| DEPTH_TEST | [GLenum](#glenum) | 是 | -| SCISSOR_TEST | [GLenum](#glenum) | 是 | -| POLYGON_OFFSET_FILL | [GLenum](#glenum) | 是 | -| SAMPLE_ALPHA_TO_COVERAGE | [GLenum](#glenum) | 是 | -| SAMPLE_COVERAGE | [GLenum](#glenum) | 是 | -| NO_ERROR | [GLenum](#glenum) | 是 | -| INVALID_ENUM | [GLenum](#glenum) | 是 | -| INVALID_VALUE | [GLenum](#glenum) | 是 | -| INVALID_OPERATION | [GLenum](#glenum) | 是 | -| OUT_OF_MEMORY | [GLenum](#glenum) | 是 | -| CW | [GLenum](#glenum) | 是 | -| CCW | [GLenum](#glenum) | 是 | -| ALIASED_POINT_SIZE_RANGE | [GLenum](#glenum) | 是 | -| ALIASED_LINE_WIDTH_RANGE | [GLenum](#glenum) | 是 | -| CULL_FACE_MODE | [GLenum](#glenum) | 是 | -| FRONT_FACE | [GLenum](#glenum) | 是 | -| DEPTH_RANGE | [GLenum](#glenum) | 是 | -| DEPTH_WRITEMASK | [GLenum](#glenum) | 是 | -| DEPTH_CLEAR_VALUE | [GLenum](#glenum) | 是 | -| DEPTH_FUNC | [GLenum](#glenum) | 是 | -| STENCIL_CLEAR_VALUE | [GLenum](#glenum) | 是 | -| STENCIL_FUNC | [GLenum](#glenum) | 是 | -| STENCIL_FAIL | [GLenum](#glenum) | 是 | -| STENCIL_PASS_DEPTH_FAIL | [GLenum](#glenum) | 是 | -| STENCIL_PASS_DEPTH_PASS | [GLenum](#glenum) | 是 | -| STENCIL_REF | [GLenum](#glenum) | 是 | -| STENCIL_VALUE_MASK | [GLenum](#glenum) | 是 | -| STENCIL_WRITEMASK | [GLenum](#glenum) | 是 | -| STENCIL_BACK_FUNC | [GLenum](#glenum) | 是 | -| STENCIL_BACK_FAIL | [GLenum](#glenum) | 是 | -| STENCIL_BACK_PASS_DEPTH_FAIL | [GLenum](#glenum) | 是 | -| STENCIL_BACK_PASS_DEPTH_PASS | [GLenum](#glenum) | 是 | -| STENCIL_BACK_REF | [GLenum](#glenum) | 是 | -| STENCIL_BACK_VALUE_MASK | [GLenum](#glenum) | 是 | -| STENCIL_BACK_WRITEMASK | [GLenum](#glenum) | 是 | -| VIEWPORT | [GLenum](#glenum) | 是 | -| SCISSOR_BOX | [GLenum](#glenum) | 是 | -| COLOR_CLEAR_VALUE | [GLenum](#glenum) | 是 | -| COLOR_WRITEMASK | [GLenum](#glenum) | 是 | -| UNPACK_ALIGNMENT | [GLenum](#glenum) | 是 | -| PACK_ALIGNMENT | [GLenum](#glenum) | 是 | -| MAX_TEXTURE_SIZE | [GLenum](#glenum) | 是 | -| MAX_VIEWPORT_DIMS | [GLenum](#glenum) | 是 | -| SUBPIXEL_BITS | [GLenum](#glenum) | 是 | -| RED_BITS | [GLenum](#glenum) | 是 | -| GREEN_BITS | [GLenum](#glenum) | 是 | -| BLUE_BITS | [GLenum](#glenum) | 是 | -| ALPHA_BITS | [GLenum](#glenum) | 是 | -| DEPTH_BITS | [GLenum](#glenum) | 是 | -| STENCIL_BITS | [GLenum](#glenum) | 是 | -| POLYGON_OFFSET_UNITS | [GLenum](#glenum) | 是 | -| POLYGON_OFFSET_FACTOR | [GLenum](#glenum) | 是 | -| TEXTURE_BINDING_2D | [GLenum](#glenum) | 是 | -| SAMPLE_BUFFERS | [GLenum](#glenum) | 是 | -| SAMPLES | [GLenum](#glenum) | 是 | -| SAMPLE_COVERAGE_VALUE | [GLenum](#glenum) | 是 | -| SAMPLE_COVERAGE_INVERT | [GLenum](#glenum) | 是 | -| COMPRESSED_TEXTURE_FORMATS | [GLenum](#glenum) | 是 | -| DONT_CARE | [GLenum](#glenum) | 是 | -| FASTEST | [GLenum](#glenum) | 是 | -| NICEST | [GLenum](#glenum) | 是 | -| GENERATE_MIPMAP_HINT | [GLenum](#glenum) | 是 | -| BYTE | [GLenum](#glenum) | 是 | -| UNSIGNED_BYTE | [GLenum](#glenum) | 是 | -| SHORT | [GLenum](#glenum) | 是 | -| UNSIGNED_SHORT | [GLenum](#glenum) | 是 | -| INT | [GLenum](#glenum) | 是 | -| UNSIGNED_INT | [GLenum](#glenum) | 是 | -| FLOAT | [GLenum](#glenum) | 是 | -| DEPTH_COMPONENT | [GLenum](#glenum) | 是 | -| ALPHA | [GLenum](#glenum) | 是 | -| RGB | [GLenum](#glenum) | 是 | -| RGBA | [GLenum](#glenum) | 是 | -| LUMINANCE | [GLenum](#glenum) | 是 | -| LUMINANCE_ALPHA | [GLenum](#glenum) | 是 | -| UNSIGNED_SHORT_4_4_4_4 | [GLenum](#glenum) | 是 | -| UNSIGNED_SHORT_5_5_5_1 | [GLenum](#glenum) | 是 | -| UNSIGNED_SHORT_5_6_5 | [GLenum](#glenum) | 是 | -| FRAGMENT_SHADER | [GLenum](#glenum) | 是 | -| VERTEX_SHADER | [GLenum](#glenum) | 是 | -| MAX_VERTEX_ATTRIBS | [GLenum](#glenum) | 是 | -| MAX_VERTEX_UNIFORM_VECTORS | [GLenum](#glenum) | 是 | -| MAX_VARYING_VECTORS | [GLenum](#glenum) | 是 | -| MAX_COMBINED_TEXTURE_IMAGE_UNITS | [GLenum](#glenum) | 是 | -| MAX_VERTEX_TEXTURE_IMAGE_UNITS | [GLenum](#glenum) | 是 | -| MAX_TEXTURE_IMAGE_UNITS | [GLenum](#glenum) | 是 | -| MAX_FRAGMENT_UNIFORM_VECTORS | [GLenum](#glenum) | 是 | -| SHADER_TYPE | [GLenum](#glenum) | 是 | -| DELETE_STATUS | [GLenum](#glenum) | 是 | -| LINK_STATUS | [GLenum](#glenum) | 是 | -| VALIDATE_STATUS | [GLenum](#glenum) | 是 | -| ATTACHED_SHADERS | [GLenum](#glenum) | 是 | -| ACTIVE_UNIFORMS | [GLenum](#glenum) | 是 | -| ACTIVE_ATTRIBUTES | [GLenum](#glenum) | 是 | -| SHADING_LANGUAGE_VERSION | [GLenum](#glenum) | 是 | -| CURRENT_PROGRAM | [GLenum](#glenum) | 是 | -| NEVER | [GLenum](#glenum) | 是 | -| LESS | [GLenum](#glenum) | 是 | -| EQUAL | [GLenum](#glenum) | 是 | -| LEQUAL | [GLenum](#glenum) | 是 | -| GREATER | [GLenum](#glenum) | 是 | -| NOTEQUAL | [GLenum](#glenum) | 是 | -| GEQUAL | [GLenum](#glenum) | 是 | -| ALWAYS | [GLenum](#glenum) | 是 | -| KEEP | [GLenum](#glenum) | 是 | -| REPLACE | [GLenum](#glenum) | 是 | -| INCR | [GLenum](#glenum) | 是 | -| DECR | [GLenum](#glenum) | 是 | -| INVERT | [GLenum](#glenum) | 是 | -| INCR_WRAP | [GLenum](#glenum) | 是 | -| DECR_WRAP | [GLenum](#glenum) | 是 | -| VENDOR | [GLenum](#glenum) | 是 | -| RENDERER | [GLenum](#glenum) | 是 | -| VERSION | [GLenum](#glenum) | 是 | -| NEAREST | [GLenum](#glenum) | 是 | -| LINEAR | [GLenum](#glenum) | 是 | -| NEAREST_MIPMAP_NEAREST | [GLenum](#glenum) | 是 | -| LINEAR_MIPMAP_NEAREST | [GLenum](#glenum) | 是 | -| NEAREST_MIPMAP_LINEAR | [GLenum](#glenum) | 是 | -| LINEAR_MIPMAP_LINEAR | [GLenum](#glenum) | 是 | -| TEXTURE_MAG_FILTER | [GLenum](#glenum) | 是 | -| TEXTURE_MIN_FILTER | [GLenum](#glenum) | 是 | -| TEXTURE_WRAP_S | [GLenum](#glenum) | 是 | -| TEXTURE_WRAP_T | [GLenum](#glenum) | 是 | -| TEXTURE_2D | [GLenum](#glenum) | 是 | -| TEXTURE | [GLenum](#glenum) | 是 | -| TEXTURE_CUBE_MAP | [GLenum](#glenum) | 是 | -| TEXTURE_BINDING_CUBE_MAP | [GLenum](#glenum) | 是 | -| TEXTURE_CUBE_MAP_POSITIVE_X | [GLenum](#glenum) | 是 | -| TEXTURE_CUBE_MAP_NEGATIVE_X | [GLenum](#glenum) | 是 | -| TEXTURE_CUBE_MAP_POSITIVE_Y | [GLenum](#glenum) | 是 | -| TEXTURE_CUBE_MAP_NEGATIVE_Y | [GLenum](#glenum) | 是 | -| TEXTURE_CUBE_MAP_POSITIVE_Z | [GLenum](#glenum) | 是 | -| TEXTURE_CUBE_MAP_NEGATIVE_Z | [GLenum](#glenum) | 是 | -| TEXTURE0 | [GLenum](#glenum) | 是 | -| TEXTURE1 | [GLenum](#glenum) | 是 | -| TEXTURE2 | [GLenum](#glenum) | 是 | -| TEXTURE3 | [GLenum](#glenum) | 是 | -| TEXTURE4 | [GLenum](#glenum) | 是 | -| TEXTURE5 | [GLenum](#glenum) | 是 | -| TEXTURE6 | [GLenum](#glenum) | 是 | -| TEXTURE7 | [GLenum](#glenum) | 是 | -| TEXTURE8 | [GLenum](#glenum) | 是 | -| TEXTURE9 | [GLenum](#glenum) | 是 | -| TEXTURE10 | [GLenum](#glenum) | 是 | -| TEXTURE11 | [GLenum](#glenum) | 是 | -| TEXTURE12 | [GLenum](#glenum) | 是 | -| TEXTURE13 | [GLenum](#glenum) | 是 | -| TEXTURE14 | [GLenum](#glenum) | 是 | -| TEXTURE15 | [GLenum](#glenum) | 是 | -| TEXTURE16 | [GLenum](#glenum) | 是 | -| TEXTURE17 | [GLenum](#glenum) | 是 | -| TEXTURE18 | [GLenum](#glenum) | 是 | -| TEXTURE19 | [GLenum](#glenum) | 是 | -| TEXTURE20 | [GLenum](#glenum) | 是 | -| TEXTURE21 | [GLenum](#glenum) | 是 | -| TEXTURE22 | [GLenum](#glenum) | 是 | -| TEXTURE23 | [GLenum](#glenum) | 是 | -| TEXTURE24 | [GLenum](#glenum) | 是 | -| TEXTURE25 | [GLenum](#glenum) | 是 | -| TEXTURE26 | [GLenum](#glenum) | 是 | -| TEXTURE27 | [GLenum](#glenum) | 是 | -| TEXTURE28 | [GLenum](#glenum) | 是 | -| TEXTURE29 | [GLenum](#glenum) | 是 | -| TEXTURE30 | [GLenum](#glenum) | 是 | -| TEXTURE31 | [GLenum](#glenum) | 是 | -| ACTIVE_TEXTURE | [GLenum](#glenum) | 是 | -| REPEAT | [GLenum](#glenum) | 是 | -| CLAMP_TO_EDGE | [GLenum](#glenum) | 是 | -| MIRRORED_REPEAT | [GLenum](#glenum) | 是 | -| FLOAT_VEC2 | [GLenum](#glenum) | 是 | -| FLOAT_VEC3 | [GLenum](#glenum) | 是 | -| FLOAT_VEC4 | [GLenum](#glenum) | 是 | -| INT_VEC2 | [GLenum](#glenum) | 是 | -| INT_VEC3 | [GLenum](#glenum) | 是 | -| INT_VEC4 | [GLenum](#glenum) | 是 | -| BOOL | [GLenum](#glenum) | 是 | -| BOOL_VEC2 | [GLenum](#glenum) | 是 | -| BOOL_VEC3 | [GLenum](#glenum) | 是 | -| BOOL_VEC4 | [GLenum](#glenum) | 是 | -| FLOAT_MAT2 | [GLenum](#glenum) | 是 | -| FLOAT_MAT3 | [GLenum](#glenum) | 是 | -| FLOAT_MAT4 | [GLenum](#glenum) | 是 | -| SAMPLER_2D | [GLenum](#glenum) | 是 | -| SAMPLER_CUBE | [GLenum](#glenum) | 是 | -| VERTEX_ATTRIB_ARRAY_ENABLED | [GLenum](#glenum) | 是 | -| VERTEX_ATTRIB_ARRAY_SIZE | [GLenum](#glenum) | 是 | -| VERTEX_ATTRIB_ARRAY_STRIDE | [GLenum](#glenum) | 是 | -| VERTEX_ATTRIB_ARRAY_TYPE | [GLenum](#glenum) | 是 | -| VERTEX_ATTRIB_ARRAY_NORMALIZED | [GLenum](#glenum) | 是 | -| VERTEX_ATTRIB_ARRAY_POINTER | [GLenum](#glenum) | 是 | -| VERTEX_ATTRIB_ARRAY_BUFFER_BINDING | [GLenum](#glenum) | 是 | -| IMPLEMENTATION_COLOR_READ_TYPE | [GLenum](#glenum) | 是 | -| IMPLEMENTATION_COLOR_READ_FORMAT | [GLenum](#glenum) | 是 | -| COMPILE_STATUS | [GLenum](#glenum) | 是 | -| LOW_FLOAT | [GLenum](#glenum) | 是 | -| MEDIUM_FLOAT | [GLenum](#glenum) | 是 | -| HIGH_FLOAT | [GLenum](#glenum) | 是 | -| LOW_INT | [GLenum](#glenum) | 是 | -| MEDIUM_INT | [GLenum](#glenum) | 是 | -| HIGH_INT | [GLenum](#glenum) | 是 | -| FRAMEBUFFER | [GLenum](#glenum) | 是 | -| RENDERBUFFER | [GLenum](#glenum) | 是 | -| RGBA4 | [GLenum](#glenum) | 是 | -| RGB5_A1 | [GLenum](#glenum) | 是 | -| RGB565 | [GLenum](#glenum) | 是 | -| DEPTH_COMPONENT16 | [GLenum](#glenum) | 是 | -| STENCIL_INDEX8 | [GLenum](#glenum) | 是 | -| DEPTH_STENCIL | [GLenum](#glenum) | 是 | -| RENDERBUFFER_WIDTH | [GLenum](#glenum) | 是 | -| RENDERBUFFER_HEIGHT | [GLenum](#glenum) | 是 | -| RENDERBUFFER_INTERNAL_FORMAT | [GLenum](#glenum) | 是 | -| RENDERBUFFER_RED_SIZE | [GLenum](#glenum) | 是 | -| RENDERBUFFER_GREEN_SIZE | [GLenum](#glenum) | 是 | -| RENDERBUFFER_BLUE_SIZE | [GLenum](#glenum) | 是 | -| RENDERBUFFER_ALPHA_SIZE | [GLenum](#glenum) | 是 | -| RENDERBUFFER_DEPTH_SIZE | [GLenum](#glenum) | 是 | -| RENDERBUFFER_STENCIL_SIZE | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_OBJECT_NAME | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE | [GLenum](#glenum) | 是 | -| COLOR_ATTACHMENT0 | [GLenum](#glenum) | 是 | -| DEPTH_ATTACHMENT | [GLenum](#glenum) | 是 | -| STENCIL_ATTACHMENT | [GLenum](#glenum) | 是 | -| DEPTH_STENCIL_ATTACHMENT | [GLenum](#glenum) | 是 | -| NONE | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_COMPLETE | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_INCOMPLETE_ATTACHMENT | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_INCOMPLETE_DIMENSIONS | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_UNSUPPORTED | [GLenum](#glenum) | 是 | -| FRAMEBUFFER_BINDING | [GLenum](#glenum) | 是 | -| RENDERBUFFER_BINDING | [GLenum](#glenum) | 是 | -| MAX_RENDERBUFFER_SIZE | [GLenum](#glenum) | 是 | -| INVALID_FRAMEBUFFER_OPERATION | [GLenum](#glenum) | 是 | -| UNPACK_FLIP_Y_WEBGL | [GLenum](#glenum) | 是 | -| UNPACK_PREMULTIPLY_ALPHA_WEBGL | [GLenum](#glenum) | 是 | -| CONTEXT_LOST_WEBGL | [GLenum](#glenum) | 是 | -| UNPACK_COLORSPACE_CONVERSION_WEBGL | [GLenum](#glenum) | 是 | -| BROWSER_DEFAULT_WEBGL | [GLenum](#glenum) | 是 | -| canvas | HTMLCanvasElement \| OffscreenCanvas | 是 | -| drawingBufferWidth | [GLsizei](#glsizei) | 是 | -| drawingBufferHeight | [GLsizei](#glsizei) | 是 | - - -### 方法 - -| 方法 | 返回值类型 | -| -------- | -------- | -| getContextAttributes() | WebGLContextAttributes \| null | -| isContextLost() | boolean | -| getSupportedExtensions() | string[] \| null | -| getExtension(name: string) | any | -| activeTexture(texture: GLenum) | void | -| attachShader(program: WebGLProgram, shader: WebGLShader) | void | -| bindAttribLocation(program: WebGLProgram, index: GLuint, name: string) | void | -| bindBuffer(target: GLenum, buffer: WebGLBuffer \| null) | void | -| bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer \| null) | void | -| bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | -| bindTexture(target: GLenum, texture: WebGLTexture \| null) | void | -| blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | -| blendEquation(mode: GLenum) | void | -| blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) | void | -| blendFunc(sfactor: GLenum, dfactor: GLenum) | void | -| blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) | void | -| checkFramebufferStatus(target: GLenum) | GLenum | -| clear(mask: GLbitfield) | void | -| clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | -| clearDepth(depth: GLclampf) | void | -| clearStencil(s: GLint) | void | -| colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) | void | -| compileShader(shader: WebGLShader) | void | -| copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) | void | -| copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | -| createBuffer() | WebGLBuffer \| null | -| createFramebuffer() | WebGLFramebuffer \| null | -| createProgram() | WebGLProgram \| null | -| createRenderbuffer() | WebGLRenderbuffer \| null | -| createShader(type: GLenum) | WebGLShader \| null | -| createTexture() | WebGLTexture \| nullvoid | -| cullFace(mode: GLenum) | void | -| deleteBuffer(buffer: WebGLBuffer \| null) | void | -| deleteFramebuffer(framebuffer: WebGLFramebuffer \| null) | void | -| deleteProgram(program: WebGLProgram \| null) | void | -| deleteRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | void | -| deleteShader(shader: WebGLShader \| null) | void | -| deleteTexture(texture: WebGLTexture \| null) | void | -| depthFunc(func: GLenum) | void | -| depthMask(flag: GLboolean) | void | -| depthRange(zNear: GLclampf, zFar: GLclampf) | void | -| detachShader(program: WebGLProgram, shader: WebGLShader) | void | -| disable(cap: GLenum) | void | -| disableVertexAttribArray(index: GLuint) | void | -| drawArrays(mode: GLenum, first: GLint, count: GLsizei) | void | -| drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) | void | -| enable(cap: GLenum) | void | -| enableVertexAttribArray(index: GLuint) | void | -| finish() | void | -| flush() | void | -| framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | -| framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture \| null, level: GLint) | void | -| frontFace(mode: GLenum) | void | -| generateMipmap(target: GLenum) | void | -| getActiveAttrib(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | -| getActiveUniform(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | -| getAttachedShaders(program: WebGLProgram) | WebGLShader[] \| null | -| getAttribLocation(program: WebGLProgram, name: string) | GLint | -| getBufferParameter(target: GLenum, pname: GLenum) | any | -| getParameter(pname: GLenum) | any | -| getError() | GLenum | -| getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum) | any | -| getProgramParameter(program: WebGLProgram, pname: GLenum) | any | -| getProgramInfoLog(program: WebGLProgram) | string \| null | -| getRenderbufferParameter(target: GLenum, pname: GLenum) | any | -| getShaderParameter(shader: WebGLShader, pname: GLenum) | any | -| getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum) | WebGLShaderPrecisionFormat \| null | -| getShaderInfoLog(shader: WebGLShader) | string \| null | -| getShaderSource(shader: WebGLShader) | string \| null | -| getTexParameter(target: GLenum, pname: GLenum) | any | -| getUniform(program: WebGLProgram, location: WebGLUniformLocation) | any | -| getUniformLocation(program: WebGLProgram, name: string) | WebGLUniformLocation \| null | -| getVertexAttrib(index: GLuint, pname: GLenum) | any | -| getVertexAttribOffset(index: GLuint, pname: GLenum) | GLintptr | -| hint(target: GLenum, mode: GLenum) | void | -| isBuffer(buffer: WebGLBuffer \| null) | GLboolean | -| isEnabled(cap: GLenum) | GLboolean | -| isFramebuffer(framebuffer: WebGLFramebuffer \| null) | GLboolean | -| isProgram(program: WebGLProgram \| null) | GLboolean | -| isRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | GLboolean | -| isShader(shader: WebGLShader \| null) | GLboolean | -| isTexture(texture: WebGLTexture \| null) | GLboolean | -| lineWidth(width: GLfloat) | void | -| linkProgram(program: WebGLProgram) | void | -| pixelStorei(pname: GLenum, param: GLint \| GLboolean) | void | -| polygonOffset(factor: GLfloat, units: GLfloat) | void | -| renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | -| sampleCoverage(value: GLclampf, invert: GLboolean) | void | -| scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | -| shaderSource(shader: WebGLShader, source: string) | void | -| stencilFunc(func: GLenum, ref: GLint, mask: GLuint) | void | -| stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) | void | -| stencilMask(mask: GLuint) | void | -| stencilMaskSeparate(face: GLenum, mask: GLuint) | void | -| stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) | void | -| stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) | void | -| texParameterf(target: GLenum, pname: GLenum, param: GLfloat) | void | -| texParameteri(target: GLenum, pname: GLenum, param: GLint) | void | -| uniform1f(location: WebGLUniformLocation \| null, x: GLfloat) | void | -| uniform2f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat) | void | -| uniform3f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat) | void | -| uniform4f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | -| uniform1i(location: WebGLUniformLocation \| null, x: GLint) | void | -| uniform2i(location: WebGLUniformLocation \| null, x: GLint, y: GLint) | void | -| uniform3i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint) | void | -| uniform4i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint, w: GLint) | void | -| useProgram(program: WebGLProgram \| null) | void | -| validateProgram(program: WebGLProgram) | void | -| vertexAttrib1f(index: GLuint, x: GLfloat) | void | -| vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) | void | -| vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) | void | -| vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | -| vertexAttrib1fv(index: GLuint, values: Float32List) | void | -| vertexAttrib2fv(index: GLuint, values: Float32List) | void | -| vertexAttrib3fv(index: GLuint, values: Float32List) | void | -| vertexAttrib4fv(index: GLuint, values: Float32List) | void | -| vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) | void | -| viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | - - -## webgl.WebGLRenderingContextOverloads - -WebGLRenderingContextOverloads - -| 方法 | 返回值类型 | -| -------- | -------- | -| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void | -| bufferData(target: GLenum, data: BufferSource \| null, usage: GLenum) | void | -| bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource) | void | -| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) | void | -| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) | void | -| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | -| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | -| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | -| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | -| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | -| uniform1fv(location: WebGLUniformLocation \| null, v: Float32List) | void | -| uniform2fv(location: WebGLUniformLocation \| null, v: Float32List) | void | -| uniform3fv(location: WebGLUniformLocation \| null, v: Float32List) | void | -| uniform4fv(location: WebGLUniformLocation \| null, v: Float32List) | void | -| uniform1iv(location: WebGLUniformLocation \| null, v: Int32List) | void | -| uniform2iv(location: WebGLUniformLocation \| null, v: Int32List) | void | -| uniform3iv(location: WebGLUniformLocation \| null, v: Int32List) | void | -| uniform4iv(location: WebGLUniformLocation \| null, v: Int32List) | void | -| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | -| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | -| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | +# webgl + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +WebGL标准图形API,对应OpenGL ES 2.0特性集。更多信息请参考[WebGL™标准](https://www.khronos.org/registry/webgl/specs/latest/1.0/)。 + + +## 导入模块 + +``` +import webgl from '@ohos.webglnapi' +``` + + +## 调用方式 + +hml内创建canvas,示例如下: + + +``` +
+ + +
+``` + +js内获取canvas实例,示例如下: + + +``` +// 获取canvas组件实例 +const el = this.$refs.canvas1; +// 从canvas组件实例获取WebGL上下文 +const gl = el.getContext('webgl'); +// 调用WebGL API +gl.clearColor(0.0, 0.0, 0.0, 1.0); +``` + + +## Type + + **表1** Type + +| 名称 | 类型 | 说明 | +| -------- | -------- | -------- | +| GLenum | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLboolean | boolean | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLbitfield | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLbyte | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLshort | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLint | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLsizei | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLintptr | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLsizeiptr | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLubyte | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLushort | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLuint | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLfloat | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| GLclampf | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| TexImageSource | ImageData | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| Float32List | array | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| Int32List | array | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLPowerPreference | string | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | + + +## Interface + + **表2** Interface + +| 名称 | 说明 | +| -------- | -------- | +| [WebGLContextAttributes](#webglcontextattributes) | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLBuffer | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLFrameBuffer | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLProgram | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLRenderbuffer | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLShader | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLTexture | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| WebGLUniformLocation | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| [WebGLActiveInfo](#webglactiveinfo) | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| [WebGLShaderPrecisionFormat](#webglshaderprecisionformat) | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| [WebGLRenderingContextBase](#webglrenderingcontextbase) | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | +| [WebGLRenderingContextOverloads](#webglrenderingcontextoverloads) | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL | + + +## WebGLContextAttributes + +WebGLContextAttributes + + + | 名称 | 参数类型 | 必填 | +| -------- | -------- | -------- | +| alpha | boolean | 否 | +| depth | boolean | 否 | +| stencil | boolean | 否 | +| antialias | boolean | 否 | +| premultipliedAlpha | boolean | 否 | +| preserveDrawingBuffer | boolean | 否 | +| powerPreference | WebGLPowerPreference | 否 | +| failIfMajorPerformanceCaveat | boolean | 否 | +| desynchronized | boolean | 否 | + + +## WebGLActiveInfo + +WebGLActiveInfo + + | 名称 | 参数类型 | 必填 | +| -------- | -------- | -------- | +| size | GLint | 是 | +| type | GLenum | 是 | +| name | string | 是 | + + +## WebGLShaderPrecisionFormat + +WebGLShaderPrecisionFormat + + | 名称 | 参数类型 | 必填 | +| -------- | -------- | -------- | +| rangeMin | GLint | 是 | +| rangeMax | GLint | 是 | +| precision | GLint | 是 | + + +## WebGLRenderingContextBase + +WebGLRenderingContextBase + + +### 属性 + + | 名称 | 参数类型 | 必填 | +| -------- | -------- | -------- | +| DEPTH_BUFFER_BIT | GLenum | 是 | +| STENCIL_BUFFER_BIT | GLenum | 是 | +| COLOR_BUFFER_BIT | GLenum | 是 | +| POINTS | GLenum | 是 | +| LINES | GLenum | 是 | +| LINE_LOOP | GLenum | 是 | +| LINE_STRIP | GLenum | 是 | +| TRIANGLES | GLenum | 是 | +| TRIANGLE_STRIP | GLenum | 是 | +| TRIANGLE_FAN | GLenum | 是 | +| ZERO | GLenum | 是 | +| ONE | GLenum | 是 | +| SRC_COLOR | GLenum | 是 | +| ONE_MINUS_SRC_COLOR | GLenum | 是 | +| SRC_ALPHA | GLenum | 是 | +| ONE_MINUS_SRC_ALPHA | GLenum | 是 | +| DST_ALPHA | GLenum | 是 | +| ONE_MINUS_DST_ALPHA | GLenum | 是 | +| DST_COLOR | GLenum | 是 | +| ONE_MINUS_DST_COLOR | GLenum | 是 | +| SRC_ALPHA_SATURATE | GLenum | 是 | +| FUNC_ADD | GLenum | 是 | +| BLEND_EQUATION | GLenum | 是 | +| BLEND_EQUATION_RGB | GLenum | 是 | +| BLEND_EQUATION_ALPHA | GLenum | 是 | +| FUNC_SUBTRACT | GLenum | 是 | +| FUNC_REVERSE_SUBTRACT | GLenum | 是 | +| BLEND_DST_RGB | GLenum | 是 | +| BLEND_SRC_RGB | GLenum | 是 | +| BLEND_DST_ALPHA | GLenum | 是 | +| BLEND_SRC_ALPHA | GLenum | 是 | +| CONSTANT_COLOR | GLenum | 是 | +| ONE_MINUS_CONSTANT_COLOR | GLenum | 是 | +| CONSTANT_ALPHA | GLenum | 是 | +| ONE_MINUS_CONSTANT_ALPHA | GLenum | 是 | +| BLEND_COLOR | GLenum | 是 | +| ARRAY_BUFFER | GLenum | 是 | +| ELEMENT_ARRAY_BUFFER | GLenum | 是 | +| ARRAY_BUFFER_BINDING | GLenum | 是 | +| ELEMENT_ARRAY_BUFFER_BINDING | GLenum | 是 | +| STREAM_DRAW | GLenum | 是 | +| STATIC_DRAW | GLenum | 是 | +| DYNAMIC_DRAW | GLenum | 是 | +| BUFFER_SIZE | GLenum | 是 | +| BUFFER_USAGE | GLenum | 是 | +| CURRENT_VERTEX_ATTRIB | GLenum | 是 | +| FRONT | GLenum | 是 | +| BACK | GLenum | 是 | +| FRONT_AND_BACK | GLenum | 是 | +| CULL_FACE | GLenum | 是 | +| BLEND | GLenum | 是 | +| DITHER | GLenum | 是 | +| STENCIL_TEST | GLenum | 是 | +| DEPTH_TEST | GLenum | 是 | +| SCISSOR_TEST | GLenum | 是 | +| POLYGON_OFFSET_FILL | GLenum | 是 | +| SAMPLE_ALPHA_TO_COVERAGE | GLenum | 是 | +| SAMPLE_COVERAGE | GLenum | 是 | +| NO_ERROR | GLenum | 是 | +| INVALID_ENUM | GLenum | 是 | +| INVALID_VALUE | GLenum | 是 | +| INVALID_OPERATION | GLenum | 是 | +| OUT_OF_MEMORY | GLenum | 是 | +| CW | GLenum | 是 | +| CCW | GLenum | 是 | +| LINE_WIDTH | GLenum | 是 | +| ALIASED_POINT_SIZE_RANGE | GLenum | 是 | +| ALIASED_LINE_WIDTH_RANGE | GLenum | 是 | +| CULL_FACE_MODE | GLenum | 是 | +| FRONT_FACE | GLenum | 是 | +| DEPTH_RANGE | GLenum | 是 | +| DEPTH_WRITEMASK | GLenum | 是 | +| DEPTH_CLEAR_VALUE | GLenum | 是 | +| DEPTH_FUNC | GLenum | 是 | +| STENCIL_CLEAR_VALUE | GLenum | 是 | +| STENCIL_FUNC | GLenum | 是 | +| STENCIL_FAIL | GLenum | 是 | +| STENCIL_PASS_DEPTH_FAIL | GLenum | 是 | +| STENCIL_PASS_DEPTH_PASS | GLenum | 是 | +| STENCIL_REF | GLenum | 是 | +| STENCIL_VALUE_MASK | GLenum | 是 | +| STENCIL_WRITEMASK | GLenum | 是 | +| STENCIL_BACK_FUNC | GLenum | 是 | +| STENCIL_BACK_FAIL | GLenum | 是 | +| STENCIL_BACK_PASS_DEPTH_FAIL | GLenum | 是 | +| STENCIL_BACK_PASS_DEPTH_PASS | GLenum | 是 | +| STENCIL_BACK_REF | GLenum | 是 | +| STENCIL_BACK_VALUE_MASK | GLenum | 是 | +| STENCIL_BACK_WRITEMASK | GLenum | 是 | +| VIEWPORT | GLenum | 是 | +| SCISSOR_BOX | GLenum | 是 | +| COLOR_CLEAR_VALUE | GLenum | 是 | +| COLOR_WRITEMASK | GLenum | 是 | +| UNPACK_ALIGNMENT | GLenum | 是 | +| PACK_ALIGNMENT | GLenum | 是 | +| MAX_TEXTURE_SIZE | GLenum | 是 | +| MAX_VIEWPORT_DIMS | GLenum | 是 | +| SUBPIXEL_BITS | GLenum | 是 | +| RED_BITS | GLenum | 是 | +| GREEN_BITS | GLenum | 是 | +| BLUE_BITS | GLenum | 是 | +| ALPHA_BITS | GLenum | 是 | +| DEPTH_BITS | GLenum | 是 | +| STENCIL_BITS | GLenum | 是 | +| POLYGON_OFFSET_UNITS | GLenum | 是 | +| POLYGON_OFFSET_FACTOR | GLenum | 是 | +| TEXTURE_BINDING_2D | GLenum | 是 | +| SAMPLE_BUFFERS | GLenum | 是 | +| SAMPLES | GLenum | 是 | +| SAMPLE_COVERAGE_VALUE | GLenum | 是 | +| SAMPLE_COVERAGE_INVERT | GLenum | 是 | +| COMPRESSED_TEXTURE_FORMATS | GLenum | 是 | +| DONT_CARE | GLenum | 是 | +| FASTEST | GLenum | 是 | +| NICEST | GLenum | 是 | +| GENERATE_MIPMAP_HINT | GLenum | 是 | +| BYTE | GLenum | 是 | +| UNSIGNED_BYTE | GLenum | 是 | +| SHORT | GLenum | 是 | +| UNSIGNED_SHORT | GLenum | 是 | +| INT | GLenum | 是 | +| UNSIGNED_INT | GLenum | 是 | +| FLOAT | GLenum | 是 | +| DEPTH_COMPONENT | GLenum | 是 | +| ALPHA | GLenum | 是 | +| RGB | GLenum | 是 | +| RGBA | GLenum | 是 | +| LUMINANCE | GLenum | 是 | +| LUMINANCE_ALPHA | GLenum | 是 | +| UNSIGNED_SHORT_4_4_4_4 | GLenum | 是 | +| UNSIGNED_SHORT_5_5_5_1 | GLenum | 是 | +| UNSIGNED_SHORT_5_6_5 | GLenum | 是 | +| FRAGMENT_SHADER | GLenum | 是 | +| VERTEX_SHADER | GLenum | 是 | +| MAX_VERTEX_ATTRIBS | GLenum | 是 | +| MAX_VERTEX_UNIFORM_VECTORS | GLenum | 是 | +| MAX_VARYING_VECTORS | GLenum | 是 | +| MAX_COMBINED_TEXTURE_IMAGE_UNITS | GLenum | 是 | +| MAX_VERTEX_TEXTURE_IMAGE_UNITS | GLenum | 是 | +| MAX_TEXTURE_IMAGE_UNITS | GLenum | 是 | +| MAX_FRAGMENT_UNIFORM_VECTORS | GLenum | 是 | +| SHADER_TYPE | GLenum | 是 | +| DELETE_STATUS | GLenum | 是 | +| LINK_STATUS | GLenum | 是 | +| VALIDATE_STATUS | GLenum | 是 | +| ATTACHED_SHADERS | GLenum | 是 | +| ACTIVE_UNIFORMS | GLenum | 是 | +| ACTIVE_ATTRIBUTES | GLenum | 是 | +| SHADING_LANGUAGE_VERSION | GLenum | 是 | +| CURRENT_PROGRAM | GLenum | 是 | +| NEVER | GLenum | 是 | +| LESS | GLenum | 是 | +| EQUAL | GLenum | 是 | +| LEQUAL | GLenum | 是 | +| GREATER | GLenum | 是 | +| NOTEQUAL | GLenum | 是 | +| GEQUAL | GLenum | 是 | +| ALWAYS | GLenum | 是 | +| KEEP | GLenum | 是 | +| REPLACE | GLenum | 是 | +| INCR | GLenum | 是 | +| DECR | GLenum | 是 | +| INVERT | GLenum | 是 | +| INCR_WRAP | GLenum | 是 | +| DECR_WRAP | GLenum | 是 | +| VENDOR | GLenum | 是 | +| RENDERER | GLenum | 是 | +| VERSION | GLenum | 是 | +| NEAREST | GLenum | 是 | +| LINEAR | GLenum | 是 | +| NEAREST_MIPMAP_NEAREST | GLenum | 是 | +| LINEAR_MIPMAP_NEAREST | GLenum | 是 | +| NEAREST_MIPMAP_LINEAR | GLenum | 是 | +| LINEAR_MIPMAP_LINEAR | GLenum | 是 | +| TEXTURE_MIN_FILTER | GLenum | 是 | +| TEXTURE_WRAP_S | GLenum | 是 | +| TEXTURE_WRAP_T | GLenum | 是 | +| TEXTURE_2D | GLenum | 是 | +| TEXTURE | GLenum | 是 | +| TEXTURE_CUBE_MAP | GLenum | 是 | +| TEXTURE_BINDING_CUBE_MAP | GLenum | 是 | +| TEXTURE_CUBE_MAP_POSITIVE_X | GLenum | 是 | +| TEXTURE_CUBE_MAP_NEGATIVE_X | GLenum | 是 | +| TEXTURE_CUBE_MAP_POSITIVE_Y | GLenum | 是 | +| TEXTURE_CUBE_MAP_NEGATIVE_Y | GLenum | 是 | +| TEXTURE_CUBE_MAP_POSITIVE_Z | GLenum | 是 | +| TEXTURE_CUBE_MAP_NEGATIVE_Z | GLenum | 是 | +| MAX_CUBE_MAP_TEXTURE_SIZE | GLenum | 是 | +| TEXTURE0 | GLenum | 是 | +| TEXTURE1 | GLenum | 是 | +| TEXTURE2 | GLenum | 是 | +| TEXTURE3 | GLenum | 是 | +| TEXTURE4 | GLenum | 是 | +| TEXTURE5 | GLenum | 是 | +| TEXTURE6 | GLenum | 是 | +| TEXTURE7 | GLenum | 是 | +| TEXTURE8 | GLenum | 是 | +| TEXTURE9 | GLenum | 是 | +| TEXTURE10 | GLenum | 是 | +| TEXTURE11 | GLenum | 是 | +| TEXTURE12 | GLenum | 是 | +| TEXTURE13 | GLenum | 是 | +| TEXTURE14 | GLenum | 是 | +| TEXTURE15 | GLenum | 是 | +| TEXTURE16 | GLenum | 是 | +| TEXTURE17 | GLenum | 是 | +| TEXTURE18 | GLenum | 是 | +| TEXTURE19 | GLenum | 是 | +| TEXTURE20 | GLenum | 是 | +| TEXTURE21 | GLenum | 是 | +| TEXTURE22 | GLenum | 是 | +| TEXTURE23 | GLenum | 是 | +| TEXTURE24 | GLenum | 是 | +| TEXTURE25 | GLenum | 是 | +| TEXTURE26 | GLenum | 是 | +| TEXTURE27 | GLenum | 是 | +| TEXTURE28 | GLenum | 是 | +| TEXTURE29 | GLenum | 是 | +| TEXTURE30 | GLenum | 是 | +| TEXTURE31 | GLenum | 是 | +| ACTIVE_TEXTURE | GLenum | 是 | +| REPEAT | GLenum | 是 | +| CLAMP_TO_EDGE | GLenum | 是 | +| MIRRORED_REPEAT | GLenum | 是 | +| FLOAT_VEC2 | GLenum | 是 | +| FLOAT_VEC3 | GLenum | 是 | +| FLOAT_VEC4 | GLenum | 是 | +| INT_VEC2 | GLenum | 是 | +| INT_VEC3 | GLenum | 是 | +| INT_VEC4 | GLenum | 是 | +| BOOL | GLenum | 是 | +| BOOL_VEC2 | GLenum | 是 | +| BOOL_VEC3 | GLenum | 是 | +| BOOL_VEC4 | GLenum | 是 | +| FLOAT_MAT2 | GLenum | 是 | +| FLOAT_MAT3 | GLenum | 是 | +| FLOAT_MAT4 | GLenum | 是 | +| SAMPLER_2D | GLenum | 是 | +| SAMPLER_CUBE | GLenum | 是 | +| VERTEX_ATTRIB_ARRAY_ENABLED | GLenum | 是 | +| VERTEX_ATTRIB_ARRAY_SIZE | GLenum | 是 | +| VERTEX_ATTRIB_ARRAY_STRIDE | GLenum | 是 | +| VERTEX_ATTRIB_ARRAY_TYPE | GLenum | 是 | +| VERTEX_ATTRIB_ARRAY_NORMALIZED | GLenum | 是 | +| VERTEX_ATTRIB_ARRAY_POINTER | GLenum | 是 | +| VERTEX_ATTRIB_ARRAY_BUFFER_BINDING | GLenum | 是 | +| IMPLEMENTATION_COLOR_READ_TYPE | GLenum | 是 | +| IMPLEMENTATION_COLOR_READ_FORMAT | GLenum | 是 | +| COMPILE_STATUS | GLenum | 是 | +| LOW_FLOAT | GLenum | 是 | +| MEDIUM_FLOAT | GLenum | 是 | +| HIGH_FLOAT | GLenum | 是 | +| LOW_INT | GLenum | 是 | +| MEDIUM_INT | GLenum | 是 | +| HIGH_INT | GLenum | 是 | +| FRAMEBUFFER | GLenum | 是 | +| RENDERBUFFER | GLenum | 是 | +| RGBA4 | GLenum | 是 | +| RGB5_A1 | GLenum | 是 | +| RGB565 | GLenum | 是 | +| DEPTH_COMPONENT16 | GLenum | 是 | +| STENCIL_INDEX8 | GLenum | 是 | +| DEPTH_STENCIL | GLenum | 是 | +| RENDERBUFFER_WIDTH | GLenum | 是 | +| RENDERBUFFER_HEIGHT | GLenum | 是 | +| RENDERBUFFER_INTERNAL_FORMAT | GLenum | 是 | +| RENDERBUFFER_RED_SIZE | GLenum | 是 | +| RENDERBUFFER_GREEN_SIZE | GLenum | 是 | +| RENDERBUFFER_BLUE_SIZE | GLenum | 是 | +| RENDERBUFFER_ALPHA_SIZE | GLenum | 是 | +| RENDERBUFFER_DEPTH_SIZE | GLenum | 是 | +| RENDERBUFFER_STENCIL_SIZE | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE | GLenum | 是 | +| COLOR_ATTACHMENT0 | GLenum | 是 | +| DEPTH_ATTACHMENT | GLenum | 是 | +| STENCIL_ATTACHMENT | GLenum | 是 | +| DEPTH_STENCIL_ATTACHMENT | GLenum | 是 | +| NONE | GLenum | 是 | +| FRAMEBUFFER_COMPLETE | GLenum | 是 | +| FRAMEBUFFER_INCOMPLETE_ATTACHMENT | GLenum | 是 | +| FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT | GLenum | 是 | +| FRAMEBUFFER_INCOMPLETE_DIMENSIONS | GLenum | 是 | +| FRAMEBUFFER_UNSUPPORTED | GLenum | 是 | +| FRAMEBUFFER_BINDING | GLenum | 是 | +| RENDERBUFFER_BINDING | GLenum | 是 | +| MAX_RENDERBUFFER_SIZE | GLenum | 是 | +| INVALID_FRAMEBUFFER_OPERATION | GLenum | 是 | +| UNPACK_FLIP_Y_WEBGL | GLenum | 是 | +| UNPACK_PREMULTIPLY_ALPHA_WEBGL | GLenum | 是 | +| CONTEXT_LOST_WEBGL | GLenum | 是 | +| UNPACK_COLORSPACE_CONVERSION_WEBGL | GLenum | 是 | +| BROWSER_DEFAULT_WEBGL | GLenum | 是 | +| canvas | HTMLCanvasElement \| OffscreenCanvas | 是 | +| drawingBufferWidth | GLsizei | 是 | +| drawingBufferHeight | GLsizei | 是 | + + +### 方法 + + | 方法 | 返回值类型 | +| -------- | -------- | +| getContextAttributes() | WebGLContextAttributes \| null | +| isContextLost() | boolean | +| getSupportedExtensions() | string[] \| null | +| getExtension(name: string) | any | +| activeTexture(texture: GLenum) | void | +| attachShader(program: WebGLProgram, shader: WebGLShader) | void | +| bindAttribLocation(program: WebGLProgram, index: GLuint, name: string) | void | +| bindBuffer(target: GLenum, buffer: WebGLBuffer \| null) | void | +| bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer \| null) | void | +| bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | +| bindTexture(target: GLenum, texture: WebGLTexture \| null) | void | +| blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | +| blendEquation(mode: GLenum) | void | +| blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) | void | +| blendFunc(sfactor: GLenum, dfactor: GLenum) | void | +| blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) | void | +| checkFramebufferStatus(target: GLenum) | GLenum | +| clear(mask: GLbitfield) | void | +| clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void | +| clearDepth(depth: GLclampf) | void | +| clearStencil(s: GLint) | void | +| colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) | void | +| compileShader(shader: WebGLShader) | void | +| copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) | void | +| copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | +| createBuffer() | WebGLBuffer \| null | +| createFramebuffer() | WebGLFramebuffer \| null | +| createProgram() | WebGLProgram \| null | +| createRenderbuffer() | WebGLRenderbuffer \| null | +| createShader(type: GLenum) | WebGLShader \| null | +| createTexture() | WebGLTexture \| null | +| cullFace(mode: GLenum) | void | +| deleteBuffer(buffer: WebGLBuffer \| null) | void | +| deleteFramebuffer(framebuffer: WebGLFramebuffer \| null) | void | +| deleteProgram(program: WebGLProgram \| null) | void | +| deleteRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | void | +| deleteShader(shader: WebGLShader \| null) | void | +| deleteTexture(texture: WebGLTexture \| null) | void | +| depthFunc(func: GLenum) | void | +| depthMask(flag: GLboolean) | void | +| depthRange(zNear: GLclampf, zFar: GLclampf) | void | +| detachShader(program: WebGLProgram, shader: WebGLShader) | void | +| disable(cap: GLenum) | void | +| disableVertexAttribArray(index: GLuint) | void | +| drawArrays(mode: GLenum, first: GLint, count: GLsizei) | void | +| drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) | void | +| enable(cap: GLenum) | void | +| enableVertexAttribArray(index: GLuint) | void | +| finish() | void | +| flush() | void | +| framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void | +| framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture \| null, level: GLint) | void | +| frontFace(mode: GLenum) | void | +| generateMipmap(target: GLenum) | void | +| getActiveAttrib(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | +| getActiveUniform(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | +| getAttachedShaders(program: WebGLProgram) | WebGLShader[] \| null | +| getAttribLocation(program: WebGLProgram, name: string) | GLint | +| getBufferParameter(target: GLenum, pname: GLenum) | any | +| getParameter(pname: GLenum) | any | +| getError() | GLenum | +| getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum) | any | +| getProgramParameter(program: WebGLProgram, pname: GLenum) | any | +| getProgramInfoLog(program: WebGLProgram) | string \| null | +| getRenderbufferParameter(target: GLenum, pname: GLenum) | any | +| getShaderParameter(shader: WebGLShader, pname: GLenum) | any | +| getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum) | WebGLShaderPrecisionFormat \| null | +| getShaderInfoLog(shader: WebGLShader) | string \| null | +| getShaderSource(shader: WebGLShader) | string \| null | +| getTexParameter(target: GLenum, pname: GLenum) | any | +| getUniform(program: WebGLProgram, location: WebGLUniformLocation) | any | +| getUniformLocation(program: WebGLProgram, name: string) | WebGLUniformLocation \| null | +| getVertexAttrib(index: GLuint, pname: GLenum) | any | +| getVertexAttribOffset(index: GLuint, pname: GLenum) | GLintptr | +| hint(target: GLenum, mode: GLenum) | void | +| isBuffer(buffer: WebGLBuffer \| null) | GLboolean | +| isEnabled(cap: GLenum) | GLboolean | +| isFramebuffer(framebuffer: WebGLFramebuffer \| null) | GLboolean | +| isProgram(program: WebGLProgram \| null) | GLboolean | +| isRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | GLboolean | +| isShader(shader: WebGLShader \| null) | GLboolean | +| isTexture(texture: WebGLTexture \| null) | GLboolean | +| lineWidth(width: GLfloat) | void | +| linkProgram(program: WebGLProgram) | void | +| pixelStorei(pname: GLenum, param: GLint \| GLboolean) | void | +| polygonOffset(factor: GLfloat, units: GLfloat) | void | +| renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | +| sampleCoverage(value: GLclampf, invert: GLboolean) | void | +| scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | +| shaderSource(shader: WebGLShader, source: string) | void | +| stencilFunc(func: GLenum, ref: GLint, mask: GLuint) | void | +| stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) | void | +| stencilMask(mask: GLuint) | void | +| stencilMaskSeparate(face: GLenum, mask: GLuint) | void | +| stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) | void | +| stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) | void | +| texParameterf(target: GLenum, pname: GLenum, param: GLfloat) | void | +| texParameteri(target: GLenum, pname: GLenum, param: GLint) | void | +| uniform1f(location: WebGLUniformLocation \| null, x: GLfloat) | void | +| uniform2f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat) | void | +| uniform3f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat) | void | +| uniform4f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | +| uniform1i(location: WebGLUniformLocation \| null, x: GLint) | void | +| uniform2i(location: WebGLUniformLocation \| null, x: GLint, y: GLint) | void | +| uniform3i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint) | void | +| uniform4i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint, w: GLint) | void | +| useProgram(program: WebGLProgram \| null) | void | +| validateProgram(program: WebGLProgram) | void | +| vertexAttrib1f(index: GLuint, x: GLfloat) | void | +| vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) | void | +| vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) | void | +| vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void | +| vertexAttrib1fv(index: GLuint, values: Float32List) | void | +| vertexAttrib2fv(index: GLuint, values: Float32List) | void | +| vertexAttrib3fv(index: GLuint, values: Float32List) | void | +| vertexAttrib4fv(index: GLuint, values: Float32List) | void | +| vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) | void | +| viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | + + +## WebGLRenderingContextOverloads + +WebGLRenderingContextOverloads + + | 方法 | 返回值类型 | +| -------- | -------- | +| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void | +| bufferData(target: GLenum, data: BufferSource \| null, usage: GLenum) | void | +| bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource) | void | +| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) | void | +| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) | void | +| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void; | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| uniform1fv(location: WebGLUniformLocation \| null, v: Float32List) | void | +| uniform2fv(location: WebGLUniformLocation \| null, v: Float32List) | void | +| uniform3fv(location: WebGLUniformLocation \| null, v: Float32List) | void | +| uniform4fv(location: WebGLUniformLocation \| null, v: Float32List) | void | +| uniform1iv(location: WebGLUniformLocation \| null, v: Int32List) | void | +| uniform2iv(location: WebGLUniformLocation \| null, v: Int32List) | void | +| uniform3iv(location: WebGLUniformLocation \| null, v: Int32List) | void | +| uniform4iv(location: WebGLUniformLocation \| null, v: Int32List) | void | +| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | +| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | +| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void | diff --git a/zh-cn/application-dev/reference/apis/js-apis-webgl2.md b/zh-cn/application-dev/reference/apis/js-apis-webgl2.md index ab0618b8e9f36775d3181c4926fe1378aad95ddf..7a6147cd44ee9848005d6e471d418138e53daefd 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-webgl2.md +++ b/zh-cn/application-dev/reference/apis/js-apis-webgl2.md @@ -1,501 +1,481 @@ -# WebGL2 - -> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 - - -WebGL标准图形API,对应OpenGL ES 3.0特性集。更多信息请参考[WebgGL™标准](https://www.khronos.org/registry/webgl/specs/latest/2.0/)。 - - - -## 导入模块 - -``` -import webgl from 'ohos.webglnapi' -``` - - -## 系统能力 - -SystemCapability.Graphic.Graphic2D.WebGL2 - - -## 调用方式 - -``` -// 获取canvas组件实例 -const el = this.$refs.canvas -// 从canvas组件实例获取WebGL上下文 -const gl = el.getContext('webgl'); -const gl2 = el.getContext('webgl2'); -// 调用WebGL API -gl2.readBuffer(gl.COLOR_ATTACHMENT0) -``` - - -## GLenum - -| 名称 | 类型 | -| -------- | -------- | -| GLenum | number | - - -## Glint64 - -| 名称 | 类型 | -| -------- | -------- | -| Glint64 | number | - - -## Gluint64 - -| 名称 | 类型 | -| -------- | -------- | -| Gluint64 | number | - - -## Uint32List - -| 名称 | 类型 | -| -------- | -------- | -| Uint32List | array | - - -## webgl.webGL2RenderingContexBase - -WebGL2RenderingContexBase - - -### 属性 - -| 名称 | 参数类型 | 必填 | -| -------- | ------- | --------- | -| READ_BUFFER | [GLenum](#GLenum) | 是 | -| UNPACK_ROW_LENGTH | [GLenum](#GLenum) | 是 | -| UNPACK_SKIP_ROWS | [GLenum](#GLenum) | 是 | -| UNPACK_SKIP_PIXELS | [GLenum](#GLenum) | 是 | -| PACK_ROW_LENGTH | [GLenum](#GLenum) | 是 | -| PACK_SKIP_ROWS | [GLenum](#GLenum) | 是 | -| PACK_SKIP_PIXELS | [GLenum](#GLenum) | 是 | -| COLOR | [GLenum](#GLenum) | 是 | -| DEPTH | [GLenum](#GLenum) | 是 | -| STENCIL | [GLenum](#GLenum) | 是 | -| RED | [GLenum](#GLenum) | 是 | -| RGB8 | [GLenum](#GLenum) | 是 | -| RGBA8 | [GLenum](#GLenum) | 是 | -| RGB10_A2 | [GLenum](#GLenum) | 是 | -| TEXTURE_BINDING_3D | [GLenum](#GLenum) | 是 | -| UNPACK_SKIP_IMAGES | [GLenum](#GLenum) | 是 | -| UNPACK_IMAGE_HEIGHT | [GLenum](#GLenum) | 是 | -| TEXTURE_3D | [GLenum](#GLenum) | 是 | -| TEXTURE_WRAP_R | [GLenum](#GLenum) | 是 | -| MAX_3D_TEXTURE_SIZE | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_2_10_10_10_REV | [GLenum](#GLenum) | 是 | -| MAX_ELEMENTS_VERTICES | [GLenum](#GLenum) | 是 | -| MAX_ELEMENTS_INDICES | [GLenum](#GLenum) | 是 | -| TEXTURE_MIN_LOD | [GLenum](#GLenum) | 是 | -| TEXTURE_MAX_LOD | [GLenum](#GLenum) | 是 | -| TEXTURE_BASE_LEVEL | [GLenum](#GLenum) | 是 | -| TEXTURE_MAX_LEVEL | [GLenum](#GLenum) | 是 | -| MIN | [GLenum](#GLenum) | 是 | -| MAX | [GLenum](#GLenum) | 是 | -| DEPTH_COMPONENT24 | [GLenum](#GLenum) | 是 | -| MAX_TEXTURE_LOD_BIAS | [GLenum](#GLenum) | 是 | -| TEXTURE_COMPARE_MODE | [GLenum](#GLenum) | 是 | -| TEXTURE_COMPARE_FUNC | [GLenum](#GLenum) | 是 | -| CURRENT_QUERY | [GLenum](#GLenum) | 是 | -| QUERY_RESULT | [GLenum](#GLenum) | 是 | -| QUERY_RESULT_AVAILABLE | [GLenum](#GLenum) | 是 | -| STREAM_READ | [GLenum](#GLenum) | 是 | -| STREAM_COPY | [GLenum](#GLenum) | 是 | -| STATIC_READ | [GLenum](#GLenum) | 是 | -| STATIC_COPY | [GLenum](#GLenum) | 是 | -| DYNAMIC_READ | [GLenum](#GLenum) | 是 | -| DYNAMIC_COPY | [GLenum](#GLenum) | 是 | -| MAX_DRAW_BUFFERS | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER0 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER1 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER2 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER3 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER4 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER5 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER6 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER7 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER8 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER9 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER10 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER11 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER12 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER13 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER14 | [GLenum](#GLenum) | 是 | -| DRAW_BUFFER15 | [GLenum](#GLenum) | 是 | -| MAX_FRAGMENT_UNIFORM_COMPONENTS | [GLenum](#GLenum) | 是 | -| MAX_VERTEX_UNIFORM_COMPONENTS | [GLenum](#GLenum) | 是 | -| SAMPLER_3D | [GLenum](#GLenum) | 是 | -| SAMPLER_2D_SHADOW | [GLenum](#GLenum) | 是 | -| FRAGMENT_SHADER_DERIVATIVE_HINT | [GLenum](#GLenum) | 是 | -| PIXEL_PACK_BUFFER | [GLenum](#GLenum) | 是 | -| PIXEL_UNPACK_BUFFER | [GLenum](#GLenum) | 是 | -| PIXEL_PACK_BUFFER_BINDING | [GLenum](#GLenum) | 是 | -| PIXEL_UNPACK_BUFFER_BINDING | [GLenum](#GLenum) | 是 | -| FLOAT_MAT2x3 | [GLenum](#GLenum) | 是 | -| FLOAT_MAT2x4 | [GLenum](#GLenum) | 是 | -| FLOAT_MAT3x2 | [GLenum](#GLenum) | 是 | -| FLOAT_MAT3x4 | [GLenum](#GLenum) | 是 | -| FLOAT_MAT4x2 | [GLenum](#GLenum) | 是 | -| FLOAT_MAT4x3 | [GLenum](#GLenum) | 是 | -| SRGB | [GLenum](#GLenum) | 是 | -| SRGB8 | [GLenum](#GLenum) | 是 | -| SRGB8_ALPHA8 | [GLenum](#GLenum) | 是 | -| COMPARE_REF_TO_TEXTURE | [GLenum](#GLenum) | 是 | -| RGBA32F | [GLenum](#GLenum) | 是 | -| RGB32F | [GLenum](#GLenum) | 是 | -| RGBA16F | [GLenum](#GLenum) | 是 | -| RGB16F | [GLenum](#GLenum) | 是 | -| VERTEX_ATTRIB_ARRAY_INTEGER | [GLenum](#GLenum) | 是 | -| MAX_ARRAY_TEXTURE_LAYERS | [GLenum](#GLenum) | 是 | -| MIN_PROGRAM_TEXEL_OFFSET | [GLenum](#GLenum) | 是 | -| MAX_PROGRAM_TEXEL_OFFSET | [GLenum](#GLenum) | 是 | -| MAX_VARYING_COMPONENTS | [GLenum](#GLenum) | 是 | -| TEXTURE_2D_ARRAY | [GLenum](#GLenum) | 是 | -| TEXTURE_BINDING_2D_ARRAY | [GLenum](#GLenum) | 是 | -| R11F_G11F_B10F | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_10F_11F_11F_REV | [GLenum](#GLenum) | 是 | -| RGB9_E5 | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_5_9_9_9_REV | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_BUFFER_MODE | [GLenum](#GLenum) | 是 | -| MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_VARYINGS | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_BUFFER_START | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_BUFFER_SIZE | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN | [GLenum](#GLenum) | 是 | -| RASTERIZER_DISCARD | [GLenum](#GLenum) | 是 | -| MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS | [GLenum](#GLenum) | 是 | -| MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS | [GLenum](#GLenum) | 是 | -| INTERLEAVED_ATTRIBS | [GLenum](#GLenum) | 是 | -| SEPARATE_ATTRIBS | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_BUFFER | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_BUFFER_BINDING | [GLenum](#GLenum) | 是 | -| RGBA32UI | [GLenum](#GLenum) | 是 | -| RGB32UI | [GLenum](#GLenum) | 是 | -| RGBA16UI | [GLenum](#GLenum) | 是 | -| RGB16UI | [GLenum](#GLenum) | 是 | -| RGBA8UI | [GLenum](#GLenum) | 是 | -| RGB8UI | [GLenum](#GLenum) | 是 | -| RGBA32I | [GLenum](#GLenum) | 是 | -| RGB32I | [GLenum](#GLenum) | 是 | -| RGBA16I | [GLenum](#GLenum) | 是 | -| RGB16I | [GLenum](#GLenum) | 是 | -| RGBA8I | [GLenum](#GLenum) | 是 | -| RGB8I | [GLenum](#GLenum) | 是 | -| RED_INTEGER | [GLenum](#GLenum) | 是 | -| RGB_INTEGER | [GLenum](#GLenum) | 是 | -| RGBA_INTEGER | [GLenum](#GLenum) | 是 | -| SAMPLER_2D_ARRAY | [GLenum](#GLenum) | 是 | -| SAMPLER_2D_ARRAY_SHADOW | [GLenum](#GLenum) | 是 | -| SAMPLER_CUBE_SHADOW | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_VEC2 | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_VEC3 | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_VEC4 | [GLenum](#GLenum) | 是 | -| INT_SAMPLER_2D | [GLenum](#GLenum) | 是 | -| INT_SAMPLER_3D | [GLenum](#GLenum) | 是 | -| INT_SAMPLER_CUBE | [GLenum](#GLenum) | 是 | -| INT_SAMPLER_2D_ARRAY | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_SAMPLER_2D | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_SAMPLER_3D | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_SAMPLER_CUBE | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_SAMPLER_2D_ARRAY | [GLenum](#GLenum) | 是 | -| DEPTH_COMPONENT32F | [GLenum](#GLenum) | 是 | -| DEPTH32F_STENCIL8 | [GLenum](#GLenum) | 是 | -| FLOAT_32_UNSIGNED_INT_24_8_REV | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_RED_SIZE | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_GREEN_SIZE | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_BLUE_SIZE | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_DEFAULT | [GLenum](#GLenum) | 是 | -| UNSIGNED_INT_24_8 | [GLenum](#GLenum) | 是 | -| DEPTH24_STENCIL8 | [GLenum](#GLenum) | 是 | -| UNSIGNED_NORMALIZED | [GLenum](#GLenum) | 是 | -| DRAW_FRAMEBUFFER_BINDING | [GLenum](#GLenum) | 是 | -| READ_FRAMEBUFFER | [GLenum](#GLenum) | 是 | -| DRAW_FRAMEBUFFER | [GLenum](#GLenum) | 是 | -| READ_FRAMEBUFFER_BINDING | [GLenum](#GLenum) | 是 | -| RENDERBUFFER_SAMPLES | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER | [GLenum](#GLenum) | 是 | -| MAX_COLOR_ATTACHMENTS | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT1 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT2 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT3 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT4 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT5 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT6 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT7 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT8 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT9 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT10 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT11 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT12 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT13 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT14 | [GLenum](#GLenum) | 是 | -| COLOR_ATTACHMENT15 | [GLenum](#GLenum) | 是 | -| FRAMEBUFFER_INCOMPLETE_MULTISAMPLE | [GLenum](#GLenum) | 是 | -| MAX_SAMPLES | [GLenum](#GLenum) | 是 | -| HALF_FLOAT | [GLenum](#GLenum) | 是 | -| RG | [GLenum](#GLenum) | 是 | -| RG_INTEGER | [GLenum](#GLenum) | 是 | -| R8 | [GLenum](#GLenum) | 是 | -| RG8 | [GLenum](#GLenum) | 是 | -| R16F | [GLenum](#GLenum) | 是 | -| R32F | [GLenum](#GLenum) | 是 | -| RG16F | [GLenum](#GLenum) | 是 | -| RG32F | [GLenum](#GLenum) | 是 | -| R8I | [GLenum](#GLenum) | 是 | -| R8UI | [GLenum](#GLenum) | 是 | -| R16I | [GLenum](#GLenum) | 是 | -| R16UI | [GLenum](#GLenum) | 是 | -| R32I | [GLenum](#GLenum) | 是 | -| R32UI | [GLenum](#GLenum) | 是 | -| RG8I | [GLenum](#GLenum) | 是 | -| RG8UI | [GLenum](#GLenum) | 是 | -| RG16I | [GLenum](#GLenum) | 是 | -| RG16UI | [GLenum](#GLenum) | 是 | -| RG32I | [GLenum](#GLenum) | 是 | -| RG32UI | [GLenum](#GLenum) | 是 | -| VERTEX_ARRAY_BINDING | [GLenum](#GLenum) | 是 | -| R8_SNORM | [GLenum](#GLenum) | 是 | -| RG8_SNORM | [GLenum](#GLenum) | 是 | -| RGB8_SNORM | [GLenum](#GLenum) | 是 | -| SIGNED_NORMALIZED | [GLenum](#GLenum) | 是 | -| COPY_READ_BUFFER | [GLenum](#GLenum) | 是 | -| COPY_WRITE_BUFFER | [GLenum](#GLenum) | 是 | -| COPY_READ_BUFFER_BINDING | [GLenum](#GLenum) | 是 | -| COPY_WRITE_BUFFER_BINDING | [GLenum](#GLenum) | 是 | -| UNIFORM_BUFFER | [GLenum](#GLenum) | 是 | -| UNIFORM_BUFFER_BINDING | [GLenum](#GLenum) | 是 | -| UNIFORM_BUFFER_START | [GLenum](#GLenum) | 是 | -| UNIFORM_BUFFER_SIZE | [GLenum](#GLenum) | 是 | -| MAX_VERTEX_UNIFORM_BLOCKS | [GLenum](#GLenum) | 是 | -| MAX_FRAGMENT_UNIFORM_BLOCKS | [GLenum](#GLenum) | 是 | -| MAX_COMBINED_UNIFORM_BLOCKS | [GLenum](#GLenum) | 是 | -| MAX_UNIFORM_BUFFER_BINDINGS | [GLenum](#GLenum) | 是 | -| MAX_UNIFORM_BLOCK_SIZE | [GLenum](#GLenum) | 是 | -| MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS | [GLenum](#GLenum) | 是 | -| MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS | [GLenum](#GLenum) | 是 | -| UNIFORM_BUFFER_OFFSET_ALIGNMENT | [GLenum](#GLenum) | 是 | -| ACTIVE_UNIFORM_BLOCKS | [GLenum](#GLenum) | 是 | -| UNIFORM_TYPE | [GLenum](#GLenum) | 是 | -| UNIFORM_SIZE | [GLenum](#GLenum) | 是 | -| UNIFORM_BLOCK_INDEX | [GLenum](#GLenum) | 是 | -| UNIFORM_OFFSET | [GLenum](#GLenum) | 是 | -| UNIFORM_ARRAY_STRIDE | [GLenum](#GLenum) | 是 | -| UNIFORM_MATRIX_STRIDE | [GLenum](#GLenum) | 是 | -| UNIFORM_IS_ROW_MAJOR | [GLenum](#GLenum) | 是 | -| UNIFORM_BLOCK_BINDING | [GLenum](#GLenum) | 是 | -| UNIFORM_BLOCK_DATA_SIZE | [GLenum](#GLenum) | 是 | -| UNIFORM_BLOCK_ACTIVE_UNIFORMS | [GLenum](#GLenum) | 是 | -| UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES | [GLenum](#GLenum) | 是 | -| UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER | [GLenum](#GLenum) | 是 | -| UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER | [GLenum](#GLenum) | 是 | -| INVALID_INDEX | [GLenum](#GLenum) | 是 | -| MAX_VERTEX_OUTPUT_COMPONENTS | [GLenum](#GLenum) | 是 | -| MAX_FRAGMENT_INPUT_COMPONENTS | [GLenum](#GLenum) | 是 | -| MAX_SERVER_WAIT_TIMEOUT | [GLenum](#GLenum) | 是 | -| OBJECT_TYPE | [GLenum](#GLenum) | 是 | -| SYNC_CONDITION | [GLenum](#GLenum) | 是 | -| SYNC_STATUS | [GLenum](#GLenum) | 是 | -| SYNC_FLAGS | [GLenum](#GLenum) | 是 | -| SYNC_FENCE | [GLenum](#GLenum) | 是 | -| SYNC_GPU_COMMANDS_COMPLETE | [GLenum](#GLenum) | 是 | -| UNSIGNALED | [GLenum](#GLenum) | 是 | -| SIGNALED | [GLenum](#GLenum) | 是 | -| ALREADY_SIGNALED | [GLenum](#GLenum) | 是 | -| TIMEOUT_EXPIRED | [GLenum](#GLenum) | 是 | -| CONDITION_SATISFIED | [GLenum](#GLenum) | 是 | -| WAIT_FAILED | [GLenum](#GLenum) | 是 | -| SYNC_FLUSH_COMMANDS_BIT | [GLenum](#GLenum) | 是 | -| VERTEX_ATTRIB_ARRAY_DIVISOR | [GLenum](#GLenum) | 是 | -| ANY_SAMPLES_PASSED | [GLenum](#GLenum) | 是 | -| ANY_SAMPLES_PASSED_CONSERVATIVE | [GLenum](#GLenum) | 是 | -| SAMPLER_BINDING | [GLenum](#GLenum) | 是 | -| RGB10_A2UI | [GLenum](#GLenum) | 是 | -| INT_2_10_10_10_REV | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_PAUSED | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_ACTIVE | [GLenum](#GLenum) | 是 | -| TRANSFORM_FEEDBACK_BINDING | [GLenum](#GLenum) | 是 | -| TEXTURE_IMMUTABLE_FORMAT | [GLenum](#GLenum) | 是 | -| MAX_ELEMENT_INDEX | [GLenum](#GLenum) | 是 | -| TEXTURE_IMMUTABLE_LEVELS | [GLenum](#GLenum) | 是 | -| TIMEOUT_IGNORED | [GLenum](#GLenum) | 是 | -| MAX_CLIENT_WAIT_TIMEOUT_WEBGL | [GLenum](#GLenum) | 是 | - - -### 方法 - -| 方法 | 返回值类型 | -| -------- | ---------- | -| copyBufferSubData(readTarget:  GLenum,  writeTarget:  GLenum,  readOffset:  GLintptr,  writeOffset:  GLintptr,  size:  GLsizeiptr) | void | -| getBufferSubData(target:  GLenum,  srcByteOffset:  GLintptr,  dstBuffer:  ArrayBufferView,  dstOffset?:  GLuint,  length?:  GLuint) | void | -| blitFramebuffer(srcX0:  GLint,  srcY0:  GLint,  srcX1:  GLint,  srcY1:  GLint,  dstX0:  GLint,  dstY0:  GLint,  dstX1:  GLint,  dstY1:  GLint,  mask:  GLbitfield,  filter:  GLenum) | void | -| framebufferTextureLayer(target:  GLenum,  attachment:  GLenum,  texture:  WebGLTexture \| null,  level:  GLint,  layer:  GLint) | void | -| invalidateFramebuffer(target:  GLenum,  attachments:  GLenum[]) | void | -| invalidateSubFramebuffer(target:  GLenum,  attachments:  GLenum[],  x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei) | void | -| readBuffer(src:  GLenum) | void | -| getInternalformatParameter(target:  GLenum,  internalformat:  GLenum,  pname:  GLenum) | any | -| renderbufferStorageMultisample(target:  GLenum,  samples:  GLsizei,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei) | void | -| texStorage2D(target:  GLenum,  levels:  GLsizei,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei) | void | -| texStorage3D(target:  GLenum,  levels:  GLsizei,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei) | void | -| texImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  pboOffset:  GLintptr) | void | -| texImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView \| null) | void | -| texImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView,  srcOffset:  GLuint) | void | -| texSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  type:  GLenum,  pboOffset:  GLintptr) | void | -| texSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView \| null,  srcOffset?:  GLuint) | void | -| copyTexSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei) | void | -| compressedTexImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  imageSize:  GLsizei,  offset:  GLintptr) | void | -| compressedTexImage3D(target:  GLenum,  level:  GLint,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  border:  GLint,  srcData:  ArrayBufferView,  srcOffset?:  GLuint,  srcLengthOverride?:  GLuint) | void | -| compressedTexSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  imageSize:  GLsizei,  offset:  GLintptr) | void | -| compressedTexSubImage3D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  zoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  depth:  GLsizei,  format:  GLenum,  srcData:  ArrayBufferView,  srcOffset?:  GLuint,  srcLengthOverride?:  GLuint) | void | -| getFragDataLocation(program:  WebGLProgram,  name:  string) | GLint | -| uniform1ui(location:  WebGLUniformLocation \| null,  v0:  GLuint) | void | -| uniform2ui(location:  WebGLUniformLocation \| null,  v0:  GLuint,  v1:  GLuint) | void | -| uniform3ui(location:  WebGLUniformLocation \| null,  v0:  GLuint,  v1:  GLuint,  v2:  GLuint) | void | -| uniform4ui(location:  WebGLUniformLocation \| null,  v0:  GLuint,  v1:  GLuint,  v2:  GLuint,  v3:  GLuint) | void | -| uniform1uiv(location:  WebGLUniformLocation \| null,  data:  Uint32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform2uiv(location:  WebGLUniformLocation \| null,  data:  Uint32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform3uiv(location:  WebGLUniformLocation \| null,  data:  Uint32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform4uiv(location:  WebGLUniformLocation \| null,  data:  Uint32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix3x2fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix4x2fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix2x3fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix4x3fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix2x4fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix3x4fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| vertexAttribI4i(index:  GLuint,  x:  GLint,  y:  GLint,  z:  GLint,  w:  GLint) | void | -| vertexAttribI4iv(index:  GLuint,  values:  Int32List) | void | -| vertexAttribI4ui(index:  GLuint,  x:  GLuint,  y:  GLuint,  z:  GLuint,  w:  GLuint) | void | -| vertexAttribI4uiv(index:  GLuint,  values:  Uint32List) | void | -| vertexAttribIPointer(index:  GLuint,  size:  GLint,  type:  GLenum,  stride:  GLsizei,  offset:  GLintptr) | void | -| vertexAttribDivisor(index:  GLuint,  divisor:  GLuint) | void | -| drawArraysInstanced(mode:  GLenum,  first:  GLint,  count:  GLsizei,  instanceCount:  GLsizei) | void | -| drawElementsInstanced(mode:  GLenum,  count:  GLsizei,  type:  GLenum,  offset:  GLintptr,  instanceCount:  GLsizei) | void | -| drawRangeElements(mode:  GLenum,  start:  GLuint,  end:  GLuint,  count:  GLsizei,  type:  GLenum,  offset:  GLintptr) | void | -| drawBuffers(buffers:  GLenum[]) | void | -| clearBufferfv(buffer:  GLenum,  drawbuffer:  GLint,  values:  Float32List,  srcOffset?:  GLuint) | void | -| clearBufferiv(buffer:  GLenum,  drawbuffer:  GLint,  values:  Int32List,  srcOffset?:  GLuint) | void | -| clearBufferuiv(buffer:  GLenum,  drawbuffer:  GLint,  values:  Uint32List,  srcOffset?:  GLuint) | void | -| clearBufferfi(buffer:  GLenum,  drawbuffer:  GLint,  depth:  GLfloat,  stencil:  GLint) | void | -| createQuery() | WebGLQuery \| null | -| deleteQuery(query:  WebGLQuery \| null) | void | -| isQuery(query:  WebGLQuery \| null) | GLboolean | -| beginQuery(target:  GLenum,  query:  WebGLQuery) | void | -| endQuery(target:  GLenum) | void | -| getQuery(target:  GLenum,  pname:  GLenum) | WebGLQuery \| null | -| getQueryParameter(query:  WebGLQuery,  pname:  GLenum) | any | -| createSampler() | WebGLSampler \| null | -| deleteSampler(sampler:  WebGLSampler \| null) | void | -| isSampler(sampler:  WebGLSampler \| null) | GLboolean | -| bindSampler(unit:  GLuint,  sampler:  WebGLSampler \| null) | void | -| samplerParameteri(sampler:  WebGLSampler,  pname:  GLenum,  param:  GLint) | void | -| samplerParameterf(sampler:  WebGLSampler,  pname:  GLenum,  param:  GLfloat) | void | -| getSamplerParameter(sampler:  WebGLSampler,  pname:  GLenum) | any | -| fenceSync(condition:  GLenum,  flags:  GLbitfield) | WebGLSync \| null | -| isSync(sync:  WebGLSync \| null) | GLboolean | -| deleteSync(sync:  WebGLSync \| null) | void | -| clientWaitSync(sync:  WebGLSync,  flags:  GLbitfield,  timeout:  GLuint64) | GLenum | -| waitSync(sync:  WebGLSync,  flags:  GLbitfield,  timeout:  GLint64) | void | -| getSyncParameter(sync:  WebGLSync,  pname:  GLenum) | any | -| createTransformFeedback() | WebGLTransformFeedback \| null | -| deleteTransformFeedback(tf:  WebGLTransformFeedback \| null) | void | -| isTransformFeedback(tf:  WebGLTransformFeedback \| null) | GLboolean | -| bindTransformFeedback(target:  GLenum,  tf:  WebGLTransformFeedback \| null) | void | -| beginTransformFeedback(primitiveMode:  GLenum) | void | -| endTransformFeedback() | void | -| transformFeedbackVaryings(program:  WebGLProgram,  varyings:  string[],  bufferMode:  GLenum) | void | -| getTransformFeedbackVarying(program:  WebGLProgram,  index:  GLuint) | WebGLActiveInfo \| null | -| pauseTransformFeedback() | void | -| resumeTransformFeedback() | void | -| bindBufferBase(target:  GLenum,  index:  GLuint,  buffer:  WebGLBuffer \| null) | void | -| bindBufferRange(target:  GLenum,  index:  GLuint,  buffer:  WebGLBuffer \| null,  offset:  GLintptr,  size:  GLsizeiptr) | void | -| getIndexedParameter(target:  GLenum,  index:  GLuint) | any | -| getUniformIndices(program:  WebGLProgram,  uniformNames:  string[]) | GLuint[] \| null | -| getActiveUniforms(program:  WebGLProgram,  uniformIndices:  GLuint[],  pname:  GLenum) | any | -| getUniformBlockIndex(program:  WebGLProgram,  uniformBlockName:  string) | GLuint | -| getActiveUniformBlockParameter(program:  WebGLProgram,  uniformBlockIndex:  GLuint,  pname:  GLenum) | any | -| getActiveUniformBlockName(program:  WebGLProgram,  uniformBlockIndex:  GLuint) | string \| null | -| uniformBlockBinding(program:  WebGLProgram,  uniformBlockIndex:  GLuint,  uniformBlockBinding:  GLuint) | void | -| createVertexArray() | WebGLVertexArrayObject \| null | -| deleteVertexArray(vertexArray:  WebGLVertexArrayObject \| null) | void | -| isVertexArray(vertexArray:  WebGLVertexArrayObject \| null) | GLboolean | -| bindVertexArray(array:  WebGLVertexArrayObject \| null) | void | - - -## webgl.WebGL2RenderingContextOverloads - -WebGL2RenderingContextOverloads - -| 方法 | 返回值类型 | -| -------- | ---------- | -| bufferData(target:  GLenum,  size:  GLsizeiptr,  usage:  GLenum) | void | -| bufferData(target:  GLenum,  srcData:  BufferSource \| null,  usage:  GLenum) | void | -| bufferSubData(target:  GLenum,  dstByteOffset:  GLintptr,  srcData:  BufferSource) | void | -| bufferData(target:  GLenum,  srcData:  ArrayBufferView,  usage:  GLenum,  srcOffset:  GLuint,  length?:  GLuint) | void | -| bufferSubData(target:  GLenum,  dstByteOffset:  GLintptr,  srcData:  ArrayBufferView,  srcOffset:  GLuint,  length?:  GLuint) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  pixels:  ArrayBufferView \| null) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  pixels:  ArrayBufferView \| null) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  pboOffset:  GLintptr) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLint,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView,  srcOffset:  GLuint) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  pboOffset:  GLintptr) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  source:  TexImageSource) | void | -| texSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  srcData:  ArrayBufferView,  srcOffset:  GLuint) | void | -| compressedTexImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  imageSize:  GLsizei,  offset:  GLintptr) | void | -| compressedTexImage2D(target:  GLenum,  level:  GLint,  internalformat:  GLenum,  width:  GLsizei,  height:  GLsizei,  border:  GLint,  srcData:  ArrayBufferView,  srcOffset?:  GLuint,  srcLengthOverride?:  GLuint) | void | -| compressedTexSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  imageSize:  GLsizei,  offset:  GLintptr) | void | -| compressedTexSubImage2D(target:  GLenum,  level:  GLint,  xoffset:  GLint,  yoffset:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  srcData:  ArrayBufferView,  srcOffset?:  GLuint,  srcLengthOverride?:  GLuint) | void | -| uniform1fv(location:  WebGLUniformLocation \| null,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform2fv(location:  WebGLUniformLocation \| null,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform3fv(location:  WebGLUniformLocation \| null,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform4fv(location:  WebGLUniformLocation \| null,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform1iv(location:  WebGLUniformLocation \| null,  data:  Int32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform2iv(location:  WebGLUniformLocation \| null,  data:  Int32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform3iv(location:  WebGLUniformLocation \| null,  data:  Int32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniform4iv(location:  WebGLUniformLocation \| null,  data:  Int32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix2fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix3fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| uniformMatrix4fv(location:  WebGLUniformLocation \| null,  transpose:  GLboolean,  data:  Float32List,  srcOffset?:  GLuint,  srcLength?:  GLuint) | void | -| readPixels(x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  dstData:  ArrayBufferView \| null) | void | -| readPixels(x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  offset:  GLintptr) | void | -| readPixels(x:  GLint,  y:  GLint,  width:  GLsizei,  height:  GLsizei,  format:  GLenum,  type:  GLenum,  dstData:  ArrayBufferView,  dstOffset:  GLuint) | void | - - -## webgl.WebGLQuery - -WebGLQuery - - -## webgl.WebGLSampler - -WebGLSampler - - -## webgl.WebGLSync - -WebGLSync - - -## webgl.WebGLTransformFeedback - -WebGLTransformFeedback - - -## webgl.WebGLVertexArrayObject - -WebGLVertexArrayObject \ No newline at end of file +# webgl2 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +WebGL标准图形API,对应OpenGL ES 3.0特性集。更多信息请参考[WebGL™标准](https://www.khronos.org/registry/webgl/specs/latest/2.0/)。 + + +## 导入模块 + +``` +import webgl from '@ohos.webglnapi' +``` + + +## 调用方式 + +hml内创建canvas,示例如下: + + +``` +
+ + +
+``` + +js内获取canvas实例,示例如下: + + +``` +// 获取canvas组件实例 +const el = this.$refs.canvas1; +// 从canvas组件实例获取WebGL上下文 +const gl = el.getContext('webgl'); +// 调用WebGL API +gl.clearColor(0.0, 0.0, 0.0, 1.0); +``` + + +## Type + + **表1** Type + +| 名称 | 类型 | 说明 | +| -------- | -------- | -------- | +| GLenum | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | +| GLint64 | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | +| GLuint64 | number | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | +| Uint32List | array | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | + + +## Interface + + **表2** Interface + +| 名称 | 说明 | +| -------- | -------- | +| [WebGL2RenderingContextBase](#webgl2renderingcontextbase) | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | +| [WebGL2RenderingContextOverloads](#webgl2renderingcontextoverloads) | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLQuery | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLSampler | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLSync | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLTransformFeedback | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | +| WebGLVertexArrayObject | **系统能力:** SystemCapability.Graphic.Graphic2D.WebGL2 | + + +## WebGL2RenderingContextBase + +WebGL2RenderingContextBase + + +### 属性 + + | 名称 | 参数类型 | 必填 | +| -------- | -------- | -------- | +| READ_BUFFER | GLenum | 是 | +| UNPACK_ROW_LENGTH | GLenum | 是 | +| UNPACK_SKIP_ROWS | GLenum | 是 | +| UNPACK_SKIP_PIXELS | GLenum | 是 | +| PACK_ROW_LENGTH | GLenum | 是 | +| PACK_SKIP_ROWS | GLenum | 是 | +| PACK_SKIP_PIXELS | GLenum | 是 | +| COLOR | GLenum | 是 | +| DEPTH | GLenum | 是 | +| STENCIL | GLenum | 是 | +| RED | GLenum | 是 | +| RGB8 | GLenum | 是 | +| RGBA8 | GLenum | 是 | +| RGB10_A2 | GLenum | 是 | +| TEXTURE_BINDING_3D | GLenum | 是 | +| UNPACK_SKIP_IMAGES | GLenum | 是 | +| UNPACK_IMAGE_HEIGHT | GLenum | 是 | +| TEXTURE_3D | GLenum | 是 | +| TEXTURE_WRAP_R | GLenum | 是 | +| MAX_3D_TEXTURE_SIZE | GLenum | 是 | +| UNSIGNED_INT_2_10_10_10_REV | GLenum | 是 | +| MAX_ELEMENTS_VERTICES | GLenum | 是 | +| MAX_ELEMENTS_INDICES | GLenum | 是 | +| TEXTURE_MIN_LOD | GLenum | 是 | +| TEXTURE_MAX_LOD | GLenum | 是 | +| TEXTURE_BASE_LEVEL | GLenum | 是 | +| TEXTURE_MAX_LEVEL | GLenum | 是 | +| MIN | GLenum | 是 | +| MAX | GLenum | 是 | +| DEPTH_COMPONENT24 | GLenum | 是 | +| MAX_TEXTURE_LOD_BIAS | GLenum | 是 | +| TEXTURE_COMPARE_MODE | GLenum | 是 | +| TEXTURE_COMPARE_FUNC | GLenum | 是 | +| CURRENT_QUERY | GLenum | 是 | +| QUERY_RESULT | GLenum | 是 | +| QUERY_RESULT_AVAILABLE | GLenum | 是 | +| STREAM_READ | GLenum | 是 | +| STREAM_COPY | GLenum | 是 | +| STATIC_READ | GLenum | 是 | +| STATIC_COPY | GLenum | 是 | +| DYNAMIC_READ | GLenum | 是 | +| DYNAMIC_COPY | GLenum | 是 | +| MAX_DRAW_BUFFERS | GLenum | 是 | +| DRAW_BUFFER0 | GLenum | 是 | +| DRAW_BUFFER1 | GLenum | 是 | +| DRAW_BUFFER2 | GLenum | 是 | +| DRAW_BUFFER3 | GLenum | 是 | +| DRAW_BUFFER4 | GLenum | 是 | +| DRAW_BUFFER5 | GLenum | 是 | +| DRAW_BUFFER6 | GLenum | 是 | +| DRAW_BUFFER7 | GLenum | 是 | +| DRAW_BUFFER8 | GLenum | 是 | +| DRAW_BUFFER9 | GLenum | 是 | +| DRAW_BUFFER10 | GLenum | 是 | +| DRAW_BUFFER11 | GLenum | 是 | +| DRAW_BUFFER12 | GLenum | 是 | +| DRAW_BUFFER13 | GLenum | 是 | +| DRAW_BUFFER14 | GLenum | 是 | +| DRAW_BUFFER15 | GLenum | 是 | +| MAX_FRAGMENT_UNIFORM_COMPONENTS | GLenum | 是 | +| MAX_VERTEX_UNIFORM_COMPONENTS | GLenum | 是 | +| SAMPLER_3D | GLenum | 是 | +| SAMPLER_2D_SHADOW | GLenum | 是 | +| FRAGMENT_SHADER_DERIVATIVE_HINT | GLenum | 是 | +| PIXEL_PACK_BUFFER | GLenum | 是 | +| PIXEL_UNPACK_BUFFER | GLenum | 是 | +| PIXEL_PACK_BUFFER_BINDING | GLenum | 是 | +| PIXEL_UNPACK_BUFFER_BINDING | GLenum | 是 | +| FLOAT_MAT2x3 | GLenum | 是 | +| FLOAT_MAT2x4 | GLenum | 是 | +| FLOAT_MAT3x2 | GLenum | 是 | +| FLOAT_MAT3x4 | GLenum | 是 | +| FLOAT_MAT4x2 | GLenum | 是 | +| FLOAT_MAT4x3 | GLenum | 是 | +| SRGB | GLenum | 是 | +| SRGB8 | GLenum | 是 | +| SRGB8_ALPHA8 | GLenum | 是 | +| COMPARE_REF_TO_TEXTURE | GLenum | 是 | +| RGBA32F | GLenum | 是 | +| RGB32F | GLenum | 是 | +| RGBA16F | GLenum | 是 | +| RGB16F | GLenum | 是 | +| VERTEX_ATTRIB_ARRAY_INTEGER | GLenum | 是 | +| MAX_ARRAY_TEXTURE_LAYERS | GLenum | 是 | +| MIN_PROGRAM_TEXEL_OFFSET | GLenum | 是 | +| MAX_PROGRAM_TEXEL_OFFSET | GLenum | 是 | +| MAX_VARYING_COMPONENTS | GLenum | 是 | +| TEXTURE_2D_ARRAY | GLenum | 是 | +| TEXTURE_BINDING_2D_ARRAY | GLenum | 是 | +| R11F_G11F_B10F | GLenum | 是 | +| UNSIGNED_INT_10F_11F_11F_REV | GLenum | 是 | +| RGB9_E5 | GLenum | 是 | +| UNSIGNED_INT_5_9_9_9_REV | GLenum | 是 | +| TRANSFORM_FEEDBACK_BUFFER_MODE | GLenum | 是 | +| MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS | GLenum | 是 | +| TRANSFORM_FEEDBACK_VARYINGS | GLenum | 是 | +| TRANSFORM_FEEDBACK_BUFFER_START | GLenum | 是 | +| TRANSFORM_FEEDBACK_BUFFER_SIZE | GLenum | 是 | +| TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN | GLenum | 是 | +| RASTERIZER_DISCARD | GLenum | 是 | +| MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS | GLenum | 是 | +| MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS | GLenum | 是 | +| INTERLEAVED_ATTRIBS | GLenum | 是 | +| SEPARATE_ATTRIBS | GLenum | 是 | +| TRANSFORM_FEEDBACK_BUFFER | GLenum | 是 | +| TRANSFORM_FEEDBACK_BUFFER_BINDING | GLenum | 是 | +| RGBA32UI | GLenum | 是 | +| RGB32UI | GLenum | 是 | +| RGBA16UI | GLenum | 是 | +| RGB16UI | GLenum | 是 | +| RGBA8UI | GLenum | 是 | +| RGB8UI | GLenum | 是 | +| RGBA32I | GLenum | 是 | +| RGB32I | GLenum | 是 | +| RGBA16I | GLenum | 是 | +| RGB16I | GLenum | 是 | +| RGBA8I | GLenum | 是 | +| RGB8I | GLenum | 是 | +| RED_INTEGER | GLenum | 是 | +| RGB_INTEGER | GLenum | 是 | +| RGBA_INTEGER | GLenum | 是 | +| SAMPLER_2D_ARRAY | GLenum | 是 | +| SAMPLER_2D_ARRAY_SHADOW | GLenum | 是 | +| SAMPLER_CUBE_SHADOW | GLenum | 是 | +| UNSIGNED_INT_VEC2 | GLenum | 是 | +| UNSIGNED_INT_VEC3 | GLenum | 是 | +| UNSIGNED_INT_VEC4 | GLenum | 是 | +| INT_SAMPLER_2D | GLenum | 是 | +| INT_SAMPLER_3D | GLenum | 是 | +| INT_SAMPLER_CUBE | GLenum | 是 | +| INT_SAMPLER_2D_ARRAY | GLenum | 是 | +| UNSIGNED_INT_SAMPLER_2D | GLenum | 是 | +| UNSIGNED_INT_SAMPLER_3D | GLenum | 是 | +| UNSIGNED_INT_SAMPLER_CUBE | GLenum | 是 | +| UNSIGNED_INT_SAMPLER_2D_ARRAY | GLenum | 是 | +| DEPTH_COMPONENT32F | GLenum | 是 | +| DEPTH32F_STENCIL8 | GLenum | 是 | +| FLOAT_32_UNSIGNED_INT_24_8_REV | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_RED_SIZE | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_GREEN_SIZE | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_BLUE_SIZE | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE | GLenum | 是 | +| FRAMEBUFFER_DEFAULT | GLenum | 是 | +| UNSIGNED_INT_24_8 | GLenum | 是 | +| DEPTH24_STENCIL8 | GLenum | 是 | +| UNSIGNED_NORMALIZED | GLenum | 是 | +| DRAW_FRAMEBUFFER_BINDING | GLenum | 是 | +| READ_FRAMEBUFFER | GLenum | 是 | +| DRAW_FRAMEBUFFER | GLenum | 是 | +| READ_FRAMEBUFFER_BINDING | GLenum | 是 | +| RENDERBUFFER_SAMPLES | GLenum | 是 | +| FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER | GLenum | 是 | +| MAX_COLOR_ATTACHMENTS | GLenum | 是 | +| COLOR_ATTACHMENT1 | GLenum | 是 | +| COLOR_ATTACHMENT2 | GLenum | 是 | +| COLOR_ATTACHMENT3 | GLenum | 是 | +| COLOR_ATTACHMENT4 | GLenum | 是 | +| COLOR_ATTACHMENT5 | GLenum | 是 | +| COLOR_ATTACHMENT6 | GLenum | 是 | +| COLOR_ATTACHMENT7 | GLenum | 是 | +| COLOR_ATTACHMENT8 | GLenum | 是 | +| COLOR_ATTACHMENT9 | GLenum | 是 | +| COLOR_ATTACHMENT10 | GLenum | 是 | +| COLOR_ATTACHMENT11 | GLenum | 是 | +| COLOR_ATTACHMENT12 | GLenum | 是 | +| COLOR_ATTACHMENT13 | GLenum | 是 | +| COLOR_ATTACHMENT14 | GLenum | 是 | +| COLOR_ATTACHMENT15 | GLenum | 是 | +| FRAMEBUFFER_INCOMPLETE_MULTISAMPLE | GLenum | 是 | +| MAX_SAMPLES | GLenum | 是 | +| HALF_FLOAT | GLenum | 是 | +| RG | GLenum | 是 | +| RG_INTEGER | GLenum | 是 | +| R8 | GLenum | 是 | +| RG8 | GLenum | 是 | +| R16F | GLenum | 是 | +| R32F | GLenum | 是 | +| RG16F | GLenum | 是 | +| RG32F | GLenum | 是 | +| R8I | GLenum | 是 | +| R8UI | GLenum | 是 | +| R16I | GLenum | 是 | +| R16UI | GLenum | 是 | +| R32I | GLenum | 是 | +| R32UI | GLenum | 是 | +| RG8I | GLenum | 是 | +| RG8UI | GLenum | 是 | +| RG16I | GLenum | 是 | +| RG16UI | GLenum | 是 | +| RG32I | GLenum | 是 | +| RG32UI | GLenum | 是 | +| VERTEX_ARRAY_BINDING | GLenum | 是 | +| R8_SNORM | GLenum | 是 | +| RG8_SNORM | GLenum | 是 | +| RGB8_SNORM | GLenum | 是 | +| SIGNED_NORMALIZED | GLenum | 是 | +| COPY_READ_BUFFER | GLenum | 是 | +| COPY_WRITE_BUFFER | GLenum | 是 | +| COPY_READ_BUFFER_BINDING | GLenum | 是 | +| COPY_WRITE_BUFFER_BINDING | GLenum | 是 | +| UNIFORM_BUFFER | GLenum | 是 | +| UNIFORM_BUFFER_BINDING | GLenum | 是 | +| UNIFORM_BUFFER_START | GLenum | 是 | +| UNIFORM_BUFFER_SIZE | GLenum | 是 | +| MAX_VERTEX_UNIFORM_BLOCKS | GLenum | 是 | +| MAX_FRAGMENT_UNIFORM_BLOCKS | GLenum | 是 | +| MAX_COMBINED_UNIFORM_BLOCKS | GLenum | 是 | +| MAX_UNIFORM_BUFFER_BINDINGS | GLenum | 是 | +| MAX_UNIFORM_BLOCK_SIZE | GLenum | 是 | +| MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS | GLenum | 是 | +| MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS | GLenum | 是 | +| UNIFORM_BUFFER_OFFSET_ALIGNMENT | GLenum | 是 | +| ACTIVE_UNIFORM_BLOCKS | GLenum | 是 | +| UNIFORM_TYPE | GLenum | 是 | +| UNIFORM_SIZE | GLenum | 是 | +| UNIFORM_BLOCK_INDEX | GLenum | 是 | +| UNIFORM_OFFSET | GLenum | 是 | +| UNIFORM_ARRAY_STRIDE | GLenum | 是 | +| UNIFORM_MATRIX_STRIDE | GLenum | 是 | +| UNIFORM_IS_ROW_MAJOR | GLenum | 是 | +| UNIFORM_BLOCK_BINDING | GLenum | 是 | +| UNIFORM_BLOCK_DATA_SIZE | GLenum | 是 | +| UNIFORM_BLOCK_ACTIVE_UNIFORMS | GLenum | 是 | +| UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES | GLenum | 是 | +| UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER | GLenum | 是 | +| UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER | GLenum | 是 | +| INVALID_INDEX | GLenum | 是 | +| MAX_VERTEX_OUTPUT_COMPONENTS | GLenum | 是 | +| MAX_FRAGMENT_INPUT_COMPONENTS | GLenum | 是 | +| MAX_SERVER_WAIT_TIMEOUT | GLenum | 是 | +| OBJECT_TYPE | GLenum | 是 | +| SYNC_CONDITION | GLenum | 是 | +| SYNC_STATUS | GLenum | 是 | +| SYNC_FLAGS | GLenum | 是 | +| SYNC_FENCE | GLenum | 是 | +| SYNC_GPU_COMMANDS_COMPLETE | GLenum | 是 | +| UNSIGNALED | GLenum | 是 | +| SIGNALED | GLenum | 是 | +| ALREADY_SIGNALED | GLenum | 是 | +| TIMEOUT_EXPIRED | GLenum | 是 | +| CONDITION_SATISFIED | GLenum | 是 | +| WAIT_FAILED | GLenum | 是 | +| SYNC_FLUSH_COMMANDS_BIT | GLenum | 是 | +| VERTEX_ATTRIB_ARRAY_DIVISOR | GLenum | 是 | +| ANY_SAMPLES_PASSED | GLenum | 是 | +| ANY_SAMPLES_PASSED_CONSERVATIVE | GLenum | 是 | +| SAMPLER_BINDING | GLenum | 是 | +| RGB10_A2UI | GLenum | 是 | +| INT_2_10_10_10_REV | GLenum | 是 | +| TRANSFORM_FEEDBACK | GLenum | 是 | +| TRANSFORM_FEEDBACK_PAUSED | GLenum | 是 | +| TRANSFORM_FEEDBACK_ACTIVE | GLenum | 是 | +| TRANSFORM_FEEDBACK_BINDING | GLenum | 是 | +| TEXTURE_IMMUTABLE_FORMAT | GLenum | 是 | +| MAX_ELEMENT_INDEX | GLenum | 是 | +| TEXTURE_IMMUTABLE_LEVELS | GLenum | 是 | +| TIMEOUT_IGNORED | GLint64 | 是 | +| MAX_CLIENT_WAIT_TIMEOUT_WEBGL | GLenum | 是 | + + +### 方法 + + | 方法 | 返回值类型 | +| -------- | -------- | +| copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) | void | +| getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: GLuint, length?: GLuint) | void | +| blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum) | void | +| framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture \| null, level: GLint, layer: GLint) | void | +| invalidateFramebuffer(target: GLenum, attachments: GLenum[]) | void | +| invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | +| readBuffer(src: GLenum) | void | +| getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum) | any | +| renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | +| texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void | +| texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei) | void | +| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | +| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null) | void | +| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void | +| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | +| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null, srcOffset?: GLuint) | void | +| copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void | +| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void | +| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | +| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void | +| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | +| getFragDataLocation(program: WebGLProgram, name: string) | GLint | +| uniform1ui(location: WebGLUniformLocation \| null, v0: GLuint) | void | +| uniform2ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint) | void | +| uniform3ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint) | void | +| uniform4ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) | void | +| uniform1uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform2uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform3uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform4uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix3x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix4x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix2x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix4x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix2x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix3x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) | void | +| vertexAttribI4iv(index: GLuint, values: Int32List) | void | +| vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) | void | +| vertexAttribI4uiv(index: GLuint, values: Uint32List) | void | +| vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr) | void | +| vertexAttribDivisor(index: GLuint, divisor: GLuint) | void | +| drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) | void | +| drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei) | void | +| drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr) | void | +| drawBuffers(buffers: GLenum[]) | void | +| clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: GLuint) | void | +| clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: GLuint) | void | +| clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint) | void | +| clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) | void | +| createQuery() | WebGLQuery \| null | +| deleteQuery(query: WebGLQuery \| null) | void | +| isQuery(query: WebGLQuery \| null) | GLboolean | +| beginQuery(target: GLenum, query: WebGLQuery) | void | +| endQuery(target: GLenum) | void | +| getQuery(target: GLenum, pname: GLenum) | WebGLQuery \| null | +| getQueryParameter(query: WebGLQuery, pname: GLenum) | any | +| createSampler() | WebGLSampler \| null | +| deleteSampler(sampler: WebGLSampler \| null) | void | +| isSampler(sampler: WebGLSampler \| null) | GLboolean | +| bindSampler(unit: GLuint, sampler: WebGLSampler \| null) | void | +| samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint) | void | +| samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat) | void; | +| getSamplerParameter(sampler: WebGLSampler, pname: GLenum) | any | +| fenceSync(condition: GLenum, flags: GLbitfield) | WebGLSync \| null | +| isSync(sync: WebGLSync \| null) | GLboolean | +| deleteSync(sync: WebGLSync \| null) | void | +| clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64) | GLenum | +| waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64) | void | +| getSyncParameter(sync: WebGLSync, pname: GLenum) | any | +| createTransformFeedback() | WebGLTransformFeedback \| null | +| deleteTransformFeedback(tf: WebGLTransformFeedback \| null) | void | +| isTransformFeedback(tf: WebGLTransformFeedback \| null) | GLboolean | +| bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback \| null) | void | +| beginTransformFeedback(primitiveMode: GLenum) | void | +| endTransformFeedback() | void | +| transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum) | void | +| getTransformFeedbackVarying(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null | +| pauseTransformFeedback() | void | +| resumeTransformFeedback() | void | +| bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null) | void | +| bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null, offset: GLintptr, size: GLsizeiptr) | void | +| getIndexedParameter(target: GLenum, index: GLuint) | any | +| getUniformIndices(program: WebGLProgram, uniformNames: string[]) | GLuint[] \| null | +| getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum) | any | +| getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string) | GLuint | +| getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum) | any | +| getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint) | string \| null | +| uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) | void | +| createVertexArray() | WebGLVertexArrayObject \| null | +| deleteVertexArray(vertexArray: WebGLVertexArrayObject \| null) | void | +| isVertexArray(vertexArray: WebGLVertexArrayObject \| null) | GLboolean | +| bindVertexArray(array: WebGLVertexArrayObject \| null) | void | + + +## WebGL2RenderingContextOverloads + +WebGL2RenderingContextOverloads + + | 方法 | 返回值类型 | +| -------- | -------- | +| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void | +| bufferData(target: GLenum, srcData: BufferSource \| null, usage: GLenum) | void | +| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: BufferSource) | void | +| bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length?: GLuint) | void | +| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void | +| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void | +| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void | +| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | +| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void | +| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void | +| uniform1fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform2fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform3fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform4fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform1iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform2iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform3iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniform4iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void | +| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView \| null) | void | +| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr) | void | +| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint) | void | diff --git a/zh-cn/application-dev/reference/arkui-js/js-components-container-div.md b/zh-cn/application-dev/reference/arkui-js/js-components-container-div.md index 63a626f9d7dd24147c7863071cbb37933d8a3fd1..254ac1cc82a7ae8f34c6bda9fd2dcc64c27be568 100644 --- a/zh-cn/application-dev/reference/arkui-js/js-components-container-div.md +++ b/zh-cn/application-dev/reference/arkui-js/js-components-container-div.md @@ -287,7 +287,7 @@

ScrollOffset

获取元素内容的滚动偏移。

-
说明:
  • 需要设置overflow样式为scroll。
+
说明:
  • 需要设置overflow样式为scroll,默认滚动方向与容器方向一致。
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-media-components-web.md b/zh-cn/application-dev/reference/arkui-ts/ts-media-components-web.md old mode 100644 new mode 100755 index c729b54fb4eace90c68b489443cc6e7ca2ebd6da..9a3a3a1e1f3d18c4ebf5ee982d23670d7472d9ec --- a/zh-cn/application-dev/reference/arkui-ts/ts-media-components-web.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-media-components-web.md @@ -116,11 +116,11 @@ accessStep(step: number): boolean ### deleteJavaScriptRegister -deleteJavaScriptRegister(options: { name: string }): void +deleteJavaScriptRegister(name: string): void 清空指定对象已注册的JavaScript方法。 -- options参数说明 +- 参数 | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | ---- | ------ | ---- | ---- | ----------------------- | @@ -175,11 +175,11 @@ loadData(options: { data: string, mimeType: string, encoding: string, baseUrl?: ### loadUrl -loadUrl(url: string, additionalHttpHeaders?: Array<{ key: string, value: string }>): void +loadUrl(options:{ url: string, headers?: Array<{ key: string, value: string }> }): void 加载URL。 -- 参数 +- options参数说明 | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | --------------------- | ------------------------------------- | ---- | ---- | ---------- | @@ -220,11 +220,11 @@ registerJavaScriptProxy(options: { obj: object, name: string, methodList: string ### runJavaScript -runJavaScript(script: string, callback?: (result: string) => void): void +runJavaScript(options: { script: string, callback?: (result: string) => void }): void 执行JavaScript脚本。 -- 参数 +- options参数说明 | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | -------- | ------------------------ | ---- | ---- | ------------------------------------ | diff --git a/zh-cn/application-dev/security/Readme-CN.md b/zh-cn/application-dev/security/Readme-CN.md index 57303b1522c8b35de1e69bb73abcb5bfc482e56b..37cd1817e37ebba14d1f6692269355dabe02523b 100644 --- a/zh-cn/application-dev/security/Readme-CN.md +++ b/zh-cn/application-dev/security/Readme-CN.md @@ -10,3 +10,7 @@ - Hap包签名工具 - [Hap包签名工具开发指导](hapsigntool-guidelines.md) + +- 访问控制 + - [访问控制开发概述](accesstoken-overview.md) + - [访问控制开发指导](accesstoken-guidelines.md) diff --git a/zh-cn/application-dev/security/accesstoken-guidelines.md b/zh-cn/application-dev/security/accesstoken-guidelines.md new file mode 100644 index 0000000000000000000000000000000000000000..398795358ba49a54922a6caad8ba4b245b5294b4 --- /dev/null +++ b/zh-cn/application-dev/security/accesstoken-guidelines.md @@ -0,0 +1,45 @@ +# 访问控制开发指导 + +## 场景介绍 + +当应用申请的权限需要用户授权,即申请的权限为user_grant权限时,可以通过权限校验,判断当前调用者是否具备相应权限。 + +## 接口说明 +接口的具体说明可以查阅[API参考](../reference/apis/js-apis-abilityAccessCtrl.md) +| 接口名 | 描述 | +| ------------------------------------------------------------ | ---------------- | +| verifyAccessToken(tokenID: number, permissionName: string): Promise<GrantStatus> | 校验应用是否授予权限,使用Promise方式异步返回结果。 | + +## 开发步骤 +对访问者进行权限校验的开发步骤为: + +1. 获取调用者的身份标识: tokenId +2. 识别需要校验的权限: permissionNameUser +3. 对当前调用者进行权限校验 + +代码示例如下: + +```js + import {describe, beforeEach, afterEach, it, expect} from 'deccjsunit/index' + import abilityAccessCtrl from '@ohos.abilityAccessCtrl' + import bundle from '@ohos.bundle' + + var permissionNameUser = "ohos.permission.ALPHA"; + var bundleFlag = 0; + var tokenID = undefined; + var userID = 100; + var appInfo = await bundle.getApplicationInfo('ohos.acts.security.access_token.normal', bundleFlag, userID); + tokenID = appInfo.accessTokenId; + console.log("AccessTokenTest accessTokenId:" + appInfo.accessTokenId + ", name:" + appInfo.name + + ", bundleName:" + appInfo.bundleName) + var atManager = abilityAccessCtrl.createAtManager(); + var result = await atManager.verifyAccessToken(tokenID, permissionNameUser); + if (result == abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) { + // 执行操作 + } else { + // 申请动态授权,使用接口:requestPermissionsFromUser + } + +``` +> **说明:** +动态授权申请接口的使用详见[API参考](../reference/apis/js-apis-ability-context.md) \ No newline at end of file diff --git a/zh-cn/application-dev/security/accesstoken-overview.md b/zh-cn/application-dev/security/accesstoken-overview.md new file mode 100644 index 0000000000000000000000000000000000000000..1fef21e91a1c5433d117a72d485bec3dce90e278 --- /dev/null +++ b/zh-cn/application-dev/security/accesstoken-overview.md @@ -0,0 +1,18 @@ +# 访问控制开发指南 + +## 功能简介 +ATM(AccessTokenManager)是OpenHarmony上基于AccessToken构建的统一的应用权限管理能力。 + +当前,ATM模块对应用提供了权限校验功能,应用可以检查当前访问者是否具有所需的权限。 + + +## 基本概念 + +当前,ATM提供的应用权限校验功能是基于统一管理的TokenID(Token identity)。 + +- TokenID:32bits的设备内唯一标识符,用于标识每个应用的Accestoken信息。 +- Accestoken信息:主要包括应用身份标识APPID、用户ID、应用分身索引、应用APL(Ability Privilege Level)、应用权限信息等。 + +## 约束与限制 + + - 应用不允许自定义权限,系统权限定义信息详见[权限定义信息](https://gitee.com/openharmony/resources/blob/master/systemres/main/config.json) \ No newline at end of file diff --git a/zh-cn/application-dev/security/hapsigntool-guidelines.md b/zh-cn/application-dev/security/hapsigntool-guidelines.md index 4fe2c34d3df809abfcd41ae4e47eae61d04bb102..6063e42503a056cb67974c7a5563695d9b05a26f 100644 --- a/zh-cn/application-dev/security/hapsigntool-guidelines.md +++ b/zh-cn/application-dev/security/hapsigntool-guidelines.md @@ -20,7 +20,7 @@ Hap包签名工具支持本地签名需求的开发,为OpenHarmony应用提供 - 证书 OpenHarmony采用RFC5280标准构建X509证书信任体系。用于应用签名的OpenHarmony证书按层级可分为:根CA证书、子CA证书、三级实体证书,其中三级实体证书分为应用签名证书和profile签名证书。应用签名证书表示应用开发者的身份,可保证系统上安装的应用来源可追溯,profile签名证书实现对profile文件的签名进行验签,保证profile文件的完整性。 - HAP包 -HAP(HarmonyOS Ability Package)是Ability的部署包,OpenHarmony应用代码围绕Ability组件展开,它是由一个或者多个Ability组成。 +HAP(OpenHarmony Ability Package)是Ability的部署包,OpenHarmony应用代码围绕Ability组件展开,它是由一个或者多个Ability组成。 - profile文件 hap包中的描述文件,该描述文件描述了已授权的证书权限和设备ID信息等信息。 ### 约束与限制 @@ -354,6 +354,7 @@ java -jar hap-sign-tool.jar sign-app -keyAlias "oh-app1-key-v1" -signAlg "SHA256 + ## 常见问题 **1.执行[生成应用签名证书](#生成应用签名证书)命令时,控制台打印结果,无文件输出** diff --git a/zh-cn/device-dev/Readme-CN.md b/zh-cn/device-dev/Readme-CN.md index 992ec8d7ec53e5c9da385a1d46503b9d5992be80..978bdbf97ff456359c349659ae4a8567ab6e73d7 100644 --- a/zh-cn/device-dev/Readme-CN.md +++ b/zh-cn/device-dev/Readme-CN.md @@ -90,7 +90,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按

OpenHarmony贡献功能组件

- +

参考

@@ -160,7 +160,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按

OpenHarmony贡献功能组件

- +

参考

diff --git a/zh-cn/device-dev/bundles/Readme-CN.md b/zh-cn/device-dev/bundles/Readme-CN.md index 20c3daa088f62dd2d0b8a59271eb7eb81a94c695..6ddc8aac75a079e08b239c65442eaf5c8afc45cb 100755 --- a/zh-cn/device-dev/bundles/Readme-CN.md +++ b/zh-cn/device-dev/bundles/Readme-CN.md @@ -1,6 +1,6 @@ # Bundle开发指南 -- [开发规范](oem_bundle_standard_des.md) +- [开发规范](bundles-standard-rules.md ) - [开发指南](bundles-guide.md) - [概述](bundles-guide-overview.md) - [安装hpm命令行工具](bundles-guide-prepare.md) diff --git a/zh-cn/device-dev/bundles/bundles-standard-rules.md b/zh-cn/device-dev/bundles/bundles-standard-rules.md index d52a49caa4597cff733216a2d31e5229494ecafe..8560d653ac577ac0d65b15b06a306b3a4edde851 100644 --- a/zh-cn/device-dev/bundles/bundles-standard-rules.md +++ b/zh-cn/device-dev/bundles/bundles-standard-rules.md @@ -182,7 +182,7 @@ hpm install username@server MINGW64 /f/showcase/demo/demo $ hpm list +--demo@1.0.0 -| +--@huawei/media@1.0.2 +| +--@demo/media@1.0.2 | +--@demo/sport_hi3518ev300_liteos_a@1.0.0 | | +--@demo/app@4.0.1 | | | +--@demo/build@4.0.1 diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md index 255a6ae25947791c174927d407b111f2e66158c6..3fc9e2fe3f784837b5833861f8b1688a8152d56d 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md @@ -55,7 +55,6 @@ kill [-l [_signo_] | _-s signo_ | _-signo_] _pid..._ 6 1 6 0 Pending 0x688000 0x137000 0x11bca0 0.0 media_server 7 1 7 0 Pending 0x9d2000 0x103000 0xa1cdf 0.88 wms_server 8 1 8 2 Pending 0x1f5000 0x48000 0x47dc2 0.2 mksh - 10 5 5 101 Pending 0x11ec000 0x2f9000 0x206047 0.93 com.huawei.launcher 12 1 12 0 Pending 0x4d4000 0x112000 0xe0882 0.0 deviceauth_service 13 1 13 0 Pending 0x34f000 0xbd000 0x51799 0.0 sensor_service 14 1 14 2 Pending 0x34e000 0xb3000 0x52184 0.0 ai_server @@ -80,7 +79,6 @@ kill [-l [_signo_] | _-s signo_ | _-signo_] _pid..._ 6 1 6 0 Pending 0x688000 0x137000 0x11c1ba 0.0 media_server 7 1 7 0 Pending 0x9d2000 0x103000 0xa21f9 0.89 wms_server 8 1 8 2 Pending 0x1f5000 0x48000 0x482dc 0.2 mksh - 10 5 5 101 Pending 0x11ec000 0x2f9000 0x206561 0.93 com.huawei.launcher 12 1 12 0 Pending 0x4d4000 0x112000 0xe0d9c 0.0 deviceauth_service 13 1 13 0 Pending 0x34f000 0xbd000 0x51cb3 0.0 sensor_service 14 1 14 2 Pending 0x34e000 0xb3000 0x5269e 0.0 ai_server diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-task.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-task.md index 2cb47608d3460c025d87b23eeaa201ba4ff87a2f..b169474cf33f6046b49dd8cec51a74cb66d8cfec 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-task.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-task.md @@ -52,7 +52,6 @@ OHOS # task 6 1 6 0 Pending 0x688000 0x137000 0x11c518 0.0 media_server 7 1 7 0 Pending 0x9d2000 0x103000 0xa1ddf 0.89 wms_server 8 1 1 1000 Running 0x2bf000 0x8f000 0x2a8c6 0.0 shell - 9 5 5 101 Pending 0x11ea000 0x2f9000 0x20429d 0.97 com.huawei.launcher 11 1 11 0 Pending 0x4d4000 0x112000 0xe0ad7 0.0 deviceauth_service 12 1 12 0 Pending 0x34f000 0xbd000 0x519ee 0.0 sensor_service 13 1 13 2 Pending 0x34e000 0xb3000 0x523d9 0.0 ai_server diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-top.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-top.md index e6465cac25560bf76d48c1fd1cd3fa45b6a857fd..4507fc19cc3e57cecf66ec0d2e138b27474de1b5 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-top.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-top.md @@ -52,7 +52,6 @@ OHOS:/$ top 6 1 6 0 Pending 0x688000 0x137000 0x11c1ba 0.0 media_server 7 1 7 0 Pending 0x9d2000 0x103000 0xa21f9 0.87 wms_server 8 1 8 2 Pending 0x1f5000 0x48000 0x462dc 0.0 mksh - 9 5 5 101 Pending 0x11ea000 0x2f9000 0x204561 0.94 com.huawei.launcher 11 1 11 0 Pending 0x4d4000 0x112000 0xe0d9c 0.0 deviceauth_service 12 1 12 0 Pending 0x34f000 0xbd000 0x51cb3 0.0 sensor_service 13 1 13 2 Pending 0x34e000 0xb3000 0x5269e 0.0 ai_server diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-watch.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-watch.md index 7798cb435eda6b001dcc9c5e026bf319110a7880..559d76ec8558e5e75fb9ab4d3592bf76d42bdbe1 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-watch.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-watch.md @@ -59,7 +59,6 @@ OHOS # 6 1 6 0 Pending 0x688000 0x137000 0x11c518 0.0 media_server 7 1 7 0 Pending 0x9d2000 0x103000 0xa1ddf 0.95 wms_server 8 1 1 1000 Running 0x2bf000 0x8f000 0x2a8c6 0.0 shell - 9 5 5 101 Pending 0x11ea000 0x2f9000 0x20429d 1.2 com.huawei.launcher 11 1 11 0 Pending 0x4d4000 0x112000 0xe0ad7 0.0 deviceauth_service 12 1 12 0 Pending 0x34f000 0xbd000 0x519ee 0.0 sensor_service 13 1 13 2 Pending 0x34e000 0xb3000 0x523d9 0.0 ai_server diff --git a/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-listening.md b/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-listening.md index b42a258f2c716c1a1d5b36e337341547f89eef4b..01bb60ea61e09e854ab1e25c7bf702cb3f94091f 100644 --- a/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-listening.md +++ b/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-listening.md @@ -77,7 +77,7 @@ HiSysEvent提供了跨进程订阅机制,开发者可以通过注册订阅接 void OnServiceDied(); }; - #endif DEMO_LISTENER_H + #endif // DEMO_LISTENER_H ``` 增加DemoListener.cpp文件,在DemoListener类中根据实际需求自定义订阅回调接口的实现逻辑: diff --git a/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-query.md b/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-query.md index 426b6117382fc656a5d2d061c79aa8aa9c69813c..48867c40c869535913b25cf344fd16b7d80b5c3c 100644 --- a/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-query.md +++ b/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-query.md @@ -55,7 +55,7 @@ C++接口实例。 - 实现对应的查询回调接口: - void HiSysEventQueryCallBack::OnQuery\(const ::std::vector& sysEvent, const ::std::vector& seq\) + void HiSysEventQueryCallBack::OnQuery\(const ::std::vector<std::string>& sysEvent, const ::std::vector& seq\) void HiSysEventQueryCallBack::OnComplete\(int32\_t reason, int32\_t total\)