\hypertarget{group__Ecore__X__Window__Geometry__Group}{\section{X Window Geometry Functions}
\label{group__Ecore__X__Window__Geometry__Group}\index{X Window Geometry Functions@{X Window Geometry Functions}}
}


Functions that change or retrieve the geometry of X windows.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{group__Ecore__X__Window__Geometry__Group_gaeb6cc0e5c7a6a55ca0de58df5ba9f31d}{ecore\+\_\+x\+\_\+window\+\_\+move} (Ecore\+\_\+\+X\+\_\+\+Window win, int x, int y)
\begin{DoxyCompactList}\small\item\em Moves a window to the position {\ttfamily x}, {\ttfamily y}. \end{DoxyCompactList}\item 
void \hyperlink{group__Ecore__X__Window__Geometry__Group_ga50e187f710810ef22a8069cd5a6978e2}{ecore\+\_\+x\+\_\+window\+\_\+resize} (Ecore\+\_\+\+X\+\_\+\+Window win, int w, int h)
\begin{DoxyCompactList}\small\item\em Resizes a window. \end{DoxyCompactList}\item 
void \hyperlink{group__Ecore__X__Window__Geometry__Group_gaf00eb1d98c5c3b6e3a1cfea702cf2070}{ecore\+\_\+x\+\_\+window\+\_\+move\+\_\+resize} (Ecore\+\_\+\+X\+\_\+\+Window win, int x, int y, int w, int h)
\begin{DoxyCompactList}\small\item\em Moves and resizes a window. \end{DoxyCompactList}\item 
int \hyperlink{group__Ecore__X__Window__Geometry__Group_ga909c073041ef06e89ab14b18859aa689}{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+get} (Ecore\+\_\+\+X\+\_\+\+Window win)
\begin{DoxyCompactList}\small\item\em Retrieves the width of the border of the given window. \end{DoxyCompactList}\item 
void \hyperlink{group__Ecore__X__Window__Geometry__Group_gad775f2c707627fe5eb08a7ccce7469ab}{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+set} (Ecore\+\_\+\+X\+\_\+\+Window win, int border\+\_\+width)
\begin{DoxyCompactList}\small\item\em Sets the width of the border of the given window. \end{DoxyCompactList}\item 
void \hyperlink{group__Ecore__X__Window__Geometry__Group_ga1ea3b25507c35ff6968a4b7da726d8a3}{ecore\+\_\+x\+\_\+window\+\_\+size\+\_\+get} (Ecore\+\_\+\+X\+\_\+\+Window win, int $\ast$width, int $\ast$height)
\begin{DoxyCompactList}\small\item\em Retrieves the size of the given window. \end{DoxyCompactList}\item 
Ecore\+\_\+\+X\+\_\+\+Window \hyperlink{group__Ecore__X__Window__Geometry__Group_ga5feeb0c273211344c07038189cb8a9dd}{ecore\+\_\+x\+\_\+window\+\_\+root\+\_\+get} (Ecore\+\_\+\+X\+\_\+\+Window win)
\begin{DoxyCompactList}\small\item\em Retrieves the root window a given window is on. \end{DoxyCompactList}\item 
void \hyperlink{group__Ecore__X__Window__Geometry__Group_gab48c6fb6d76527e8ca08bdb6293aff54}{ecore\+\_\+x\+\_\+window\+\_\+geometry\+\_\+get} (Ecore\+\_\+\+X\+\_\+\+Window win, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h)
\begin{DoxyCompactList}\small\item\em Retrieves the geometry of the given window. \end{DoxyCompactList}\item 
Ecore\+\_\+\+X\+\_\+\+Window \hyperlink{group__Ecore__X__Window__Geometry__Group_ga35aa22e36b93babff18e67e7b3cc7ce4}{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+get} (int x, int y)
\begin{DoxyCompactList}\small\item\em Retrieves the top, visible window at the given location. \end{DoxyCompactList}\item 
Ecore\+\_\+\+X\+\_\+\+Window \hyperlink{group__Ecore__X__Window__Geometry__Group_ga10b16c0f8dc9f77131257026d43ae144}{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get} (int x, int y, Ecore\+\_\+\+X\+\_\+\+Window $\ast$skip, int skip\+\_\+num)
\begin{DoxyCompactList}\small\item\em Retrieves the top, visible window at the given location, but skips the windows in the list. \end{DoxyCompactList}\item 
Ecore\+\_\+\+X\+\_\+\+Window \hyperlink{group__Ecore__X__Window__Geometry__Group_ga29aca2124d79f1633c3488416344c842}{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get} (Ecore\+\_\+\+X\+\_\+\+Window base, int x, int y, Ecore\+\_\+\+X\+\_\+\+Window $\ast$skip, int skip\+\_\+num)
\begin{DoxyCompactList}\small\item\em Retrieves the top, visible window at the given location, but skips the windows in the list. \end{DoxyCompactList}\item 
Ecore\+\_\+\+X\+\_\+\+Window \hyperlink{group__Ecore__X__Window__Geometry__Group_ga613b7cbe8ed511346e42fc7e9978ba4d}{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+parent\+\_\+get} (Ecore\+\_\+\+X\+\_\+\+Window root, Ecore\+\_\+\+X\+\_\+\+Window win)
\begin{DoxyCompactList}\small\item\em Retrieves the parent window a given window has. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__X__Window__Geometry__Group_ga5093ea1ca8a956d85fbeb1a0431a5e71}{void \hyperlink{group__Ecore__X__Window__Geometry__Group_ga5093ea1ca8a956d85fbeb1a0431a5e71}{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+flush} (void)}\label{group__Ecore__X__Window__Geometry__Group_ga5093ea1ca8a956d85fbeb1a0431a5e71}

\begin{DoxyCompactList}\small\item\em Flushes the window shadow tree so nothing is stored. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions that change or retrieve the geometry of X windows. 



\subsection{Function Documentation}
\hypertarget{group__Ecore__X__Window__Geometry__Group_gaeb6cc0e5c7a6a55ca0de58df5ba9f31d}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+move@{ecore\+\_\+x\+\_\+window\+\_\+move}}
\index{ecore\+\_\+x\+\_\+window\+\_\+move@{ecore\+\_\+x\+\_\+window\+\_\+move}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+move}]{\setlength{\rightskip}{0pt plus 5cm}void ecore\+\_\+x\+\_\+window\+\_\+move (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{win, }
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_gaeb6cc0e5c7a6a55ca0de58df5ba9f31d}


Moves a window to the position {\ttfamily x}, {\ttfamily y}. 

The position is relative to the upper left hand corner of the parent window.


\begin{DoxyParams}{Parameters}
{\em win} & The window to move. \\
\hline
{\em x} & X position. \\
\hline
{\em y} & Y position. \\
\hline
\end{DoxyParams}


References ecore\+\_\+x\+\_\+sync().

\hypertarget{group__Ecore__X__Window__Geometry__Group_ga50e187f710810ef22a8069cd5a6978e2}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+resize@{ecore\+\_\+x\+\_\+window\+\_\+resize}}
\index{ecore\+\_\+x\+\_\+window\+\_\+resize@{ecore\+\_\+x\+\_\+window\+\_\+resize}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+resize}]{\setlength{\rightskip}{0pt plus 5cm}void ecore\+\_\+x\+\_\+window\+\_\+resize (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{win, }
\item[{int}]{w, }
\item[{int}]{h}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_ga50e187f710810ef22a8069cd5a6978e2}


Resizes a window. 


\begin{DoxyParams}{Parameters}
{\em win} & The window to resize. \\
\hline
{\em w} & New width of the window. \\
\hline
{\em h} & New height of the window. \\
\hline
\end{DoxyParams}


References ecore\+\_\+x\+\_\+sync().

\hypertarget{group__Ecore__X__Window__Geometry__Group_gaf00eb1d98c5c3b6e3a1cfea702cf2070}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+move\+\_\+resize@{ecore\+\_\+x\+\_\+window\+\_\+move\+\_\+resize}}
\index{ecore\+\_\+x\+\_\+window\+\_\+move\+\_\+resize@{ecore\+\_\+x\+\_\+window\+\_\+move\+\_\+resize}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+move\+\_\+resize}]{\setlength{\rightskip}{0pt plus 5cm}void ecore\+\_\+x\+\_\+window\+\_\+move\+\_\+resize (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{win, }
\item[{int}]{x, }
\item[{int}]{y, }
\item[{int}]{w, }
\item[{int}]{h}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_gaf00eb1d98c5c3b6e3a1cfea702cf2070}


Moves and resizes a window. 


\begin{DoxyParams}{Parameters}
{\em win} & The window to move and resize. \\
\hline
{\em x} & New X position of the window. \\
\hline
{\em y} & New Y position of the window. \\
\hline
{\em w} & New width of the window. \\
\hline
{\em h} & New height of the window. \\
\hline
\end{DoxyParams}


References ecore\+\_\+x\+\_\+sync().

\hypertarget{group__Ecore__X__Window__Geometry__Group_ga909c073041ef06e89ab14b18859aa689}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+get}}
\index{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+get}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}int ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+get (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{win}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_ga909c073041ef06e89ab14b18859aa689}


Retrieves the width of the border of the given window. 


\begin{DoxyParams}{Parameters}
{\em win} & The given window. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Width of the border of {\ttfamily win}. 
\end{DoxyReturn}


References ecore\+\_\+x\+\_\+drawable\+\_\+border\+\_\+width\+\_\+get(), and ecore\+\_\+x\+\_\+sync().

\hypertarget{group__Ecore__X__Window__Geometry__Group_gad775f2c707627fe5eb08a7ccce7469ab}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+set@{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+set}}
\index{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+set@{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+set}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void ecore\+\_\+x\+\_\+window\+\_\+border\+\_\+width\+\_\+set (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{win, }
\item[{int}]{width}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_gad775f2c707627fe5eb08a7ccce7469ab}


Sets the width of the border of the given window. 


\begin{DoxyParams}{Parameters}
{\em win} & The given window. \\
\hline
{\em width} & The new border width. \\
\hline
\end{DoxyParams}


References ecore\+\_\+x\+\_\+sync().

\hypertarget{group__Ecore__X__Window__Geometry__Group_ga1ea3b25507c35ff6968a4b7da726d8a3}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+size\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+size\+\_\+get}}
\index{ecore\+\_\+x\+\_\+window\+\_\+size\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+size\+\_\+get}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+size\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void ecore\+\_\+x\+\_\+window\+\_\+size\+\_\+get (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{win, }
\item[{int $\ast$}]{w, }
\item[{int $\ast$}]{h}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_ga1ea3b25507c35ff6968a4b7da726d8a3}


Retrieves the size of the given window. 


\begin{DoxyParams}{Parameters}
{\em win} & The given window. \\
\hline
{\em w} & Pointer to an integer into which the width is to be stored. \\
\hline
{\em h} & Pointer to an integer into which the height is to be stored. \\
\hline
\end{DoxyParams}


References ecore\+\_\+x\+\_\+drawable\+\_\+geometry\+\_\+get(), and ecore\+\_\+x\+\_\+sync().

\hypertarget{group__Ecore__X__Window__Geometry__Group_ga5feeb0c273211344c07038189cb8a9dd}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+root\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+root\+\_\+get}}
\index{ecore\+\_\+x\+\_\+window\+\_\+root\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+root\+\_\+get}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+root\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Ecore\+\_\+\+X\+\_\+\+Window ecore\+\_\+x\+\_\+window\+\_\+root\+\_\+get (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{win}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_ga5feeb0c273211344c07038189cb8a9dd}


Retrieves the root window a given window is on. 


\begin{DoxyParams}{Parameters}
{\em win} & The window to get the root window of \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The root window of {\ttfamily win} 
\end{DoxyReturn}
\hypertarget{group__Ecore__X__Window__Geometry__Group_gab48c6fb6d76527e8ca08bdb6293aff54}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+geometry\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+geometry\+\_\+get}}
\index{ecore\+\_\+x\+\_\+window\+\_\+geometry\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+geometry\+\_\+get}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+geometry\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void ecore\+\_\+x\+\_\+window\+\_\+geometry\+\_\+get (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{win, }
\item[{int $\ast$}]{x, }
\item[{int $\ast$}]{y, }
\item[{int $\ast$}]{w, }
\item[{int $\ast$}]{h}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_gab48c6fb6d76527e8ca08bdb6293aff54}


Retrieves the geometry of the given window. 

Note that the x \& y coordingates are relative to your parent. In particular for reparenting window managers -\/ relative to you window border. If you want screen coordinates either walk the window tree to the root, else for ecore\+\_\+evas applications see \hyperlink{group__Ecore__Evas__Group_ga931aadf4603731e73e8a84e4b14f1493}{ecore\+\_\+evas\+\_\+geometry\+\_\+get()}. Elementary applications can use elm\+\_\+win\+\_\+screen\+\_\+position\+\_\+get().


\begin{DoxyParams}{Parameters}
{\em win} & The given window. \\
\hline
{\em x} & Pointer to an integer in which the X position is to be stored. \\
\hline
{\em y} & Pointer to an integer in which the Y position is to be stored. \\
\hline
{\em w} & Pointer to an integer in which the width is to be stored. \\
\hline
{\em h} & Pointer to an integer in which the height is to be stored.\\
\hline
\end{DoxyParams}
Note that the x \& y coordinates are relative to your parent. In particular for reparenting window managers -\/ relative to you window border. If you want screen coordinates either walk the window tree to the root, else for ecore\+\_\+evas applications see \hyperlink{group__Ecore__Evas__Group_ga931aadf4603731e73e8a84e4b14f1493}{ecore\+\_\+evas\+\_\+geometry\+\_\+get()}. Elementary applications can use elm\+\_\+win\+\_\+screen\+\_\+position\+\_\+get().


\begin{DoxyParams}{Parameters}
{\em win} & The given window. \\
\hline
{\em x} & Pointer to an integer in which the X position is to be stored. \\
\hline
{\em y} & Pointer to an integer in which the Y position is to be stored. \\
\hline
{\em w} & Pointer to an integer in which the width is to be stored. \\
\hline
{\em h} & Pointer to an integer in which the height is to be stored. \\
\hline
\end{DoxyParams}


References ecore\+\_\+x\+\_\+drawable\+\_\+geometry\+\_\+get(), and ecore\+\_\+x\+\_\+sync().

\hypertarget{group__Ecore__X__Window__Geometry__Group_ga35aa22e36b93babff18e67e7b3cc7ce4}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+get}}
\index{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+get}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Ecore\+\_\+\+X\+\_\+\+Window ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+get (
\begin{DoxyParamCaption}
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_ga35aa22e36b93babff18e67e7b3cc7ce4}


Retrieves the top, visible window at the given location. 


\begin{DoxyParams}{Parameters}
{\em x} & The given X position. \\
\hline
{\em y} & The given Y position. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The window at that position. 
\end{DoxyReturn}
\hypertarget{group__Ecore__X__Window__Geometry__Group_ga10b16c0f8dc9f77131257026d43ae144}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get}}
\index{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Ecore\+\_\+\+X\+\_\+\+Window ecore\+\_\+x\+\_\+window\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get (
\begin{DoxyParamCaption}
\item[{int}]{x, }
\item[{int}]{y, }
\item[{Ecore\+\_\+\+X\+\_\+\+Window $\ast$}]{skip, }
\item[{int}]{skip\+\_\+num}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_ga10b16c0f8dc9f77131257026d43ae144}


Retrieves the top, visible window at the given location, but skips the windows in the list. 


\begin{DoxyParams}{Parameters}
{\em x} & The given X position. \\
\hline
{\em y} & The given Y position. \\
\hline
{\em skip} & The list of windows to be skipped. \\
\hline
{\em skip\+\_\+num} & The number of windows to be skipped. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The window at that position. 
\end{DoxyReturn}
\hypertarget{group__Ecore__X__Window__Geometry__Group_ga29aca2124d79f1633c3488416344c842}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get}}
\index{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Ecore\+\_\+\+X\+\_\+\+Window ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{base, }
\item[{int}]{x, }
\item[{int}]{y, }
\item[{Ecore\+\_\+\+X\+\_\+\+Window $\ast$}]{skip, }
\item[{int}]{skip\+\_\+num}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_ga29aca2124d79f1633c3488416344c842}


Retrieves the top, visible window at the given location, but skips the windows in the list. 

This uses a shadow tree built from the window tree that is only updated the first time \hyperlink{group__Ecore__X__Window__Geometry__Group_ga29aca2124d79f1633c3488416344c842}{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get()} is called, or the next time it is called after a \hyperlink{group__Ecore__X__Window__Geometry__Group_ga5093ea1ca8a956d85fbeb1a0431a5e71}{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+flush()} 
\begin{DoxyParams}{Parameters}
{\em base} & The base window to start searching from (normally root). \\
\hline
{\em x} & The given X position. \\
\hline
{\em y} & The given Y position. \\
\hline
{\em skip} & The list of windows to be skipped. \\
\hline
{\em skip\+\_\+num} & The number of windows to be skipped. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The window at the desired position.
\end{DoxyReturn}
This uses a shadow tree built from the window tree that is only updated the first time \hyperlink{group__Ecore__X__Window__Geometry__Group_ga29aca2124d79f1633c3488416344c842}{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+at\+\_\+xy\+\_\+with\+\_\+skip\+\_\+get()} is called, or the next time it is called after a \hyperlink{group__Ecore__X__Window__Geometry__Group_ga5093ea1ca8a956d85fbeb1a0431a5e71}{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+tree\+\_\+flush()} 
\begin{DoxyParams}{Parameters}
{\em base} & The base window to start searching from (normally root). \\
\hline
{\em x} & The given X position. \\
\hline
{\em y} & The given Y position. \\
\hline
{\em skip} & The list of windows to be skipped. \\
\hline
{\em skip\+\_\+num} & The number of windows to be skipped. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The window at that position. 
\end{DoxyReturn}
\hypertarget{group__Ecore__X__Window__Geometry__Group_ga613b7cbe8ed511346e42fc7e9978ba4d}{\index{X Window Geometry Functions@{X Window Geometry Functions}!ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+parent\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+parent\+\_\+get}}
\index{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+parent\+\_\+get@{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+parent\+\_\+get}!X Window Geometry Functions@{X Window Geometry Functions}}
\subsubsection[{ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+parent\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Ecore\+\_\+\+X\+\_\+\+Window ecore\+\_\+x\+\_\+window\+\_\+shadow\+\_\+parent\+\_\+get (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{root, }
\item[{Ecore\+\_\+\+X\+\_\+\+Window}]{win}
\end{DoxyParamCaption}
)}}\label{group__Ecore__X__Window__Geometry__Group_ga613b7cbe8ed511346e42fc7e9978ba4d}


Retrieves the parent window a given window has. 

This uses the shadow window tree. 
\begin{DoxyParams}{Parameters}
{\em root} & The root window of {\ttfamily win} -\/ if 0, this will be automatically determined with extra processing overhead \\
\hline
{\em win} & The window to get the parent window of \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The parent window of {\ttfamily win} 
\end{DoxyReturn}
