\hypertarget{structefl_1_1gfx_1_1stack}{}\section{efl\+:\+:gfx\+:\+:stack Struct Reference}
\label{structefl_1_1gfx_1_1stack}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}


Class stack.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structefl_1_1gfx_1_1stack_ad0e1d3dfba813b4f92e42a8977cd495d}{stack} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo)
\begin{DoxyCompactList}\small\item\em Eo Constructor. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1gfx_1_1stack_a3dbf995d739a7da81ef76bdea2794c90}{stack} (std\+::nullptr\+\_\+t)
\begin{DoxyCompactList}\small\item\em nullptr\+\_\+t Constructor. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1gfx_1_1stack_aa0f6c50fff4fc873330852ab2161a430}{}\hyperlink{structefl_1_1gfx_1_1stack_aa0f6c50fff4fc873330852ab2161a430}{stack} (\hyperlink{structefl_1_1gfx_1_1stack}{stack} const \&other)\label{structefl_1_1gfx_1_1stack_aa0f6c50fff4fc873330852ab2161a430}

\begin{DoxyCompactList}\small\item\em Copy Constructor. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1gfx_1_1stack_ae5deaef73e54d5c2a09f0ce1751565a8}{stack\+\_\+below} (Efl\+\_\+\+Gfx\+\_\+\+Stack $\ast$below\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Stack {\ttfamily obj} immediately below {\ttfamily below}. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1gfx_1_1stack_a7577079553309cf4ade3d0e7d9e61b35}{raise} () const 
\begin{DoxyCompactList}\small\item\em Raise {\ttfamily obj} to the top of its layer. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1gfx_1_1stack_a1e3f3d566695febfdd5f507fe3ae0e05}{stack\+\_\+above} (Efl\+\_\+\+Gfx\+\_\+\+Stack $\ast$above\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Stack {\ttfamily obj} immediately above {\ttfamily above}. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1gfx_1_1stack_a45ae9ce9d40b00ee883567b077d02429}{lower} () const 
\begin{DoxyCompactList}\small\item\em Lower {\ttfamily obj} to the bottom of its layer. \end{DoxyCompactList}\item 
short \hyperlink{structefl_1_1gfx_1_1stack_a7a7813f0fd21e250860dc9702de73f3d}{layer\+\_\+get} () const 
\begin{DoxyCompactList}\small\item\em Retrieves the layer of its canvas that the given object is part of. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1gfx_1_1stack_aae7601a6e14390a406b793d2ac192eb2}{layer\+\_\+set} (short l\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Sets the layer of its canvas that the given object will be part of. \end{DoxyCompactList}\item 
Efl\+\_\+\+Gfx\+\_\+\+Stack $\ast$ \hyperlink{structefl_1_1gfx_1_1stack_a901767b7eded76a3c0f8820b4d28844e}{below\+\_\+get} () const 
\begin{DoxyCompactList}\small\item\em Get the Evas object stacked right below {\ttfamily obj}. \end{DoxyCompactList}\item 
Efl\+\_\+\+Gfx\+\_\+\+Stack $\ast$ \hyperlink{structefl_1_1gfx_1_1stack_a0e0d8f98cc069f49f5690d09f11395c7}{above\+\_\+get} () const 
\begin{DoxyCompactList}\small\item\em Get the Evas object stacked right above {\ttfamily obj}. \end{DoxyCompactList}\end{DoxyCompactItemize}
{\bf }\par
\begin{DoxyCompactItemize}
\item 
\hyperlink{structefl_1_1gfx_1_1stack_a41c018f438c98c746666eee6f749ae56}{stack} (\+::\hyperlink{structefl_1_1eo_1_1parent__type}{efl\+::eo\+::parent\+\_\+type} \+\_\+p)
\begin{DoxyCompactList}\small\item\em Constructs a new \hyperlink{structefl_1_1gfx_1_1stack}{efl\+::gfx\+::stack} object. \end{DoxyCompactList}\end{DoxyCompactItemize}

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structefl_1_1gfx_1_1stack_a0d6951b9b437df9015829f2b189fcfd4}{}static \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$ {\bfseries \+\_\+eo\+\_\+class} ()\label{structefl_1_1gfx_1_1stack_a0d6951b9b437df9015829f2b189fcfd4}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Class stack. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{structefl_1_1gfx_1_1stack_a41c018f438c98c746666eee6f749ae56}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!stack@{stack}}
\index{stack@{stack}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{stack}]{\setlength{\rightskip}{0pt plus 5cm}efl\+::gfx\+::stack\+::stack (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eo\+::parent\+\_\+type}}]{\+\_\+p}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}\label{structefl_1_1gfx_1_1stack_a41c018f438c98c746666eee6f749ae56}


Constructs a new \hyperlink{structefl_1_1gfx_1_1stack}{efl\+::gfx\+::stack} object. 

Constructs a new \hyperlink{structefl_1_1gfx_1_1stack}{efl\+::gfx\+::stack} object. If you want this object to be a child of another Eo object, use an efl\+::eo\+::parent expression, like the example.

Example\+: 
\begin{DoxyCode}
\hyperlink{structefl_1_1gfx_1_1stack}{efl::gfx::stack} my\_stack(\hyperlink{group__Efl__Cxx__API_ga9a67daec890c873d3df9cf33b2ddd187}{efl::eo::parent} = parent\_object);
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\hyperlink{structefl_1_1gfx_1_1stack_ad0e1d3dfba813b4f92e42a8977cd495d}{stack(\+Eo$\ast$ eo)} 
\end{DoxySeeAlso}
\hypertarget{structefl_1_1gfx_1_1stack_ad0e1d3dfba813b4f92e42a8977cd495d}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!stack@{stack}}
\index{stack@{stack}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{stack}]{\setlength{\rightskip}{0pt plus 5cm}efl\+::gfx\+::stack\+::stack (
\begin{DoxyParamCaption}
\item[{{\bf Eo} $\ast$}]{eo}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}\label{structefl_1_1gfx_1_1stack_ad0e1d3dfba813b4f92e42a8977cd495d}


Eo Constructor. 

Constructs the object from an Eo$\ast$ pointer stealing its ownership.


\begin{DoxyParams}{Parameters}
{\em eo} & The Eo object pointer. \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1gfx_1_1stack_a3dbf995d739a7da81ef76bdea2794c90}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!stack@{stack}}
\index{stack@{stack}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{stack}]{\setlength{\rightskip}{0pt plus 5cm}efl\+::gfx\+::stack\+::stack (
\begin{DoxyParamCaption}
\item[{std\+::nullptr\+\_\+t}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}\label{structefl_1_1gfx_1_1stack_a3dbf995d739a7da81ef76bdea2794c90}


nullptr\+\_\+t Constructor. 

Constructs an empty (null) object. 

\subsection{Member Function Documentation}
\hypertarget{structefl_1_1gfx_1_1stack_ae5deaef73e54d5c2a09f0ce1751565a8}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!stack\+\_\+below@{stack\+\_\+below}}
\index{stack\+\_\+below@{stack\+\_\+below}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{stack\+\_\+below}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::gfx\+::stack\+::stack\+\_\+below (
\begin{DoxyParamCaption}
\item[{Efl\+\_\+\+Gfx\+\_\+\+Stack $\ast$}]{below\+\_\+}
\end{DoxyParamCaption}
) const}\label{structefl_1_1gfx_1_1stack_ae5deaef73e54d5c2a09f0ce1751565a8}


Stack {\ttfamily obj} immediately below {\ttfamily below}. 

Objects, in a given canvas, are stacked in the order they get added to it. This means that, if they overlap, the highest ones will cover the lowest ones, in that order. This function is a way to change the stacking order for the objects.

This function is intended to be used with {\bfseries objects belonging to the same layer} in a given canvas, otherwise it will fail (and accomplish nothing).

If you have smart objects on your canvas and {\ttfamily obj} is a member of one of them, then {\ttfamily below} must also be a member of the same smart object.

Similarly, if {\ttfamily obj} is not a member of a smart object, {\ttfamily below} must not be either.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Font__Group_ga980ffcac11891e60249b0cd0f6fdada4}{evas\+\_\+object\+\_\+layer\+\_\+get()} 

\hyperlink{group__Evas__Font__Group_gac04277bfd84a7201ba329328a18e21fd}{evas\+\_\+object\+\_\+layer\+\_\+set()} 

\hyperlink{group__Evas__Font__Group_ga7992ced202dfd19c30e1f091d4d65962}{evas\+\_\+object\+\_\+stack\+\_\+below()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em below} & the object below which to stack \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1gfx_1_1stack_a7577079553309cf4ade3d0e7d9e61b35}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!raise@{raise}}
\index{raise@{raise}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{raise}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::gfx\+::stack\+::raise (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1gfx_1_1stack_a7577079553309cf4ade3d0e7d9e61b35}


Raise {\ttfamily obj} to the top of its layer. 

{\ttfamily obj} will, then, be the highest one in the layer it belongs to. Object on other layers won\textquotesingle{}t get touched.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Font__Group_ga27584456485bb95792568ddc2a40f55a}{evas\+\_\+object\+\_\+stack\+\_\+above()} 

\hyperlink{group__Evas__Font__Group_ga7992ced202dfd19c30e1f091d4d65962}{evas\+\_\+object\+\_\+stack\+\_\+below()} 

\hyperlink{group__Evas__Font__Group_gabb0d855ef59a0d3ce758942dd3cdbbcd}{evas\+\_\+object\+\_\+lower()} 
\end{DoxySeeAlso}
\hypertarget{structefl_1_1gfx_1_1stack_a1e3f3d566695febfdd5f507fe3ae0e05}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!stack\+\_\+above@{stack\+\_\+above}}
\index{stack\+\_\+above@{stack\+\_\+above}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{stack\+\_\+above}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::gfx\+::stack\+::stack\+\_\+above (
\begin{DoxyParamCaption}
\item[{Efl\+\_\+\+Gfx\+\_\+\+Stack $\ast$}]{above\+\_\+}
\end{DoxyParamCaption}
) const}\label{structefl_1_1gfx_1_1stack_a1e3f3d566695febfdd5f507fe3ae0e05}


Stack {\ttfamily obj} immediately above {\ttfamily above}. 

Objects, in a given canvas, are stacked in the order they get added to it. This means that, if they overlap, the highest ones will cover the lowest ones, in that order. This function is a way to change the stacking order for the objects.

This function is intended to be used with {\bfseries objects belonging to the same layer} in a given canvas, otherwise it will fail (and accomplish nothing).

If you have smart objects on your canvas and {\ttfamily obj} is a member of one of them, then {\ttfamily above} must also be a member of the same smart object.

Similarly, if {\ttfamily obj} is not a member of a smart object, {\ttfamily above} must not be either.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Font__Group_ga980ffcac11891e60249b0cd0f6fdada4}{evas\+\_\+object\+\_\+layer\+\_\+get()} 

\hyperlink{group__Evas__Font__Group_gac04277bfd84a7201ba329328a18e21fd}{evas\+\_\+object\+\_\+layer\+\_\+set()} 

\hyperlink{group__Evas__Font__Group_ga7992ced202dfd19c30e1f091d4d65962}{evas\+\_\+object\+\_\+stack\+\_\+below()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em above} & the object above which to stack \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1gfx_1_1stack_a45ae9ce9d40b00ee883567b077d02429}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!lower@{lower}}
\index{lower@{lower}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{lower}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::gfx\+::stack\+::lower (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1gfx_1_1stack_a45ae9ce9d40b00ee883567b077d02429}


Lower {\ttfamily obj} to the bottom of its layer. 

{\ttfamily obj} will, then, be the lowest one in the layer it belongs to. Objects on other layers won\textquotesingle{}t get touched.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Font__Group_ga27584456485bb95792568ddc2a40f55a}{evas\+\_\+object\+\_\+stack\+\_\+above()} 

\hyperlink{group__Evas__Font__Group_ga7992ced202dfd19c30e1f091d4d65962}{evas\+\_\+object\+\_\+stack\+\_\+below()} 

\hyperlink{group__Evas__Font__Group_gaca357b370a30d9b4bda0f22fba9b6c07}{evas\+\_\+object\+\_\+raise()} 
\end{DoxySeeAlso}
\hypertarget{structefl_1_1gfx_1_1stack_a7a7813f0fd21e250860dc9702de73f3d}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!layer\+\_\+get@{layer\+\_\+get}}
\index{layer\+\_\+get@{layer\+\_\+get}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{layer\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}short efl\+::gfx\+::stack\+::layer\+\_\+get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1gfx_1_1stack_a7a7813f0fd21e250860dc9702de73f3d}


Retrieves the layer of its canvas that the given object is part of. 

\begin{DoxyReturn}{Returns}
Number of its layer
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Font__Group_gac04277bfd84a7201ba329328a18e21fd}{evas\+\_\+object\+\_\+layer\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em l} & The number of the layer to place the object on. Must be between \hyperlink{Evas__Common_8h_a8817f2ac4e0058d43f9bfe1e563e551b}{E\+V\+A\+S\+\_\+\+L\+A\+Y\+E\+R\+\_\+\+M\+I\+N} and \hyperlink{Evas__Common_8h_a1456f5c97f03ebd786c49d4d1178e7a0}{E\+V\+A\+S\+\_\+\+L\+A\+Y\+E\+R\+\_\+\+M\+A\+X}. \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1gfx_1_1stack_aae7601a6e14390a406b793d2ac192eb2}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!layer\+\_\+set@{layer\+\_\+set}}
\index{layer\+\_\+set@{layer\+\_\+set}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{layer\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::gfx\+::stack\+::layer\+\_\+set (
\begin{DoxyParamCaption}
\item[{short}]{l\+\_\+}
\end{DoxyParamCaption}
) const}\label{structefl_1_1gfx_1_1stack_aae7601a6e14390a406b793d2ac192eb2}


Sets the layer of its canvas that the given object will be part of. 

If you don\textquotesingle{}t use this function, you\textquotesingle{}ll be dealing with an {\bfseries unique} layer of objects, the default one. Additional layers are handy when you don\textquotesingle{}t want a set of objects to interfere with another set with regard to {\bfseries stacking}. Two layers are completely disjoint in that matter.

This is a low-\/level function, which you\textquotesingle{}d be using when something should be always on top, for example.

\begin{DoxyWarning}{Warning}
Be careful, it doesn\textquotesingle{}t make sense to change the layer of smart objects\textquotesingle{} children. Smart objects have a layer of their own, which should contain all their children objects.
\end{DoxyWarning}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Font__Group_ga980ffcac11891e60249b0cd0f6fdada4}{evas\+\_\+object\+\_\+layer\+\_\+get()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em l} & The number of the layer to place the object on. Must be between \hyperlink{Evas__Common_8h_a8817f2ac4e0058d43f9bfe1e563e551b}{E\+V\+A\+S\+\_\+\+L\+A\+Y\+E\+R\+\_\+\+M\+I\+N} and \hyperlink{Evas__Common_8h_a1456f5c97f03ebd786c49d4d1178e7a0}{E\+V\+A\+S\+\_\+\+L\+A\+Y\+E\+R\+\_\+\+M\+A\+X}. \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1gfx_1_1stack_a901767b7eded76a3c0f8820b4d28844e}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!below\+\_\+get@{below\+\_\+get}}
\index{below\+\_\+get@{below\+\_\+get}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{below\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Efl\+\_\+\+Gfx\+\_\+\+Stack$\ast$ efl\+::gfx\+::stack\+::below\+\_\+get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1gfx_1_1stack_a901767b7eded76a3c0f8820b4d28844e}


Get the Evas object stacked right below {\ttfamily obj}. 

\begin{DoxyReturn}{Returns}
the \#\+Efl\+\_\+\+Gfx\+\_\+\+Stack directly below {\ttfamily obj}, if any, or {\ttfamily N\+U\+L\+L}, if none
\end{DoxyReturn}
This function will traverse layers in its search, if there are objects on layers below the one {\ttfamily obj} is placed at.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Font__Group_ga980ffcac11891e60249b0cd0f6fdada4}{evas\+\_\+object\+\_\+layer\+\_\+get()} 

\hyperlink{group__Evas__Font__Group_gac04277bfd84a7201ba329328a18e21fd}{evas\+\_\+object\+\_\+layer\+\_\+set()} 

\hyperlink{group__Evas__Font__Group_gab310745ce8838bd916626d17dd9396b8}{evas\+\_\+object\+\_\+below\+\_\+get()} 
\end{DoxySeeAlso}
\hypertarget{structefl_1_1gfx_1_1stack_a0e0d8f98cc069f49f5690d09f11395c7}{}\index{efl\+::gfx\+::stack@{efl\+::gfx\+::stack}!above\+\_\+get@{above\+\_\+get}}
\index{above\+\_\+get@{above\+\_\+get}!efl\+::gfx\+::stack@{efl\+::gfx\+::stack}}
\subsubsection[{above\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Efl\+\_\+\+Gfx\+\_\+\+Stack$\ast$ efl\+::gfx\+::stack\+::above\+\_\+get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1gfx_1_1stack_a0e0d8f98cc069f49f5690d09f11395c7}


Get the Evas object stacked right above {\ttfamily obj}. 

\begin{DoxyReturn}{Returns}
the \#\+Efl\+\_\+\+Gfx\+\_\+\+Stack directly above {\ttfamily obj}, if any, or {\ttfamily N\+U\+L\+L}, if none
\end{DoxyReturn}
This function will traverse layers in its search, if there are objects on layers above the one {\ttfamily obj} is placed at.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Font__Group_ga980ffcac11891e60249b0cd0f6fdada4}{evas\+\_\+object\+\_\+layer\+\_\+get()} 

\hyperlink{group__Evas__Font__Group_gac04277bfd84a7201ba329328a18e21fd}{evas\+\_\+object\+\_\+layer\+\_\+set()} 

\hyperlink{group__Evas__Font__Group_gab310745ce8838bd916626d17dd9396b8}{evas\+\_\+object\+\_\+below\+\_\+get()} 
\end{DoxySeeAlso}
