\hypertarget{group__Evas__Object__Box}{\section{Box Smart Object}
\label{group__Evas__Object__Box}\index{Box Smart Object@{Box Smart Object}}
}


A box is a convenience smart object that packs children inside it in {\bfseries sequence}, using a layouting function specified by the user.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Evas__Object__Box__Api}{\+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api}
\begin{DoxyCompactList}\small\item\em This structure should be used by any smart class inheriting from the box's one, to provide custom box behavior which could not be achieved only by providing a layout function, with evas\+\_\+object\+\_\+box\+\_\+layout\+\_\+set(). \end{DoxyCompactList}\item 
struct \hyperlink{struct__Evas__Object__Box__Data}{\+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Data}
\begin{DoxyCompactList}\small\item\em This structure augments clipped smart object's instance data, providing extra members required by generic box implementation. \end{DoxyCompactList}\item 
struct \hyperlink{struct__Evas__Object__Box__Option}{\+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option}
\begin{DoxyCompactList}\small\item\em \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} struct fields \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Evas__Object__Box_gadb2f736aab172787d705baab2699dfe4}{\#define \hyperlink{group__Evas__Object__Box_gadb2f736aab172787d705baab2699dfe4}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+V\+E\+R\+S\+I\+O\+N}~1}\label{group__Evas__Object__Box_gadb2f736aab172787d705baab2699dfe4}

\begin{DoxyCompactList}\small\item\em Current version for Evas box object smart class, a value which goes to \hyperlink{struct__Evas__Object__Box__Api_a7d6c66ca4c27f54096276677ba54a38a}{\+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api\+::version}. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}(smart\+\_\+class\+\_\+init)~\{smart\+\_\+class\+\_\+init, \hyperlink{group__Evas__Object__Box_gadb2f736aab172787d705baab2699dfe4}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+V\+E\+R\+S\+I\+O\+N}, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L\}
\begin{DoxyCompactList}\small\item\em Initializer for a whole \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} structure, with {\ttfamily N\+U\+L\+L} values on its specific fields. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L}~\hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}(\hyperlink{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}{E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L})
\begin{DoxyCompactList}\small\item\em Initializer to zero out a whole \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} structure. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N}~\hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}(\hyperlink{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}{E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N})
\begin{DoxyCompactList}\small\item\em Initializer to zero out a whole \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} structure and set a specific version on it. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N}(name)~\hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}(\hyperlink{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}{E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N}(name))
\begin{DoxyCompactList}\small\item\em Initializer to zero out a whole \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} structure and set its name and version. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{typedef struct \hyperlink{struct__Evas__Object__Box__Api}{\+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api}}\label{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}

\begin{DoxyCompactList}\small\item\em Smart class extension, providing extra box object requirements. \end{DoxyCompactList}\item 
\hypertarget{group__Evas__Object__Box_gac9047b7cff95df59f61c7321967caf7b}{typedef struct \\*
\hyperlink{struct__Evas__Object__Box__Data}{\+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Data} \hyperlink{group__Evas__Object__Box_gac9047b7cff95df59f61c7321967caf7b}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Data}}\label{group__Evas__Object__Box_gac9047b7cff95df59f61c7321967caf7b}

\begin{DoxyCompactList}\small\item\em Smart object instance data, providing box object requirements. \end{DoxyCompactList}\item 
typedef struct \\*
\hyperlink{struct__Evas__Object__Box__Option}{\+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option}
\begin{DoxyCompactList}\small\item\em The base structure for a box option. \end{DoxyCompactList}\item 
typedef void($\ast$ \hyperlink{group__Evas__Object__Box_gad3ef5177a00dcda0c08c86287419d5b5}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout} )(\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas__Object__Box_gac9047b7cff95df59f61c7321967caf7b}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Data} $\ast$priv, void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Function signature for an Evas box object layouting routine. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{group__Evas__Object__Box_ga6a93961343776a654200084213804fd3}{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+set} (\hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} $\ast$api)
\begin{DoxyCompactList}\small\item\em Set the default box {\itshape api} struct (Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api) with the default values. \end{DoxyCompactList}\item 
const \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} $\ast$ \hyperlink{group__Evas__Object__Box_ga87222ff21012a79caf1e284dcecad350}{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+class\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the Evas box smart class, for inheritance purposes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__Evas__Object__Box_gad413687e53adcbb70ced91d4a4218b45}{evas\+\_\+object\+\_\+box\+\_\+add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$evas)
\begin{DoxyCompactList}\small\item\em Add a new box object on the provided canvas. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Evas__Object__Box_ga5b05a56a639b7ecf4371c794b4b0d2ed}{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vget} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} $\ast$opt, int property, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Get a property's value (by its given numerical identifier), on a given box child element -- by a variable argument list. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Evas__Object__Box_ga023282a3edbe01bba78360bb5b733aa1}{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vset} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} $\ast$opt, int property, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Set a property value (by its given numerical identifier), on a given box child element -- by a variable argument list. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Evas__Object__Box_ga3ed4ba28d9869b84d99ea7b5217636be}{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} $\ast$opt, int property,...)
\begin{DoxyCompactList}\small\item\em Set a property value (by its given numerical identifier), on a given box child element. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Evas__Object__Box_gae5796105f256467638f4831403a38886}{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o, \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} $\ast$opt, int property,...)
\begin{DoxyCompactList}\small\item\em Get a property's value (by its given numerical identifier), on a given box child element. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List} $\ast$ \hyperlink{group__Evas__Object__Box_ga245f7f1824ec1033c6b1d0c2312fed9e}{evas\+\_\+object\+\_\+box\+\_\+children\+\_\+get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$o)
\begin{DoxyCompactList}\small\item\em Get the list of children objects in a given box object. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A box is a convenience smart object that packs children inside it in {\bfseries sequence}, using a layouting function specified by the user. 

There are a couple of pre-\/made layouting functions {\bfseries built-\/in in Evas}, all of them using children size hints to define their size and alignment inside their cell space.

Examples on this smart object's usage\+:
\begin{DoxyItemize}
\item \hyperlink{Example_Evas_Box}{Evas box example}
\item \hyperlink{Example_Evas_Size_Hints}{Evas alignment, minimum size, maximum size, padding and weight hints example}
\end{DoxyItemize}

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Object__Group__Size__Hints}{Size Hints} 
\end{DoxySeeAlso}


\subsection{Macro Definition Documentation}
\hypertarget{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{\index{Box Smart Object@{Box Smart Object}!E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T@{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}}
\index{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T@{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}!Box Smart Object@{Box Smart Object}}
\subsubsection[{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T(
\begin{DoxyParamCaption}
\item[{}]{smart\+\_\+class\+\_\+init}
\end{DoxyParamCaption}
)~\{smart\+\_\+class\+\_\+init, {\bf E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+V\+E\+R\+S\+I\+O\+N}, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L, N\+U\+L\+L\}}}\label{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}


Initializer for a whole \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} structure, with {\ttfamily N\+U\+L\+L} values on its specific fields. 


\begin{DoxyParams}{Parameters}
{\em smart\+\_\+class\+\_\+init} & initializer to use for the \char`\"{}base\char`\"{} field (\hyperlink{group__Evas__Smart__Group_gaea15f67e901bf5380cdb67dc1bb43391}{Evas\+\_\+\+Smart\+\_\+\+Class}).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}{E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L} 

\hyperlink{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}{E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N} 

\hyperlink{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}{E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N} 

\hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L} 

\hyperlink{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N} 

\hyperlink{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N} 
\end{DoxySeeAlso}
\hypertarget{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{\index{Box Smart Object@{Box Smart Object}!E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L@{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L}}
\index{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L@{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L}!Box Smart Object@{Box Smart Object}}
\subsubsection[{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L~{\bf E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}({\bf E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L})}}\label{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}


Initializer to zero out a whole \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} structure. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N} 

\hyperlink{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N} 

\hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T} 
\end{DoxySeeAlso}
\hypertarget{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{\index{Box Smart Object@{Box Smart Object}!E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N@{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N}}
\index{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N@{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N}!Box Smart Object@{Box Smart Object}}
\subsubsection[{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N~{\bf E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}({\bf E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N})}}\label{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}


Initializer to zero out a whole \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} structure and set a specific version on it. 

This is similar to \hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L}, but it will set the version field of \hyperlink{group__Evas__Smart__Group_gaea15f67e901bf5380cdb67dc1bb43391}{Evas\+\_\+\+Smart\+\_\+\+Class} (base field) to the latest \hyperlink{group__Evas__Smart__Group_ga1ca1514302a47188c921b232d6ce42db}{E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+V\+E\+R\+S\+I\+O\+N}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L} 

\hyperlink{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N} 

\hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T} 
\end{DoxySeeAlso}
\hypertarget{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{\index{Box Smart Object@{Box Smart Object}!E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N@{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N}}
\index{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N@{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N}!Box Smart Object@{Box Smart Object}}
\subsubsection[{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N(
\begin{DoxyParamCaption}
\item[{}]{name}
\end{DoxyParamCaption}
)~{\bf E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T}({\bf E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+I\+T\+\_\+\+N\+A\+M\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N}(name))}}\label{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}


Initializer to zero out a whole \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} structure and set its name and version. 

This is similar to \hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L}, but it will also set the version field of \hyperlink{group__Evas__Smart__Group_gaea15f67e901bf5380cdb67dc1bb43391}{Evas\+\_\+\+Smart\+\_\+\+Class} (base field) to the latest \hyperlink{group__Evas__Smart__Group_ga1ca1514302a47188c921b232d6ce42db}{E\+V\+A\+S\+\_\+\+S\+M\+A\+R\+T\+\_\+\+C\+L\+A\+S\+S\+\_\+\+V\+E\+R\+S\+I\+O\+N} and name it to the specific value.

It will keep a reference to the name field as a {\ttfamily \char`\"{}const char $\ast$\char`\"{}}, i.\+e., the name must be available while the structure is used (hint\+: static or global variable!) and must not be modified.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+N\+U\+L\+L} 

\hyperlink{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T\+\_\+\+V\+E\+R\+S\+I\+O\+N} 

\hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{E\+V\+A\+S\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+B\+O\+X\+\_\+\+A\+P\+I\+\_\+\+I\+N\+I\+T} 
\end{DoxySeeAlso}


\subsection{Typedef Documentation}
\hypertarget{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{\index{Box Smart Object@{Box Smart Object}!Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option@{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option}}
\index{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option@{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option}!Box Smart Object@{Box Smart Object}}
\subsubsection[{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option}}}\label{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}


The base structure for a box option. 

Box options are a way of extending box items properties, which will be taken into account for layouting decisions. The box layouting functions provided by Evas will only rely on objects' canonical size hints to layout them, so the basic box option has {\bfseries no} (custom) property set.

Users creating their own layouts, but not depending on extra child items' properties, would be fine just using evas\+\_\+object\+\_\+box\+\_\+layout\+\_\+set(). But if one desires a layout depending on extra child properties, he/she has to {\bfseries subclass} the box smart object. Thus, by using \hyperlink{group__Evas__Object__Box_ga87222ff21012a79caf1e284dcecad350}{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+class\+\_\+get()} and \hyperlink{group__Evas__Object__Box_ga6a93961343776a654200084213804fd3}{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+set()}, the {\ttfamily option\+\_\+new()} and {\ttfamily option\+\_\+free()} smart class functions should be properly redefined/extended.

Object properties are bound to an integer identifier and must have a name string. Their values are open to any data. See the A\+P\+I on option properties for more details. \hypertarget{group__Evas__Object__Box_gad3ef5177a00dcda0c08c86287419d5b5}{\index{Box Smart Object@{Box Smart Object}!Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout@{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout}}
\index{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout@{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout}!Box Smart Object@{Box Smart Object}}
\subsubsection[{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout}]{\setlength{\rightskip}{0pt plus 5cm}Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout}}\label{group__Evas__Object__Box_gad3ef5177a00dcda0c08c86287419d5b5}


Function signature for an Evas box object layouting routine. 

By {\itshape o} it will be passed the box object in question, by {\itshape priv} it will be passed the box's internal data and, by {\itshape user\+\_\+data}, it will be passed any custom data one could have set to a given box layouting function, with evas\+\_\+object\+\_\+box\+\_\+layout\+\_\+set(). 

\subsection{Function Documentation}
\hypertarget{group__Evas__Object__Box_ga6a93961343776a654200084213804fd3}{\index{Box Smart Object@{Box Smart Object}!evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+set@{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+set}}
\index{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+set@{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+set}!Box Smart Object@{Box Smart Object}}
\subsubsection[{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api} $\ast$}]{api}
\end{DoxyParamCaption}
)}}\label{group__Evas__Object__Box_ga6a93961343776a654200084213804fd3}


Set the default box {\itshape api} struct (Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api) with the default values. 

May be used to extend that A\+P\+I.


\begin{DoxyParams}{Parameters}
{\em api} & The box A\+P\+I struct to set back, most probably with overridden fields (on class extensions scenarios) \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__Object__Box_ga87222ff21012a79caf1e284dcecad350}{\index{Box Smart Object@{Box Smart Object}!evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+class\+\_\+get@{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+class\+\_\+get}}
\index{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+class\+\_\+get@{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+class\+\_\+get}!Box Smart Object@{Box Smart Object}}
\subsubsection[{evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+class\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api}$\ast$ evas\+\_\+object\+\_\+box\+\_\+smart\+\_\+class\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Evas__Object__Box_ga87222ff21012a79caf1e284dcecad350}


Get the Evas box smart class, for inheritance purposes. 

\begin{DoxyReturn}{Returns}
the (canonical) Evas box smart class.
\end{DoxyReturn}
The returned value is {\bfseries not} to be modified, just use it as your parent class. \hypertarget{group__Evas__Object__Box_gad413687e53adcbb70ced91d4a4218b45}{\index{Box Smart Object@{Box Smart Object}!evas\+\_\+object\+\_\+box\+\_\+add@{evas\+\_\+object\+\_\+box\+\_\+add}}
\index{evas\+\_\+object\+\_\+box\+\_\+add@{evas\+\_\+object\+\_\+box\+\_\+add}!Box Smart Object@{Box Smart Object}}
\subsubsection[{evas\+\_\+object\+\_\+box\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\+\_\+\+Object}$\ast$ evas\+\_\+object\+\_\+box\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf Evas} $\ast$}]{evas}
\end{DoxyParamCaption}
)}}\label{group__Evas__Object__Box_gad413687e53adcbb70ced91d4a4218b45}


Add a new box object on the provided canvas. 


\begin{DoxyParams}{Parameters}
{\em evas} & The canvas to create the box object on. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily N\+U\+L\+L} on error, a pointer to a new box object on success.
\end{DoxyReturn}
After instantiation, if a box object hasn't its layout function set, via evas\+\_\+object\+\_\+box\+\_\+layout\+\_\+set(), it will have it by default set to evas\+\_\+object\+\_\+box\+\_\+layout\+\_\+horizontal(). The remaining properties of the box must be set/retrieved via {\ttfamily evas\+\_\+object\+\_\+box\+\_\+\{h,v\}\+\_\+\{align,padding\}\+\_\+\{get,set)()}. \hypertarget{group__Evas__Object__Box_ga5b05a56a639b7ecf4371c794b4b0d2ed}{\index{Box Smart Object@{Box Smart Object}!evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vget@{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vget}}
\index{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vget@{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vget}!Box Smart Object@{Box Smart Object}}
\subsubsection[{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vget}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vget (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\+\_\+\+Object} $\ast$}]{o, }
\item[{{\bf Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} $\ast$}]{opt, }
\item[{int}]{property, }
\item[{va\+\_\+list}]{args}
\end{DoxyParamCaption}
)}}\label{group__Evas__Object__Box_ga5b05a56a639b7ecf4371c794b4b0d2ed}


Get a property's value (by its given numerical identifier), on a given box child element -- by a variable argument list. 


\begin{DoxyParams}{Parameters}
{\em o} & The box parenting the child element \\
\hline
{\em opt} & The box option structure bound to the child box element to get a property from \\
\hline
{\em property} & The numerical I\+D of the given property \\
\hline
{\em args} & The variable argument list with pointers to where to store the values of this property. They {\bfseries must} point to variables of the same type the user has defined for them. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This is a variable argument list variant of the \hyperlink{group__Evas__Object__Box_gae5796105f256467638f4831403a38886}{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+get()}. See its documentation for more details. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E.



Referenced by evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+get().

\hypertarget{group__Evas__Object__Box_ga023282a3edbe01bba78360bb5b733aa1}{\index{Box Smart Object@{Box Smart Object}!evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vset@{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vset}}
\index{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vset@{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vset}!Box Smart Object@{Box Smart Object}}
\subsubsection[{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vset}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vset (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Object} $\ast$}]{o, }
\item[{{\bf Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} $\ast$}]{opt, }
\item[{int}]{property, }
\item[{va\+\_\+list}]{args}
\end{DoxyParamCaption}
)}}\label{group__Evas__Object__Box_ga023282a3edbe01bba78360bb5b733aa1}


Set a property value (by its given numerical identifier), on a given box child element -- by a variable argument list. 


\begin{DoxyParams}{Parameters}
{\em o} & The box parenting the child element \\
\hline
{\em opt} & The box option structure bound to the child box element to set a property on \\
\hline
{\em property} & The numerical I\+D of the given property \\
\hline
{\em args} & The variable argument list implementing the value to be set for this property. It {\bfseries must} be of the same type the user has defined for it. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This is a variable argument list variant of the \hyperlink{group__Evas__Object__Box_ga3ed4ba28d9869b84d99ea7b5217636be}{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+set()}. See its documentation for more details. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E.



Referenced by evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+set().

\hypertarget{group__Evas__Object__Box_ga3ed4ba28d9869b84d99ea7b5217636be}{\index{Box Smart Object@{Box Smart Object}!evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+set@{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+set}}
\index{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+set@{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+set}!Box Smart Object@{Box Smart Object}}
\subsubsection[{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Object} $\ast$}]{o, }
\item[{{\bf Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} $\ast$}]{opt, }
\item[{int}]{property, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__Evas__Object__Box_ga3ed4ba28d9869b84d99ea7b5217636be}


Set a property value (by its given numerical identifier), on a given box child element. 


\begin{DoxyParams}{Parameters}
{\em o} & The box parenting the child element \\
\hline
{\em opt} & The box option structure bound to the child box element to set a property on \\
\hline
{\em property} & The numerical I\+D of the given property \\
\hline
{\em ...} & (List of) actual value(s) to be set for this property. It (they) {\bfseries must} be of the same type the user has defined for it (them). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This call won't do anything for a canonical Evas box. Only users which have {\bfseries subclassed} it, setting custom box items options (see \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option}) on it, would benefit from this function. They'd have to implement it and set it to be the \hyperlink{struct__Evas__Object__Box__Api_ae6e9280a426370646ea5bd4b8fa819bf}{\+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api\+::property\+\_\+set} smart class function of the box, which is originally set to {\ttfamily N\+U\+L\+L}.

This function will internally create a variable argument list, with the values passed after {\ttfamily property}, and call \hyperlink{group__Evas__Object__Box_ga023282a3edbe01bba78360bb5b733aa1}{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vset()} with this list and the same previous arguments. 
\end{DoxyNote}


References evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vset().

\hypertarget{group__Evas__Object__Box_gae5796105f256467638f4831403a38886}{\index{Box Smart Object@{Box Smart Object}!evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+get@{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+get}}
\index{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+get@{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+get}!Box Smart Object@{Box Smart Object}}
\subsubsection[{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\+\_\+\+Object} $\ast$}]{o, }
\item[{{\bf Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option} $\ast$}]{opt, }
\item[{int}]{property, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__Evas__Object__Box_gae5796105f256467638f4831403a38886}


Get a property's value (by its given numerical identifier), on a given box child element. 


\begin{DoxyParams}{Parameters}
{\em o} & The box parenting the child element \\
\hline
{\em opt} & The box option structure bound to the child box element to get a property from \\
\hline
{\em property} & The numerical I\+D of the given property \\
\hline
{\em ...} & (List of) pointer(s) where to store the value(s) set for this property. It (they) {\bfseries must} point to variable(s) of the same type the user has defined for it (them). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This call won't do anything for a canonical Evas box. Only users which have {\bfseries subclassed} it, getting custom box items options (see \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option}) on it, would benefit from this function. They'd have to implement it and get it to be the \hyperlink{struct__Evas__Object__Box__Api_a59d7d420bad22f798982529742920cc1}{\+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api\+::property\+\_\+get} smart class function of the box, which is originally get to {\ttfamily N\+U\+L\+L}.

This function will internally create a variable argument list, with the values passed after {\ttfamily property}, and call \hyperlink{group__Evas__Object__Box_ga5b05a56a639b7ecf4371c794b4b0d2ed}{evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vget()} with this list and the same previous arguments. 
\end{DoxyNote}


References evas\+\_\+object\+\_\+box\+\_\+option\+\_\+property\+\_\+vget().

\hypertarget{group__Evas__Object__Box_ga245f7f1824ec1033c6b1d0c2312fed9e}{\index{Box Smart Object@{Box Smart Object}!evas\+\_\+object\+\_\+box\+\_\+children\+\_\+get@{evas\+\_\+object\+\_\+box\+\_\+children\+\_\+get}}
\index{evas\+\_\+object\+\_\+box\+\_\+children\+\_\+get@{evas\+\_\+object\+\_\+box\+\_\+children\+\_\+get}!Box Smart Object@{Box Smart Object}}
\subsubsection[{evas\+\_\+object\+\_\+box\+\_\+children\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+List}$\ast$ evas\+\_\+object\+\_\+box\+\_\+children\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\+\_\+\+Object} $\ast$}]{o}
\end{DoxyParamCaption}
)}}\label{group__Evas__Object__Box_ga245f7f1824ec1033c6b1d0c2312fed9e}


Get the list of children objects in a given box object. 


\begin{DoxyParams}{Parameters}
{\em o} & The box to retrieve an items list from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A list of {\ttfamily o's} child objects, on success, or {\ttfamily N\+U\+L\+L}, on errors (or if it has no child objects)
\end{DoxyReturn}
The returned list should be freed with {\ttfamily \hyperlink{group__Eina__List__Group_ga608bd2fbf06293a1b794648990703ab4}{eina\+\_\+list\+\_\+free()}} when you no longer need it.

\begin{DoxyNote}{Note}
This is a duplicate of the list kept by the box internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the box when walking this list, but these removals won't be reflected on it. 
\end{DoxyNote}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{evas-box_8c-example}{evas-\/box.\+c}.\end{Desc}


References eina\+\_\+list\+\_\+append(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H, and \+\_\+\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option\+::obj.

