\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}{}\label{struct__Evas__Smart__Class_a34b0476dfa714dff39812ed72636005f} 
const char $\ast$ \hyperlink{struct__Evas__Smart__Class_a34b0476dfa714dff39812ed72636005f}{name}
\begin{DoxyCompactList}\small\item\em the name string of the class \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_a425cb7b99efa8e081114eff99813cd6b}{}\label{struct__Evas__Smart__Class_a425cb7b99efa8e081114eff99813cd6b} 
int {\bfseries version}
\item 
\hypertarget{struct__Evas__Smart__Class_a044206688a3b0ea9785688d2efcea4d6}{}\label{struct__Evas__Smart__Class_a044206688a3b0ea9785688d2efcea4d6} 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_a044206688a3b0ea9785688d2efcea4d6}{add} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)
\begin{DoxyCompactList}\small\item\em code to be run when adding object to a canvas \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_a1dd96f1c822fefaa68025e35de0bbde7}{}\label{struct__Evas__Smart__Class_a1dd96f1c822fefaa68025e35de0bbde7} 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_a1dd96f1c822fefaa68025e35de0bbde7}{del} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)
\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}{}\label{struct__Evas__Smart__Class_a1aa57fda1f2e428b91e771a1d3a3a9de} 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_a1aa57fda1f2e428b91e771a1d3a3a9de}{show} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)
\begin{DoxyCompactList}\small\item\em code to be run when showing object on a canvas \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_ad48724181a7379c046e754b20ece69b8}{}\label{struct__Evas__Smart__Class_ad48724181a7379c046e754b20ece69b8} 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_ad48724181a7379c046e754b20ece69b8}{hide} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)
\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}{}\label{struct__Evas__Smart__Class_a495fe27fb074354ccaf9ebc68165ed69} 
void($\ast$ \hyperlink{struct__Evas__Smart__Class_a495fe27fb074354ccaf9ebc68165ed69}{calculate} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)
\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}{}\label{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)
\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}{}\label{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)
\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}{}\label{struct__Evas__Smart__Class_a4b009bf8125551b4bec8bc114756fc3e} 
const \hyperlink{group__Evas__Smart__Group_gaea15f67e901bf5380cdb67dc1bb43391}{Evas\+\_\+\+Smart\+\_\+\+Class} $\ast$ \hyperlink{struct__Evas__Smart__Class_a4b009bf8125551b4bec8bc114756fc3e}{parent}
\begin{DoxyCompactList}\small\item\em this class inherits from this parent \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067}{}\label{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067} 
const \hyperlink{group__Evas__Smart__Group_ga0ad0e7d482d7660e756e275d355e3634}{Evas\+\_\+\+Smart\+\_\+\+Cb\+\_\+\+Description} $\ast$ \hyperlink{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067}{callbacks}
\begin{DoxyCompactList}\small\item\em callbacks at this level, {\ttfamily N\+U\+LL} 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\+LL} terminated. \end{DoxyCompactList}\item 
\hypertarget{struct__Evas__Smart__Class_aec2abcb595315b0a264d05bbb2328624}{}\label{struct__Evas__Smart__Class_aec2abcb595315b0a264d05bbb2328624} 
const void $\ast$ {\bfseries data}
\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}{}\label{struct__Evas__Smart__Class_ab554d9c900d3aff4303a440a06cda80a} 
\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}!move@{move}}
\index{move@{move}!\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
\subsubsection{\texorpdfstring{move}{move}}
{\footnotesize\ttfamily void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::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)}



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}{}\label{struct__Evas__Smart__Class_afb95f2f5616403d43c464a4d939bdcfa} 
\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}!resize@{resize}}
\index{resize@{resize}!\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
\subsubsection{\texorpdfstring{resize}{resize}}
{\footnotesize\ttfamily void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::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)}



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}{}\label{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{\texorpdfstring{color\+\_\+set}{color\_set}}
{\footnotesize\ttfamily void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::color\+\_\+set) (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, int r, int g, int b, int a)}



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}{}\label{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{\texorpdfstring{clip\+\_\+set}{clip\_set}}
{\footnotesize\ttfamily void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::clip\+\_\+set) (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$clip)}



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}{}\label{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{\texorpdfstring{clip\+\_\+unset}{clip\_unset}}
{\footnotesize\ttfamily void($\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::clip\+\_\+unset) (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)}



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}{}\label{struct__Evas__Smart__Class_a26493bcab3adc8486eca1ff00a5e246f} 
\index{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}!interfaces@{interfaces}}
\index{interfaces@{interfaces}!\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class@{\+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class}}
\subsubsection{\texorpdfstring{interfaces}{interfaces}}
{\footnotesize\ttfamily const \hyperlink{group__Evas__Smart__Group_gaef9b6443e1fdb6ffd3acd39981e91fee}{Evas\+\_\+\+Smart\+\_\+\+Interface}$\ast$$\ast$ \+\_\+\+Evas\+\_\+\+Smart\+\_\+\+Class\+::interfaces}



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

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


Referenced by evas\+\_\+object\+\_\+smart\+\_\+members\+\_\+get(), and evas\+\_\+smart\+\_\+usage\+\_\+get().

