\hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas}{}\doxysection{io.\+agora.\+rtc2.\+video.\+Video\+Canvas Class Reference}
\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas}\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5b697068cbebbdc4636d25a3e845a0fa}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5b697068cbebbdc4636d25a3e845a0fa}} 
{\bfseries Video\+Canvas} (View \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5d4e289a0348cf8356dacbc1465bba76}{view}})
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aea0e3d62c8fee7b62e9ce5e122b18ec9}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aea0e3d62c8fee7b62e9ce5e122b18ec9}} 
{\bfseries Video\+Canvas} (View \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5d4e289a0348cf8356dacbc1465bba76}{view}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_ac3c0eb2213dec1dfa6f578634ec4bd60}{render\+Mode}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a9731957f0e0ee6a39949791a6dcc3ba1}{uid}})
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a3b3a3d57f14a44a5434dd32af4ed59fc}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a3b3a3d57f14a44a5434dd32af4ed59fc}} 
{\bfseries Video\+Canvas} (View \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5d4e289a0348cf8356dacbc1465bba76}{view}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_ac3c0eb2213dec1dfa6f578634ec4bd60}{render\+Mode}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a9731957f0e0ee6a39949791a6dcc3ba1}{uid}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a8d28c9c982e2486ddd757a7687562c86}{subview\+Uid}})
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a9731957f0e0ee6a39949791a6dcc3ba1}{uid}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a8d28c9c982e2486ddd757a7687562c86}{subview\+Uid}}
\item 
View \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5d4e289a0348cf8356dacbc1465bba76}{view}}
\item 
Surface\+Texture \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa066ac76dcf4e9abb70c4ef2ae5a7b52}{surface\+Texture}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_ac3c0eb2213dec1dfa6f578634ec4bd60}{render\+Mode}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a4dd61463353d4460e47ecb8073c5ce16}{mirror\+Mode}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a2c596be075c010fdc7d0eea325acd817}{setup\+Mode}} = V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+D\+E\+\_\+\+R\+E\+P\+L\+A\+CE
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5651009107c3ea5d819a529a697d4558}{source\+Type}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a555ac73b98d4a9fbac885bacdc235807}{media\+Player\+Id}}
\item 
Rect \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa464a086da8e489afab68d325e86d8e9}{rect}}
\item 
boolean \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a962605b581c3725ac61875953f0497bb}{enable\+Alpha\+Mask}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a75269e3af139eb4c4aea384987bae994}{background\+Color}}
\item 
Constants.\+Video\+Module\+Position \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa3e80fa763e0c811d94191e1baebbbdc}{position}}
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a6f60c311a3c518d94ca28816773259b7}{R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+H\+I\+D\+D\+EN}} = 1
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a43d7554af56c4d2f6a27bf8d6a9ba136}{R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+F\+IT}} = 2
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_af57a8b1432125b4439d01b0afaeaca81}{R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+A\+D\+A\+P\+T\+I\+VE}} = 3
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a06909b3e71bfe25d65180744850408bf}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a06909b3e71bfe25d65180744850408bf}} 
static final int {\bfseries V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+D\+E\+\_\+\+R\+E\+P\+L\+A\+CE} = 0
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a4844af57316a1307c04b18c4df31556a}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a4844af57316a1307c04b18c4df31556a}} 
static final int {\bfseries V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+D\+E\+\_\+\+A\+DD} = 1
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a3f70b92ec5f4140aaa28615c4e81be0a}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a3f70b92ec5f4140aaa28615c4e81be0a}} 
static final int {\bfseries V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+D\+E\+\_\+\+R\+E\+M\+O\+VE} = 2
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas}{Video\+Canvas}} class. 

\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a9731957f0e0ee6a39949791a6dcc3ba1}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a9731957f0e0ee6a39949791a6dcc3ba1}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!uid@{uid}}
\index{uid@{uid}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{uid}{uid}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+uid}

The user id of local video. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a8d28c9c982e2486ddd757a7687562c86}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a8d28c9c982e2486ddd757a7687562c86}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!subviewUid@{subviewUid}}
\index{subviewUid@{subviewUid}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{subviewUid}{subviewUid}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+subview\+Uid}

The user id of video stream composing the video stream from transcoder which will be drawn on this video canvas. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a6f60c311a3c518d94ca28816773259b7}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a6f60c311a3c518d94ca28816773259b7}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!RENDER\_MODE\_HIDDEN@{RENDER\_MODE\_HIDDEN}}
\index{RENDER\_MODE\_HIDDEN@{RENDER\_MODE\_HIDDEN}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{RENDER\_MODE\_HIDDEN}{RENDER\_MODE\_HIDDEN}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+H\+I\+D\+D\+EN = 1\hspace{0.3cm}{\ttfamily [static]}}

1\+: Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a43d7554af56c4d2f6a27bf8d6a9ba136}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a43d7554af56c4d2f6a27bf8d6a9ba136}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!RENDER\_MODE\_FIT@{RENDER\_MODE\_FIT}}
\index{RENDER\_MODE\_FIT@{RENDER\_MODE\_FIT}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{RENDER\_MODE\_FIT}{RENDER\_MODE\_FIT}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+F\+IT = 2\hspace{0.3cm}{\ttfamily [static]}}

2\+: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_af57a8b1432125b4439d01b0afaeaca81}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_af57a8b1432125b4439d01b0afaeaca81}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!RENDER\_MODE\_ADAPTIVE@{RENDER\_MODE\_ADAPTIVE}}
\index{RENDER\_MODE\_ADAPTIVE@{RENDER\_MODE\_ADAPTIVE}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{RENDER\_MODE\_ADAPTIVE}{RENDER\_MODE\_ADAPTIVE}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+A\+D\+A\+P\+T\+I\+VE = 3\hspace{0.3cm}{\ttfamily [static]}}

3\+: This mode is deprecated and Agora does not recommend using it. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5d4e289a0348cf8356dacbc1465bba76}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5d4e289a0348cf8356dacbc1465bba76}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!view@{view}}
\index{view@{view}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{view}{view}}
{\footnotesize\ttfamily View io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+view}

Video display window. Must be Surface\+View or Texture\+View. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa066ac76dcf4e9abb70c4ef2ae5a7b52}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa066ac76dcf4e9abb70c4ef2ae5a7b52}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!surfaceTexture@{surfaceTexture}}
\index{surfaceTexture@{surfaceTexture}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{surfaceTexture}{surfaceTexture}}
{\footnotesize\ttfamily Surface\+Texture io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+surface\+Texture}

Set \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa066ac76dcf4e9abb70c4ef2ae5a7b52}{surface\+Texture}} makes Agora S\+DK as a video content provider, like Camera. While set \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5d4e289a0348cf8356dacbc1465bba76}{view}} Agora S\+DK consumes video content using view. You need draw texture on Open\+GL context youself. You may set view or surface\+Texture, B\+UT DO N\+OT B\+O\+TH in one \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas}{Video\+Canvas}}, otherwise only view is used. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_ac3c0eb2213dec1dfa6f578634ec4bd60}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_ac3c0eb2213dec1dfa6f578634ec4bd60}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!renderMode@{renderMode}}
\index{renderMode@{renderMode}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{renderMode}{renderMode}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+render\+Mode}

The video render mode\+:
\begin{DoxyItemize}
\item {\ttfamily R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+H\+I\+D\+D\+E\+N(1)}\+: (Default)Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents.
\item {\ttfamily R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+F\+I\+T(2)}\+: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black.
\item {\ttfamily R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+A\+D\+A\+P\+T\+I\+V\+E(3)}\+: This mode is deprecated and Agora does not recommend using it. 
\end{DoxyItemize}\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a4dd61463353d4460e47ecb8073c5ce16}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a4dd61463353d4460e47ecb8073c5ce16}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!mirrorMode@{mirrorMode}}
\index{mirrorMode@{mirrorMode}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{mirrorMode}{mirrorMode}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+mirror\+Mode}

The video mirror mode\+:
\begin{DoxyItemize}
\item {\ttfamily V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+A\+U\+T\+O(0)}\+: (Default) The mirror mode determined by the S\+DK. If you use the front camera, the S\+DK enables the mirror mode; if you use the rear camera, the S\+DK disables the mirror mode.
\item {\ttfamily V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+E\+N\+A\+B\+L\+E\+D(1)}\+: Enable the mirror mode.
\item {\ttfamily V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+D\+I\+S\+A\+B\+L\+E\+D(2)}\+: Disable the mirror mode. 
\end{DoxyItemize}\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a2c596be075c010fdc7d0eea325acd817}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a2c596be075c010fdc7d0eea325acd817}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!setupMode@{setupMode}}
\index{setupMode@{setupMode}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{setupMode}{setupMode}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+setup\+Mode = V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+D\+E\+\_\+\+R\+E\+P\+L\+A\+CE}

The mode of setting up video view. The default value is V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+D\+E\+\_\+\+R\+E\+P\+L\+AC. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5651009107c3ea5d819a529a697d4558}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a5651009107c3ea5d819a529a697d4558}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!sourceType@{sourceType}}
\index{sourceType@{sourceType}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{sourceType}{sourceType}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+source\+Type}

The video source type. The default value is V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+P\+R\+I\+M\+A\+RY. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a555ac73b98d4a9fbac885bacdc235807}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a555ac73b98d4a9fbac885bacdc235807}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!mediaPlayerId@{mediaPlayerId}}
\index{mediaPlayerId@{mediaPlayerId}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{mediaPlayerId}{mediaPlayerId}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+media\+Player\+Id}

The media player id of Agora\+Media\+Player. It should set this parameter when the source\+Type is V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+ER to show the video that Agora\+Media\+Player is playing. You can get this value by calling the method get\+Media\+Player\+Id(). \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa464a086da8e489afab68d325e86d8e9}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa464a086da8e489afab68d325e86d8e9}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!rect@{rect}}
\index{rect@{rect}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{rect}{rect}}
{\footnotesize\ttfamily Rect io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+rect}

If you want to display a certain part of a video frame, you can set this value to crop the video frame to show. The default value is empty(that is, if it has zero width or height), which means no cropping. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a962605b581c3725ac61875953f0497bb}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a962605b581c3725ac61875953f0497bb}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!enableAlphaMask@{enableAlphaMask}}
\index{enableAlphaMask@{enableAlphaMask}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{enableAlphaMask}{enableAlphaMask}}
{\footnotesize\ttfamily boolean io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+enable\+Alpha\+Mask}

default false. if set to true, the video will apply alpha mask if exist.(Mac only) \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a75269e3af139eb4c4aea384987bae994}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_a75269e3af139eb4c4aea384987bae994}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!backgroundColor@{backgroundColor}}
\index{backgroundColor@{backgroundColor}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{backgroundColor}{backgroundColor}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+background\+Color}

A R\+G\+BA value indicates background color of the render view. Defaults to 0x00000000. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa3e80fa763e0c811d94191e1baebbbdc}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_video_canvas_aa3e80fa763e0c811d94191e1baebbbdc}} 
\index{io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}!position@{position}}
\index{position@{position}!io.agora.rtc2.video.VideoCanvas@{io.agora.rtc2.video.VideoCanvas}}
\doxysubsubsection{\texorpdfstring{position}{position}}
{\footnotesize\ttfamily Constants.\+Video\+Module\+Position io.\+agora.\+rtc2.\+video.\+Video\+Canvas.\+position}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{      Constants.VideoModulePosition.VIDEO\_MODULE\_POSITION\_POST\_CAPTURER}

\end{DoxyCode}
The video frame position in pipeline. See V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON. The default value is P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+O\+S\+T\+\_\+\+C\+A\+P\+T\+U\+R\+ER. 