\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\textquotesingle{}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_a044206688a3b0ea9785688d2efcea4d6}{}void($\ast$ \hyperlink{struct__Evas__Smart__Class_a044206688a3b0ea9785688d2efcea4d6}{add} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)\label{struct__Evas__Smart__Class_a044206688a3b0ea9785688d2efcea4d6}

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

\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_ab554d9c900d3aff4303a440a06cda80a}{move} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas_ga2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} x, \hyperlink{group__Evas_ga2453e92182bad3b0e0d84e5aff433b07}{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_afb95f2f5616403d43c464a4d939bdcfa}{resize} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas_ga2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} w, \hyperlink{group__Evas_ga2453e92182bad3b0e0d84e5aff433b07}{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_a1aa57fda1f2e428b91e771a1d3a3a9de}{}void($\ast$ \hyperlink{struct__Evas__Smart__Class_a1aa57fda1f2e428b91e771a1d3a3a9de}{show} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)\label{struct__Evas__Smart__Class_a1aa57fda1f2e428b91e771a1d3a3a9de}

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

\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_aab2d6d2a9e6bf2420a19fecf59800091}{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_aae2107fb1b9b20b483ea41160cf1da23}{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_a7abc5300bbe98678d704c1fb27475002}{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_a495fe27fb074354ccaf9ebc68165ed69}{}void($\ast$ \hyperlink{struct__Evas__Smart__Class_a495fe27fb074354ccaf9ebc68165ed69}{calculate} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)\label{struct__Evas__Smart__Class_a495fe27fb074354ccaf9ebc68165ed69}

\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_aa0675efc0ae988dd8fcaaadaea2a17d1}{}void($\ast$ \hyperlink{struct__Evas__Smart__Class_aa0675efc0ae988dd8fcaaadaea2a17d1}{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_aa0675efc0ae988dd8fcaaadaea2a17d1}

\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_a2ad229ea682c812f8145f8e5d17ced5e}{}void($\ast$ \hyperlink{struct__Evas__Smart__Class_a2ad229ea682c812f8145f8e5d17ced5e}{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_a2ad229ea682c812f8145f8e5d17ced5e}

\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\textquotesingle{}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_ab554d9c900d3aff4303a440a06cda80a}{}\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_ab554d9c900d3aff4303a440a06cda80a}


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_afb95f2f5616403d43c464a4d939bdcfa}{}\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_afb95f2f5616403d43c464a4d939bdcfa}


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_aab2d6d2a9e6bf2420a19fecf59800091}{}\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_aab2d6d2a9e6bf2420a19fecf59800091}


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_aae2107fb1b9b20b483ea41160cf1da23}{}\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_aae2107fb1b9b20b483ea41160cf1da23}


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_a7abc5300bbe98678d704c1fb27475002}{}\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_a7abc5300bbe98678d704c1fb27475002}


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}
