\hypertarget{group__Edje__Perspective}{}\doxysection{Edje Perspective}
\label{group__Edje__Perspective}\index{Edje Perspective@{Edje Perspective}}


Functions that deal with 3D projection of an 2D object.  


\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$ \mbox{\hyperlink{group__Edje__Perspective_ga4ce415ab5a9f53ba55d921ab5c48a2f4}{edje\+\_\+perspective\+\_\+new}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e)
\begin{DoxyCompactList}\small\item\em Creates a new perspective in the given canvas. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Edje__Perspective_ga51e6fa1a3a019919834770e78a39865d}{edje\+\_\+perspective\+\_\+free}} (\mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$ps)
\begin{DoxyCompactList}\small\item\em Deletes the given perspective object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Edje__Perspective_gaeee5dfe8b3f428583e4f8a846f0b0d15}{edje\+\_\+perspective\+\_\+set}} (\mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$ps, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} px, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} py, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} z0, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} foc)
\begin{DoxyCompactList}\small\item\em Sets up the transform for this perspective object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Edje__Perspective_ga9e560272fb6b954a9e99eaad72a6755f}{edje\+\_\+perspective\+\_\+global\+\_\+set}} (\mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$ps, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} global)
\begin{DoxyCompactList}\small\item\em Makes this perspective object be global for its canvas. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Edje__Perspective_ga3dd9d197daf58ae5d4e4d37b2a05f6ee}{edje\+\_\+perspective\+\_\+global\+\_\+get}} (const \mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$ps)
\begin{DoxyCompactList}\small\item\em Gets whether the given perspective object is global or not. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$ \mbox{\hyperlink{group__Edje__Perspective_ga12deee9aee68c698cbefa3581ccb268c}{edje\+\_\+evas\+\_\+global\+\_\+perspective\+\_\+get}} (const \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e)
\begin{DoxyCompactList}\small\item\em Gets the global perspective object set for this canvas. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Edje__Perspective_ga0087812fb067751f8b3ce1581575cafc}{edje\+\_\+object\+\_\+perspective\+\_\+set}} (\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$obj, \mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$ps)
\begin{DoxyCompactList}\small\item\em Sets the given perspective object on this Edje object. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$ \mbox{\hyperlink{group__Edje__Perspective_ga310d0affc6b83a76729b2356f8b4c40a}{edje\+\_\+object\+\_\+perspective\+\_\+get}} (const \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Gets the current perspective used on this Edje object. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Functions that deal with 3D projection of an 2D object. 



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Edje__Perspective_ga4ce415ab5a9f53ba55d921ab5c48a2f4}\label{group__Edje__Perspective_ga4ce415ab5a9f53ba55d921ab5c48a2f4}} 
\index{Edje Perspective@{Edje Perspective}!edje\_perspective\_new@{edje\_perspective\_new}}
\index{edje\_perspective\_new@{edje\_perspective\_new}!Edje Perspective@{Edje Perspective}}
\doxysubsubsection{\texorpdfstring{edje\_perspective\_new()}{edje\_perspective\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}}$\ast$ edje\+\_\+perspective\+\_\+new (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e }\end{DoxyParamCaption})}



Creates a new perspective in the given canvas. 


\begin{DoxyParams}{Parameters}
{\em e} & The given canvas (Evas). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An \mbox{\hyperlink{group__Edje__Perspective}{Edje Perspective}} object for this canvas, or {\ttfamily NULL} on errors.
\end{DoxyReturn}
This function creates a perspective object that can be set on an Edje object, or globally to all Edje objects on this canvas.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__Perspective_gaeee5dfe8b3f428583e4f8a846f0b0d15}{edje\+\_\+perspective\+\_\+set()}} 

\mbox{\hyperlink{group__Edje__Perspective_ga51e6fa1a3a019919834770e78a39865d}{edje\+\_\+perspective\+\_\+free()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{edje-perspective_8c-example}{edje-\/perspective.\+c}}.\end{Desc}


References EVAS\+\_\+\+CALLBACK\+\_\+\+DEL, evas\+\_\+object\+\_\+data\+\_\+set(), evas\+\_\+object\+\_\+event\+\_\+callback\+\_\+add(), evas\+\_\+object\+\_\+rectangle\+\_\+add(), and evas\+\_\+output\+\_\+viewport\+\_\+get().

\mbox{\Hypertarget{group__Edje__Perspective_ga51e6fa1a3a019919834770e78a39865d}\label{group__Edje__Perspective_ga51e6fa1a3a019919834770e78a39865d}} 
\index{Edje Perspective@{Edje Perspective}!edje\_perspective\_free@{edje\_perspective\_free}}
\index{edje\_perspective\_free@{edje\_perspective\_free}!Edje Perspective@{Edje Perspective}}
\doxysubsubsection{\texorpdfstring{edje\_perspective\_free()}{edje\_perspective\_free()}}
{\footnotesize\ttfamily void edje\+\_\+perspective\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$}]{ps }\end{DoxyParamCaption})}



Deletes the given perspective object. 


\begin{DoxyParams}{Parameters}
{\em ps} & A valid perspective object, or {\ttfamily NULL}.\\
\hline
\end{DoxyParams}
This function will delete the perspective object. If the perspective effect was being applied to any Edje object or part, this effect won\textquotesingle{}t be applied anymore.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__Perspective_ga4ce415ab5a9f53ba55d921ab5c48a2f4}{edje\+\_\+perspective\+\_\+new()}} 
\end{DoxySeeAlso}


References evas\+\_\+object\+\_\+del().

\mbox{\Hypertarget{group__Edje__Perspective_gaeee5dfe8b3f428583e4f8a846f0b0d15}\label{group__Edje__Perspective_gaeee5dfe8b3f428583e4f8a846f0b0d15}} 
\index{Edje Perspective@{Edje Perspective}!edje\_perspective\_set@{edje\_perspective\_set}}
\index{edje\_perspective\_set@{edje\_perspective\_set}!Edje Perspective@{Edje Perspective}}
\doxysubsubsection{\texorpdfstring{edje\_perspective\_set()}{edje\_perspective\_set()}}
{\footnotesize\ttfamily void edje\+\_\+perspective\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$}]{ps,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{px,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{py,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{z0,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{foc }\end{DoxyParamCaption})}



Sets up the transform for this perspective object. 

This sets the parameters of the perspective transformation. X, Y and Z values are used. The px and py points specify the \char`\"{}infinite distance\char`\"{} point in the 3D conversion (where all lines converge to like when artists draw 3D by hand). The {\ttfamily z0} value specifies the z value at which there is a 1\+:1 mapping between spatial coordinates and screen coordinates. Any points on this z value will not have their X and Y values modified in the transform. Those further away (Z value higher) will shrink into the distance, and those less than this value will expand and become bigger. The {\ttfamily foc} value determines the \char`\"{}focal length\char`\"{} of the camera. This is in reality the distance between the camera lens plane itself (at or closer than this rendering results are undefined) and the \char`\"{}z0\char`\"{} z value. This allows for some \char`\"{}depth\char`\"{} control and {\ttfamily foc} must be greater than 0.


\begin{DoxyParams}{Parameters}
{\em ps} & The perspective object \\
\hline
{\em px} & The perspective distance X coordinate \\
\hline
{\em py} & The perspective distance Y coordinate \\
\hline
{\em z0} & The \char`\"{}0\char`\"{} z plane value \\
\hline
{\em foc} & The focal distance \\
\hline
\end{DoxyParams}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{edje-perspective_8c-example}{edje-\/perspective.\+c}}.\end{Desc}


References EINA\+\_\+\+INLIST\+\_\+\+FOREACH, EINA\+\_\+\+LIST\+\_\+\+FOREACH, and EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Edje__Perspective_ga9e560272fb6b954a9e99eaad72a6755f}\label{group__Edje__Perspective_ga9e560272fb6b954a9e99eaad72a6755f}} 
\index{Edje Perspective@{Edje Perspective}!edje\_perspective\_global\_set@{edje\_perspective\_global\_set}}
\index{edje\_perspective\_global\_set@{edje\_perspective\_global\_set}!Edje Perspective@{Edje Perspective}}
\doxysubsubsection{\texorpdfstring{edje\_perspective\_global\_set()}{edje\_perspective\_global\_set()}}
{\footnotesize\ttfamily void edje\+\_\+perspective\+\_\+global\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$}]{ps,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{global }\end{DoxyParamCaption})}



Makes this perspective object be global for its canvas. 


\begin{DoxyParams}{Parameters}
{\em ps} & The given perspective object \\
\hline
{\em global} & {\ttfamily EINA\+\_\+\+TRUE} if the perspective should be global, {\ttfamily EINA\+\_\+\+FALSE} otherwise.\\
\hline
\end{DoxyParams}
The canvas which this perspective object is being set as global is the one given as argument upon the object creation (the {\ttfamily evas} parameter on the function {\ttfamily edje\+\_\+perspective\+\_\+new(evas)} ).

There can be only one global perspective object set per canvas, and if a perspective object is set to global when there was already another global perspective set, the old one will be set as non-\/global.

A global perspective just affects a part if its Edje object doesn\textquotesingle{}t have a perspective object set to it, and if the part doesn\textquotesingle{}t point to another part to be used as perspective.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__Perspective_ga0087812fb067751f8b3ce1581575cafc}{edje\+\_\+object\+\_\+perspective\+\_\+set()}} 

\mbox{\hyperlink{group__Edje__Perspective_ga3dd9d197daf58ae5d4e4d37b2a05f6ee}{edje\+\_\+perspective\+\_\+global\+\_\+get()}} 

\mbox{\hyperlink{group__Edje__Perspective_ga4ce415ab5a9f53ba55d921ab5c48a2f4}{edje\+\_\+perspective\+\_\+new()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{edje-perspective_8c-example}{edje-\/perspective.\+c}}.\end{Desc}


References EINA\+\_\+\+INLIST\+\_\+\+FOREACH, EINA\+\_\+\+TRUE, evas\+\_\+object\+\_\+evas\+\_\+get(), evas\+\_\+object\+\_\+name\+\_\+find(), and evas\+\_\+object\+\_\+name\+\_\+set().

\mbox{\Hypertarget{group__Edje__Perspective_ga3dd9d197daf58ae5d4e4d37b2a05f6ee}\label{group__Edje__Perspective_ga3dd9d197daf58ae5d4e4d37b2a05f6ee}} 
\index{Edje Perspective@{Edje Perspective}!edje\_perspective\_global\_get@{edje\_perspective\_global\_get}}
\index{edje\_perspective\_global\_get@{edje\_perspective\_global\_get}!Edje Perspective@{Edje Perspective}}
\doxysubsubsection{\texorpdfstring{edje\_perspective\_global\_get()}{edje\_perspective\_global\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} edje\+\_\+perspective\+\_\+global\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$}]{ps }\end{DoxyParamCaption})}



Gets whether the given perspective object is global or not. 


\begin{DoxyParams}{Parameters}
{\em ps} & The given perspective object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} if this perspective object is global, {\ttfamily EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__Perspective_ga9e560272fb6b954a9e99eaad72a6755f}{edje\+\_\+perspective\+\_\+global\+\_\+set()}} 
\end{DoxySeeAlso}


References EINA\+\_\+\+FALSE.

\mbox{\Hypertarget{group__Edje__Perspective_ga12deee9aee68c698cbefa3581ccb268c}\label{group__Edje__Perspective_ga12deee9aee68c698cbefa3581ccb268c}} 
\index{Edje Perspective@{Edje Perspective}!edje\_evas\_global\_perspective\_get@{edje\_evas\_global\_perspective\_get}}
\index{edje\_evas\_global\_perspective\_get@{edje\_evas\_global\_perspective\_get}!Edje Perspective@{Edje Perspective}}
\doxysubsubsection{\texorpdfstring{edje\_evas\_global\_perspective\_get()}{edje\_evas\_global\_perspective\_get()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}}$\ast$ edje\+\_\+evas\+\_\+global\+\_\+perspective\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e }\end{DoxyParamCaption})}



Gets the global perspective object set for this canvas. 


\begin{DoxyParams}{Parameters}
{\em e} & The given canvas (Evas). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The perspective object set as global for this canvas. Or {\ttfamily NULL} if there is no global perspective set and on errors.
\end{DoxyReturn}
This function will return the perspective object that was set as global with \mbox{\hyperlink{group__Edje__Perspective_ga9e560272fb6b954a9e99eaad72a6755f}{edje\+\_\+perspective\+\_\+global\+\_\+set()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__Perspective_ga9e560272fb6b954a9e99eaad72a6755f}{edje\+\_\+perspective\+\_\+global\+\_\+set()}} 

\mbox{\hyperlink{group__Edje__Perspective_ga3dd9d197daf58ae5d4e4d37b2a05f6ee}{edje\+\_\+perspective\+\_\+global\+\_\+get()}} 
\end{DoxySeeAlso}


References evas\+\_\+object\+\_\+data\+\_\+get(), and evas\+\_\+object\+\_\+name\+\_\+find().

\mbox{\Hypertarget{group__Edje__Perspective_ga0087812fb067751f8b3ce1581575cafc}\label{group__Edje__Perspective_ga0087812fb067751f8b3ce1581575cafc}} 
\index{Edje Perspective@{Edje Perspective}!edje\_object\_perspective\_set@{edje\_object\_perspective\_set}}
\index{edje\_object\_perspective\_set@{edje\_object\_perspective\_set}!Edje Perspective@{Edje Perspective}}
\doxysubsubsection{\texorpdfstring{edje\_object\_perspective\_set()}{edje\_object\_perspective\_set()}}
{\footnotesize\ttfamily void edje\+\_\+object\+\_\+perspective\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{obj,  }\item[{\mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}} $\ast$}]{ps }\end{DoxyParamCaption})}



Sets the given perspective object on this Edje object. 

Make the given perspective object be the default perspective for this Edje object.

There can be only one perspective object per Edje object, and if a previous one was set, it will be removed and the new perspective object will be used.

An Edje perspective will only affect a part if it doesn\textquotesingle{}t point to another part to be used as perspective.

edje\+\_\+object\+\_\+perspective\+\_\+new() See also \mbox{\hyperlink{group__Edje__Perspective_ga310d0affc6b83a76729b2356f8b4c40a}{edje\+\_\+object\+\_\+perspective\+\_\+get()}} \mbox{\hyperlink{group__Edje__Perspective_gaeee5dfe8b3f428583e4f8a846f0b0d15}{edje\+\_\+perspective\+\_\+set()}}


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\mbox{\texttt{ in}}  & {\em ps} & The perspective object that will be used. \\
\hline
\end{DoxyParams}


References eina\+\_\+list\+\_\+append(), eina\+\_\+list\+\_\+remove(), and EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Edje__Perspective_ga310d0affc6b83a76729b2356f8b4c40a}\label{group__Edje__Perspective_ga310d0affc6b83a76729b2356f8b4c40a}} 
\index{Edje Perspective@{Edje Perspective}!edje\_object\_perspective\_get@{edje\_object\_perspective\_get}}
\index{edje\_object\_perspective\_get@{edje\_object\_perspective\_get}!Edje Perspective@{Edje Perspective}}
\doxysubsubsection{\texorpdfstring{edje\_object\_perspective\_get()}{edje\_object\_perspective\_get()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group__Edje_gaa34f2bebed885cea3d891858ad7c2e2b}{Edje\+\_\+\+Perspective}}$\ast$ edje\+\_\+object\+\_\+perspective\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{obj }\end{DoxyParamCaption})}



Gets the current perspective used on this Edje object. 

See also \mbox{\hyperlink{group__Edje__Perspective_ga0087812fb067751f8b3ce1581575cafc}{edje\+\_\+object\+\_\+perspective\+\_\+set()}}


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The perspective object that will be used. 
\end{DoxyReturn}
