\hypertarget{struct__Evas__Smart__Class}{\section{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class Struct Reference}
\label{struct__Evas__Smart__Class}\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
}


A smart object's {\bfseries base} class definition.  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\hypertarget{struct__Evas__Smart__Class_a34b0476dfa714dff39812ed72636005f}{const char $\ast$ \hyperlink{struct__Evas__Smart__Class_a34b0476dfa714dff39812ed72636005f}{name}}\label{struct__Evas__Smart__Class_a34b0476dfa714dff39812ed72636005f}

\begin{DoxyCompactList}\small\item\em the name string of the class \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_a425cb7b99efa8e081114eff99813cd6b}{int {\bfseries version}}\label{struct__Evas__Smart__Class_a425cb7b99efa8e081114eff99813cd6b}

\item 
\hypertarget{struct__Evas__Smart__Class_a53149c9c3c1eb86af742a2d89790d2c7}{void($\ast$ \hyperlink{struct__Evas__Smart__Class_a53149c9c3c1eb86af742a2d89790d2c7}{add} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)}\label{struct__Evas__Smart__Class_a53149c9c3c1eb86af742a2d89790d2c7}

\begin{DoxyCompactList}\small\item\em code to be run when adding object to a canvas \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_a8a493473cd97a4e9284f5a33f0afe823}{void($\ast$ \hyperlink{struct__Evas__Smart__Class_a8a493473cd97a4e9284f5a33f0afe823}{del} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)}\label{struct__Evas__Smart__Class_a8a493473cd97a4e9284f5a33f0afe823}

\begin{DoxyCompactList}\small\item\em code to be run when removing object from a canvas \end{DoxyCompactList}\item 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_ad3abe3f7a9be5071794d23892121027e}{move} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} x, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} y)
\begin{DoxyCompactList}\small\item\em code to be run when moving object on a canvas. \end{DoxyCompactList}\item 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_a6b7ea5214710d6a1a8981e57469ac1aa}{resize} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} w, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} h)
\begin{DoxyCompactList}\small\item\em code to be run when resizing object on a canvas. \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_a42d78034c1bd3be03374ee2e3456c269}{void($\ast$ \hyperlink{struct__Evas__Smart__Class_a42d78034c1bd3be03374ee2e3456c269}{show} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)}\label{struct__Evas__Smart__Class_a42d78034c1bd3be03374ee2e3456c269}

\begin{DoxyCompactList}\small\item\em code to be run when showing object on a canvas \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_a220f7863026ac6a37613896ba0ea21e9}{void($\ast$ \hyperlink{struct__Evas__Smart__Class_a220f7863026ac6a37613896ba0ea21e9}{hide} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)}\label{struct__Evas__Smart__Class_a220f7863026ac6a37613896ba0ea21e9}

\begin{DoxyCompactList}\small\item\em code to be run when hiding object on a canvas \end{DoxyCompactList}\item 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_a2e30859e264b57d6a0eac866ca5cfeea}{color\+\_\+set} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, int r, int g, int b, int a)
\begin{DoxyCompactList}\small\item\em code to be run when setting color of object on a canvas. \end{DoxyCompactList}\item 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_a1b2be9d1a2ad8a301a09e0c87d105e82}{clip\+\_\+set} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$clip)
\begin{DoxyCompactList}\small\item\em code to be run when setting clipper of object on a canvas. \end{DoxyCompactList}\item 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_ae4d20ef6721a0a9781a691f4bc03e213}{clip\+\_\+unset} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)
\begin{DoxyCompactList}\small\item\em code to be run when unsetting clipper of object on a canvas. \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_af48b73a524d5fe75604ee104bca4e79a}{void($\ast$ \hyperlink{struct__Evas__Smart__Class_af48b73a524d5fe75604ee104bca4e79a}{calculate} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)}\label{struct__Evas__Smart__Class_af48b73a524d5fe75604ee104bca4e79a}

\begin{DoxyCompactList}\small\item\em code to be run when object has rendering updates on a canvas \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_a504aab1e7fb3711250a4615aaf441a60}{void($\ast$ \hyperlink{struct__Evas__Smart__Class_a504aab1e7fb3711250a4615aaf441a60}{member\+\_\+add} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$child)}\label{struct__Evas__Smart__Class_a504aab1e7fb3711250a4615aaf441a60}

\begin{DoxyCompactList}\small\item\em code to be run when a child member is added to object \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_a960adc12e4fb79a27c005419fa9fc83b}{void($\ast$ \hyperlink{struct__Evas__Smart__Class_a960adc12e4fb79a27c005419fa9fc83b}{member\+\_\+del} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$child)}\label{struct__Evas__Smart__Class_a960adc12e4fb79a27c005419fa9fc83b}

\begin{DoxyCompactList}\small\item\em code to be run when a child member is removed from object \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_a4b009bf8125551b4bec8bc114756fc3e}{const \hyperlink{group__Evas__Smart__Group_gaea15f67e901bf5380cdb67dc1bb43391}{Evas\+\_\+\+Smart\+\_\+\+Class} $\ast$ \hyperlink{struct__Evas__Smart__Class_a4b009bf8125551b4bec8bc114756fc3e}{parent}}\label{struct__Evas__Smart__Class_a4b009bf8125551b4bec8bc114756fc3e}

\begin{DoxyCompactList}\small\item\em this class inherits from this parent \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067}{const \hyperlink{group__Evas__Smart__Group_ga0ad0e7d482d7660e756e275d355e3634}{Evas\+\_\+\+Smart\+\_\+\+Cb\+\_\+\+Description} $\ast$ \hyperlink{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067}{callbacks}}\label{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067}

\begin{DoxyCompactList}\small\item\em callbacks at this level, {\ttfamily N\+U\+L\+L} terminated \end{DoxyCompactList}\item 
const \hyperlink{group__Evas__Smart__Group_gaef9b6443e1fdb6ffd3acd39981e91fee}{Evas\+\_\+\+Smart\+\_\+\+Interface} $\ast$$\ast$ \hyperlink{struct__Evas__Smart__Class_a26493bcab3adc8486eca1ff00a5e246f}{interfaces}
\begin{DoxyCompactList}\small\item\em \hyperlink{group__Evas__Smart__Group_gaef9b6443e1fdb6ffd3acd39981e91fee}{Evas\+\_\+\+Smart\+\_\+\+Interface} pointers array, {\ttfamily N\+U\+L\+L} terminated. \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_aec2abcb595315b0a264d05bbb2328624}{const void $\ast$ {\bfseries data}}\label{struct__Evas__Smart__Class_aec2abcb595315b0a264d05bbb2328624}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
A smart object's {\bfseries base} class definition. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{evas-smart-interface_8c-example}{evas-\/smart-\/interface.\+c}, and \hyperlink{evas-smart-object_8c-example}{evas-\/smart-\/object.\+c}.\end{Desc}


\subsection{Field Documentation}
\hypertarget{struct__Evas__Smart__Class_ad3abe3f7a9be5071794d23892121027e}{\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}!move@{move}}
\index{move@{move}!\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
\subsubsection[{move}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::move)({\bf Evas\+\_\+\+Object} $\ast$o, {\bf Evas\+\_\+\+Coord} x, {\bf Evas\+\_\+\+Coord} y)}}\label{struct__Evas__Smart__Class_ad3abe3f7a9be5071794d23892121027e}


code to be run when moving object on a canvas. 

{\itshape x} and {\itshape y} will be new coordinates one applied to the object. use \hyperlink{group__Evas__Object__Group__Basic_ga6f52fab1a96dc58c85ee481d84bac871}{evas\+\_\+object\+\_\+geometry\+\_\+get()} if you need the old values, during this call. after that, the old values will be lost. 

Referenced by evas\+\_\+object\+\_\+smart\+\_\+clipped\+\_\+smart\+\_\+set().

\hypertarget{struct__Evas__Smart__Class_a6b7ea5214710d6a1a8981e57469ac1aa}{\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}!resize@{resize}}
\index{resize@{resize}!\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
\subsubsection[{resize}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::resize)({\bf Evas\+\_\+\+Object} $\ast$o, {\bf Evas\+\_\+\+Coord} w, {\bf Evas\+\_\+\+Coord} h)}}\label{struct__Evas__Smart__Class_a6b7ea5214710d6a1a8981e57469ac1aa}


code to be run when resizing object on a canvas. 

{\itshape w} and {\itshape h} will be new dimensions one applied to the object. use \hyperlink{group__Evas__Object__Group__Basic_ga6f52fab1a96dc58c85ee481d84bac871}{evas\+\_\+object\+\_\+geometry\+\_\+get()} if you need the old values, during this call. after that, the old values will be lost. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{evas-smart-interface_8c-example}{evas-\/smart-\/interface.\+c}, and \hyperlink{evas-smart-object_8c-example}{evas-\/smart-\/object.\+c}.\end{Desc}
\hypertarget{struct__Evas__Smart__Class_a2e30859e264b57d6a0eac866ca5cfeea}{\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}!color\+\_\+set@{color\+\_\+set}}
\index{color\+\_\+set@{color\+\_\+set}!\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
\subsubsection[{color\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::color\+\_\+set)({\bf Evas\+\_\+\+Object} $\ast$o, int r, int g, int b, int a)}}\label{struct__Evas__Smart__Class_a2e30859e264b57d6a0eac866ca5cfeea}


code to be run when setting color of object on a canvas. 

{\itshape r}, {\itshape g}, {\itshape b} and {\itshape y} will be new color components one applied to the object. use \hyperlink{group__Evas__Object__Group__Basic_ga0854bae878bfc39f51b9c989353c973f}{evas\+\_\+object\+\_\+color\+\_\+get()} if you need the old values, during this call. after that, the old values will be lost. 

Referenced by evas\+\_\+object\+\_\+smart\+\_\+clipped\+\_\+smart\+\_\+set().

\hypertarget{struct__Evas__Smart__Class_a1b2be9d1a2ad8a301a09e0c87d105e82}{\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}!clip\+\_\+set@{clip\+\_\+set}}
\index{clip\+\_\+set@{clip\+\_\+set}!\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
\subsubsection[{clip\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::clip\+\_\+set)({\bf Evas\+\_\+\+Object} $\ast$o, {\bf Evas\+\_\+\+Object} $\ast$clip)}}\label{struct__Evas__Smart__Class_a1b2be9d1a2ad8a301a09e0c87d105e82}


code to be run when setting clipper of object on a canvas. 

{\itshape clip} will be new clipper one applied to the object. use evas\+\_\+object\+\_\+clip\+\_\+get() if you need the old one, during this call. after that, the old (object pointer) value will be lost. 

Referenced by evas\+\_\+object\+\_\+smart\+\_\+clipped\+\_\+smart\+\_\+set().

\hypertarget{struct__Evas__Smart__Class_ae4d20ef6721a0a9781a691f4bc03e213}{\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}!clip\+\_\+unset@{clip\+\_\+unset}}
\index{clip\+\_\+unset@{clip\+\_\+unset}!\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
\subsubsection[{clip\+\_\+unset}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::clip\+\_\+unset)({\bf Evas\+\_\+\+Object} $\ast$o)}}\label{struct__Evas__Smart__Class_ae4d20ef6721a0a9781a691f4bc03e213}


code to be run when unsetting clipper of object on a canvas. 

if you need the pointer to a previous set clipper, during this call, use evas\+\_\+object\+\_\+clip\+\_\+get(). after that, the old (object pointer) value will be lost. 

Referenced by evas\+\_\+object\+\_\+smart\+\_\+clipped\+\_\+smart\+\_\+set().

\hypertarget{struct__Evas__Smart__Class_a26493bcab3adc8486eca1ff00a5e246f}{\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}!interfaces@{interfaces}}
\index{interfaces@{interfaces}!\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
\subsubsection[{interfaces}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Evas\+\_\+\+Smart\+\_\+\+Interface}$\ast$$\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::interfaces}}\label{struct__Evas__Smart__Class_a26493bcab3adc8486eca1ff00a5e246f}


\hyperlink{group__Evas__Smart__Group_gaef9b6443e1fdb6ffd3acd39981e91fee}{Evas\+\_\+\+Smart\+\_\+\+Interface} pointers array, {\ttfamily N\+U\+L\+L} terminated. 

These will be the interfaces supported at this level for an object (parents may have others) \begin{DoxySince}{Since}
1.\+7 
\end{DoxySince}
