Agora RTC Objective-C API Reference Refactor

Data Fields
VideoCanvas Struct Reference

## Data Fields
uid_t | uid
uid_t | subviewUid
view_t | view
uint32_t | backgroundColor
media::base::RENDER_MODE_TYPE | renderMode
VIDEO_MIRROR_MODE_TYPE | mirrorMode
VIDEO_VIEW_SETUP_MODE | setupMode
VIDEO_SOURCE_TYPE | sourceType
int | mediaPlayerId
Rectangle | cropArea
bool | enableAlphaMask
media::base::VIDEO_MODULE_POSITION | position

## Constructor & Destructor Documentation

## ◆ VideoCanvas() [1/4]

VideoCanvas | ( |  | ) |
| inline

## ◆ VideoCanvas() [2/4]

VideoCanvas | ( | view_t | v,
|  | media::base::RENDER_MODE_TYPE | m,
|  | VIDEO_MIRROR_MODE_TYPE | mt
| ) |  |
| inline

## ◆ VideoCanvas() [3/4]

VideoCanvas | ( | view_t | v,
|  | media::base::RENDER_MODE_TYPE | m,
|  | VIDEO_MIRROR_MODE_TYPE | mt,
|  | uid_t | u
| ) |  |
| inline

## ◆ VideoCanvas() [4/4]

VideoCanvas | ( | view_t | v,
|  | media::base::RENDER_MODE_TYPE | m,
|  | VIDEO_MIRROR_MODE_TYPE | mt,
|  | uid_t | u,
|  | uid_t | subu
| ) |  |
| inline

## Field Documentation

## ◆ uid

uid_t uid

User ID that publishes the video source.

## ◆ subviewUid

uid_t subviewUid

The ID of the user who publishes a specific sub-video stream within the mixed video stream.

## ◆ view

view_t view

The video display window.

Note
  In one `VideoCanvas`, you can only choose to set either `view` or `surfaceTexture`. If both are set, only the settings in `view` take effect.

## ◆ backgroundColor

uint32_t backgroundColor

The background color of the video canvas in RGBA format. The default value is 0x00000000, which represents black.

## ◆ renderMode

media::base::RENDER_MODE_TYPE renderMode

The rendering mode of the video. See `RENDER_MODE_TYPE`.

## ◆ mirrorMode

VIDEO_MIRROR_MODE_TYPE mirrorMode

The mirror mode of the view. See `VIDEO_MIRROR_MODE_TYPE`.

Note
  - For the mirror mode of the local video view: If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
  - For the remote user: The mirror mode is disabled by default.

## ◆ setupMode

VIDEO_VIEW_SETUP_MODE setupMode

Setting mode of the view. See `VIDEO_VIEW_SETUP_MODE`.

## ◆ sourceType

VIDEO_SOURCE_TYPE sourceType

The type of the video source. See `VIDEO_SOURCE_TYPE`.

## ◆ mediaPlayerId

int mediaPlayerId

The ID of the media player. You can get the Device ID by calling `getMediaPlayerId`.

## ◆ cropArea

Rectangle cropArea

(Optional) Display area of the video frame, see `Rectangle`. `width` and `height` represent the video pixel width and height of the area. The default value is null (width or height is 0), which means that the actual resolution of the video frame is displayed.

## ◆ enableAlphaMask

bool enableAlphaMask

(Optional) Whether to enable alpha mask rendering:

- `true`: Enable alpha mask rendering.
- `false`: (Default) Disable alpha mask rendering. Alpha mask rendering can create images with transparent effects and extract portraits from videos. When used in combination with other methods, you can implement effects such as portrait-in-picture and watermarking.
  Note
- The receiver can render alpha channel information only when the sender enables alpha transmission.
- To enable alpha transmission, `technical support`.

## ◆ position

media::base::VIDEO_MODULE_POSITION position

The observation position of the video frame in the video link. See `VIDEO_MODULE_POSITION`.