\hypertarget{structagora_1_1rtc_1_1_video_canvas}{}\doxysection{agora\+::rtc\+::Video\+Canvas Struct Reference}
\label{structagora_1_1rtc_1_1_video_canvas}\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}


{\ttfamily \#include $<$Agora\+Base.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_a687a6a46ae517e7647c473c7cff2c68c}\label{structagora_1_1rtc_1_1_video_canvas_a687a6a46ae517e7647c473c7cff2c68c}} 
{\bfseries Video\+Canvas} (view\+\_\+t v, media\+::base\+::\+R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE m, V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE mt)
\item 
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_a9863d4818ccf1557f74ce88f7ac277e3}\label{structagora_1_1rtc_1_1_video_canvas_a9863d4818ccf1557f74ce88f7ac277e3}} 
{\bfseries Video\+Canvas} (view\+\_\+t v, media\+::base\+::\+R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE m, V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE mt, uid\+\_\+t u)
\item 
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_abf207abdf6abd8aba754f16fe553cc73}\label{structagora_1_1rtc_1_1_video_canvas_abf207abdf6abd8aba754f16fe553cc73}} 
{\bfseries Video\+Canvas} (view\+\_\+t v, media\+::base\+::\+R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE m, V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE mt, uid\+\_\+t u, uid\+\_\+t subu)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
uid\+\_\+t \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_a7dedf60431687b4b2cec7e7261ddcb42}{uid}}
\item 
uid\+\_\+t \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_a084a5f3669a8702f835f66c573fbf4ba}{subview\+Uid}}
\item 
view\+\_\+t \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_afcd252553c16f841f51480db14426e87}{view}}
\item 
uint32\+\_\+t \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_a7be36a592ec6d6da4a93281683697b16}{background\+Color}}
\item 
media\+::base\+::\+R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_adc9688e622b68f906d4906f97e563e1c}{render\+Mode}}
\item 
V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_a7af6b90428fdcbd226f94df3cf6df9fc}{mirror\+Mode}}
\item 
V\+I\+D\+E\+O\+\_\+\+V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+DE \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_a13b16704c6a54283a984caad8a202451}{setup\+Mode}}
\item 
V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_a8e2f4270b40e12fad52ac711c4a78879}{source\+Type}}
\item 
int \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_aae57619dd141cd5ffd2e6ceb1de37476}{media\+Player\+Id}}
\item 
\mbox{\hyperlink{structagora_1_1rtc_1_1_rectangle}{Rectangle}} \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_a7a4a6b16c1ac1c5d6feaa8685a0309de}{crop\+Area}}
\item 
bool \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_a164cf73d43bf71d46d7e7a196eeccf7d}{enable\+Alpha\+Mask}}
\item 
media\+::base\+::\+V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON \mbox{\hyperlink{structagora_1_1rtc_1_1_video_canvas_a1777aa67c688d1cd75adc341a751bd3e}{position}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Attributes of video canvas object. 

\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_a7dedf60431687b4b2cec7e7261ddcb42}\label{structagora_1_1rtc_1_1_video_canvas_a7dedf60431687b4b2cec7e7261ddcb42}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!uid@{uid}}
\index{uid@{uid}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{uid}{uid}}
{\footnotesize\ttfamily uid\+\_\+t agora\+::rtc\+::\+Video\+Canvas\+::uid}

The user id of local video. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_a084a5f3669a8702f835f66c573fbf4ba}\label{structagora_1_1rtc_1_1_video_canvas_a084a5f3669a8702f835f66c573fbf4ba}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!subviewUid@{subviewUid}}
\index{subviewUid@{subviewUid}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{subviewUid}{subviewUid}}
{\footnotesize\ttfamily uid\+\_\+t agora\+::rtc\+::\+Video\+Canvas\+::subview\+Uid}

The uid of video stream composing the video stream from transcoder which will be drawn on this video canvas. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_afcd252553c16f841f51480db14426e87}\label{structagora_1_1rtc_1_1_video_canvas_afcd252553c16f841f51480db14426e87}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!view@{view}}
\index{view@{view}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{view}{view}}
{\footnotesize\ttfamily view\+\_\+t agora\+::rtc\+::\+Video\+Canvas\+::view}

Video display window. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_a7be36a592ec6d6da4a93281683697b16}\label{structagora_1_1rtc_1_1_video_canvas_a7be36a592ec6d6da4a93281683697b16}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!backgroundColor@{backgroundColor}}
\index{backgroundColor@{backgroundColor}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{backgroundColor}{backgroundColor}}
{\footnotesize\ttfamily uint32\+\_\+t agora\+::rtc\+::\+Video\+Canvas\+::background\+Color}

A R\+G\+BA value indicates background color of the render view. Defaults to 0x00000000. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_adc9688e622b68f906d4906f97e563e1c}\label{structagora_1_1rtc_1_1_video_canvas_adc9688e622b68f906d4906f97e563e1c}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!renderMode@{renderMode}}
\index{renderMode@{renderMode}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{renderMode}{renderMode}}
{\footnotesize\ttfamily media\+::base\+::\+R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE agora\+::rtc\+::\+Video\+Canvas\+::render\+Mode}

The video render mode. See R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE. The default value is R\+E\+N\+D\+E\+R\+\_\+\+M\+O\+D\+E\+\_\+\+H\+I\+D\+D\+EN. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_a7af6b90428fdcbd226f94df3cf6df9fc}\label{structagora_1_1rtc_1_1_video_canvas_a7af6b90428fdcbd226f94df3cf6df9fc}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!mirrorMode@{mirrorMode}}
\index{mirrorMode@{mirrorMode}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{mirrorMode}{mirrorMode}}
{\footnotesize\ttfamily V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE agora\+::rtc\+::\+Video\+Canvas\+::mirror\+Mode}

The video mirror mode. See V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE. The default value is V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+A\+U\+TO. \begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item For the mirror mode of the local video view\+: If you use a front camera, the S\+DK enables the mirror mode by default; if you use a rear camera, the S\+DK disables the mirror mode by default.
\item For the remote user\+: The mirror mode is disabled by default. 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_a13b16704c6a54283a984caad8a202451}\label{structagora_1_1rtc_1_1_video_canvas_a13b16704c6a54283a984caad8a202451}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!setupMode@{setupMode}}
\index{setupMode@{setupMode}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{setupMode}{setupMode}}
{\footnotesize\ttfamily V\+I\+D\+E\+O\+\_\+\+V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+DE agora\+::rtc\+::\+Video\+Canvas\+::setup\+Mode}

The mode of setting up video view. See V\+I\+D\+E\+O\+\_\+\+V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+DE The default value is V\+I\+D\+E\+O\+\_\+\+V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+R\+E\+P\+L\+A\+CE. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_a8e2f4270b40e12fad52ac711c4a78879}\label{structagora_1_1rtc_1_1_video_canvas_a8e2f4270b40e12fad52ac711c4a78879}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!sourceType@{sourceType}}
\index{sourceType@{sourceType}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{sourceType}{sourceType}}
{\footnotesize\ttfamily V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE agora\+::rtc\+::\+Video\+Canvas\+::source\+Type}

The video source type. See V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE. 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{structagora_1_1rtc_1_1_video_canvas_aae57619dd141cd5ffd2e6ceb1de37476}\label{structagora_1_1rtc_1_1_video_canvas_aae57619dd141cd5ffd2e6ceb1de37476}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!mediaPlayerId@{mediaPlayerId}}
\index{mediaPlayerId@{mediaPlayerId}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{mediaPlayerId}{mediaPlayerId}}
{\footnotesize\ttfamily int agora\+::rtc\+::\+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{structagora_1_1rtc_1_1_video_canvas_a7a4a6b16c1ac1c5d6feaa8685a0309de}\label{structagora_1_1rtc_1_1_video_canvas_a7a4a6b16c1ac1c5d6feaa8685a0309de}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!cropArea@{cropArea}}
\index{cropArea@{cropArea}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{cropArea}{cropArea}}
{\footnotesize\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_rectangle}{Rectangle}} agora\+::rtc\+::\+Video\+Canvas\+::crop\+Area}

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{structagora_1_1rtc_1_1_video_canvas_a164cf73d43bf71d46d7e7a196eeccf7d}\label{structagora_1_1rtc_1_1_video_canvas_a164cf73d43bf71d46d7e7a196eeccf7d}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!enableAlphaMask@{enableAlphaMask}}
\index{enableAlphaMask@{enableAlphaMask}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{enableAlphaMask}{enableAlphaMask}}
{\footnotesize\ttfamily bool agora\+::rtc\+::\+Video\+Canvas\+::enable\+Alpha\+Mask}

Whether to apply alpha mask to the video frame if exsit\+: true\+: Apply alpha mask to video frame. false\+: (Default) Do not apply alpha mask to video frame. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_canvas_a1777aa67c688d1cd75adc341a751bd3e}\label{structagora_1_1rtc_1_1_video_canvas_a1777aa67c688d1cd75adc341a751bd3e}} 
\index{agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}!position@{position}}
\index{position@{position}!agora::rtc::VideoCanvas@{agora::rtc::VideoCanvas}}
\doxysubsubsection{\texorpdfstring{position}{position}}
{\footnotesize\ttfamily media\+::base\+::\+V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON agora\+::rtc\+::\+Video\+Canvas\+::position}

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. 