\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\textquotesingle{}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\textquotesingle{}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\textquotesingle{}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\textquotesingle{}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\textquotesingle{}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\textquotesingle{} 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\textquotesingle{} 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\textquotesingle{}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(\+Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Api $\ast$api)}]{\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(void)}]{\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(\+Evas $\ast$evas)}]{\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\textquotesingle{}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)()}. 

References eo\+\_\+add.

\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(const Evas\+\_\+\+Object $\ast$o, Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option $\ast$opt, int property, va\+\_\+list args)}]{\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\textquotesingle{}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(\+Evas\+\_\+\+Object $\ast$o, Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option $\ast$opt, int property, va\+\_\+list args)}]{\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(\+Evas\+\_\+\+Object $\ast$o, Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option $\ast$opt, int property,...)}]{\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\textquotesingle{}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\textquotesingle{}d have to implement it and set it to be the \hyperlink{struct__Evas__Object__Box__Api_ad50dd1dbc79e084c90736bb988e7f370}{\+\_\+\+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(const Evas\+\_\+\+Object $\ast$o, Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Option $\ast$opt, int property,...)}]{\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\textquotesingle{}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\textquotesingle{}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\textquotesingle{}d have to implement it and get it to be the \hyperlink{struct__Evas__Object__Box__Api_a8806f7152a812017034d4bf0a444963b}{\+\_\+\+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(const Evas\+\_\+\+Object $\ast$o)}]{\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\textquotesingle{}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\textquotesingle{}s up to the user to destroy it when it no longer needs it. It\textquotesingle{}s possible to remove objects from the box when walking this list, but these removals won\textquotesingle{}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.

