\hypertarget{group__Ecore__Wl__Subsurf}{\section{Functions to manipulate subsurfaces.}
\label{group__Ecore__Wl__Subsurf}\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
}


Functions to manipulate wayland subsurfaces, using Ecore\+\_\+\+Wl\+\_\+\+Subsurf.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Ecore__Wayland_8h_a912648818c2aa9f1ea99ad676cad2104}{Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$ \hyperlink{group__Ecore__Wl__Subsurf_gabfa492059da7ee25a0514c06c53652b4}{ecore\+\_\+wl\+\_\+subsurf\+\_\+create} (\hyperlink{Ecore__Wayland_8h_a77854d0e7336ac1b6b01bcfe279d5bfd}{Ecore\+\_\+\+Wl\+\_\+\+Window} $\ast$win)
\begin{DoxyCompactList}\small\item\em Create and return a new subsurface. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Wl__Subsurf_ga0235cb545205a1937c73f909ed5f014b}{ecore\+\_\+wl\+\_\+subsurf\+\_\+del} (\hyperlink{Ecore__Wayland_8h_a912648818c2aa9f1ea99ad676cad2104}{Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$ess)
\begin{DoxyCompactList}\small\item\em Destroy the given subsurface, as well as the surface associated with it. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} struct wl\+\_\+surface $\ast$ \hyperlink{group__Ecore__Wl__Subsurf_ga6f3409f852ab729b82a90a49df14418c}{ecore\+\_\+wl\+\_\+subsurf\+\_\+surface\+\_\+get} (\hyperlink{Ecore__Wayland_8h_a912648818c2aa9f1ea99ad676cad2104}{Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$ess)
\begin{DoxyCompactList}\small\item\em Return the wl\+\_\+surface associated with this subsurface. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Wl__Subsurf_ga5657c8a4cbd75bc48e129b6bb95a78c9}{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+set} (\hyperlink{Ecore__Wayland_8h_a912648818c2aa9f1ea99ad676cad2104}{Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$ess, int x, int y)
\begin{DoxyCompactList}\small\item\em Set the position of this subsurface, relative to its parent surface. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Wl__Subsurf_gabd0fb3922eda792e0339a4e4b76f5798}{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+get} (\hyperlink{Ecore__Wayland_8h_a912648818c2aa9f1ea99ad676cad2104}{Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$ess, int $\ast$x, int $\ast$y)
\begin{DoxyCompactList}\small\item\em Get the position of this subsurface, relative to its parent surface. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Wl__Subsurf_ga1a1126b6d9bc7d645b1eef84801abeab}{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+above} (\hyperlink{Ecore__Wayland_8h_a912648818c2aa9f1ea99ad676cad2104}{Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$ess, struct wl\+\_\+surface $\ast$surface)
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Wl__Subsurf_ga639afaa339a2737613c4ab7355131ed8}{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+below} (\hyperlink{Ecore__Wayland_8h_a912648818c2aa9f1ea99ad676cad2104}{Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$ess, struct wl\+\_\+surface $\ast$surface)
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Wl__Subsurf_gaffb4b2d6561b764e10cd4f3a0b732b1a}{ecore\+\_\+wl\+\_\+subsurf\+\_\+sync\+\_\+set} (\hyperlink{Ecore__Wayland_8h_a912648818c2aa9f1ea99ad676cad2104}{Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$ess, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} val)
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Wl__Subsurf_ga39979ec8ae7a066e0b3c9a9bd4086a6b}{ecore\+\_\+wl\+\_\+subsurf\+\_\+opaque\+\_\+region\+\_\+set} (\hyperlink{Ecore__Wayland_8h_a912648818c2aa9f1ea99ad676cad2104}{Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$ess, int x, int y, int w, int h)
\begin{DoxyCompactList}\small\item\em Set an opaque region for the given subsurface. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions to manipulate wayland subsurfaces, using Ecore\+\_\+\+Wl\+\_\+\+Subsurf. 

This A\+P\+I is intended to expose Wayland subsurface functionality, although it should not be necessary for most applications to use it, as soon as we have means to make Evas automatically switch Evas images to use subsurfaces.

It can/should be used, for instance, when subsurfaces are needed to be not in sync with the main window surface. 

\subsection{Function Documentation}
\hypertarget{group__Ecore__Wl__Subsurf_gabfa492059da7ee25a0514c06c53652b4}{\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}!ecore\+\_\+wl\+\_\+subsurf\+\_\+create@{ecore\+\_\+wl\+\_\+subsurf\+\_\+create}}
\index{ecore\+\_\+wl\+\_\+subsurf\+\_\+create@{ecore\+\_\+wl\+\_\+subsurf\+\_\+create}!Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
\subsubsection[{ecore\+\_\+wl\+\_\+subsurf\+\_\+create}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Ecore\+\_\+\+Wl\+\_\+\+Subsurf}$\ast$ ecore\+\_\+wl\+\_\+subsurf\+\_\+create (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Wl\+\_\+\+Window} $\ast$}]{win}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Wl__Subsurf_gabfa492059da7ee25a0514c06c53652b4}


Create and return a new subsurface. 

Create a new surface (and subsurface interface), with the parent surface being the one associated with the given 
\begin{DoxyParams}{Parameters}
{\em win.} & The \\
\hline
{\em win} & must be visible, otherwise there will be no surface created for it yet.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References eina\+\_\+inlist\+\_\+append(), and E\+I\+N\+A\+\_\+\+I\+N\+L\+I\+S\+T\+\_\+\+G\+E\+T.

\hypertarget{group__Ecore__Wl__Subsurf_ga0235cb545205a1937c73f909ed5f014b}{\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}!ecore\+\_\+wl\+\_\+subsurf\+\_\+del@{ecore\+\_\+wl\+\_\+subsurf\+\_\+del}}
\index{ecore\+\_\+wl\+\_\+subsurf\+\_\+del@{ecore\+\_\+wl\+\_\+subsurf\+\_\+del}!Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
\subsubsection[{ecore\+\_\+wl\+\_\+subsurf\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+wl\+\_\+subsurf\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$}]{ess}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Wl__Subsurf_ga0235cb545205a1937c73f909ed5f014b}


Destroy the given subsurface, as well as the surface associated with it. 

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{group__Ecore__Wl__Subsurf_ga6f3409f852ab729b82a90a49df14418c}{\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}!ecore\+\_\+wl\+\_\+subsurf\+\_\+surface\+\_\+get@{ecore\+\_\+wl\+\_\+subsurf\+\_\+surface\+\_\+get}}
\index{ecore\+\_\+wl\+\_\+subsurf\+\_\+surface\+\_\+get@{ecore\+\_\+wl\+\_\+subsurf\+\_\+surface\+\_\+get}!Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
\subsubsection[{ecore\+\_\+wl\+\_\+subsurf\+\_\+surface\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} struct wl\+\_\+surface$\ast$ ecore\+\_\+wl\+\_\+subsurf\+\_\+surface\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$}]{ess}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Wl__Subsurf_ga6f3409f852ab729b82a90a49df14418c}


Return the wl\+\_\+surface associated with this subsurface. 

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{group__Ecore__Wl__Subsurf_ga5657c8a4cbd75bc48e129b6bb95a78c9}{\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}!ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+set@{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+set}}
\index{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+set@{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+set}!Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
\subsubsection[{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$}]{ess, }
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Wl__Subsurf_ga5657c8a4cbd75bc48e129b6bb95a78c9}


Set the position of this subsurface, relative to its parent surface. 

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{group__Ecore__Wl__Subsurf_gabd0fb3922eda792e0339a4e4b76f5798}{\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}!ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+get@{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+get}}
\index{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+get@{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+get}!Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
\subsubsection[{ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+wl\+\_\+subsurf\+\_\+position\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$}]{ess, }
\item[{int $\ast$}]{x, }
\item[{int $\ast$}]{y}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Wl__Subsurf_gabd0fb3922eda792e0339a4e4b76f5798}


Get the position of this subsurface, relative to its parent surface. 

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{group__Ecore__Wl__Subsurf_ga1a1126b6d9bc7d645b1eef84801abeab}{\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}!ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+above@{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+above}}
\index{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+above@{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+above}!Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
\subsubsection[{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+above}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+above (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$}]{ess, }
\item[{struct wl\+\_\+surface $\ast$}]{surface}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Wl__Subsurf_ga1a1126b6d9bc7d645b1eef84801abeab}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{group__Ecore__Wl__Subsurf_ga639afaa339a2737613c4ab7355131ed8}{\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}!ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+below@{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+below}}
\index{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+below@{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+below}!Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
\subsubsection[{ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+below}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+wl\+\_\+subsurf\+\_\+place\+\_\+below (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$}]{ess, }
\item[{struct wl\+\_\+surface $\ast$}]{surface}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Wl__Subsurf_ga639afaa339a2737613c4ab7355131ed8}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{group__Ecore__Wl__Subsurf_gaffb4b2d6561b764e10cd4f3a0b732b1a}{\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}!ecore\+\_\+wl\+\_\+subsurf\+\_\+sync\+\_\+set@{ecore\+\_\+wl\+\_\+subsurf\+\_\+sync\+\_\+set}}
\index{ecore\+\_\+wl\+\_\+subsurf\+\_\+sync\+\_\+set@{ecore\+\_\+wl\+\_\+subsurf\+\_\+sync\+\_\+set}!Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
\subsubsection[{ecore\+\_\+wl\+\_\+subsurf\+\_\+sync\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+wl\+\_\+subsurf\+\_\+sync\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$}]{ess, }
\item[{{\bf Eina\+\_\+\+Bool}}]{val}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Wl__Subsurf_gaffb4b2d6561b764e10cd4f3a0b732b1a}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{group__Ecore__Wl__Subsurf_ga39979ec8ae7a066e0b3c9a9bd4086a6b}{\index{Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}!ecore\+\_\+wl\+\_\+subsurf\+\_\+opaque\+\_\+region\+\_\+set@{ecore\+\_\+wl\+\_\+subsurf\+\_\+opaque\+\_\+region\+\_\+set}}
\index{ecore\+\_\+wl\+\_\+subsurf\+\_\+opaque\+\_\+region\+\_\+set@{ecore\+\_\+wl\+\_\+subsurf\+\_\+opaque\+\_\+region\+\_\+set}!Functions to manipulate subsurfaces.@{Functions to manipulate subsurfaces.}}
\subsubsection[{ecore\+\_\+wl\+\_\+subsurf\+\_\+opaque\+\_\+region\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+wl\+\_\+subsurf\+\_\+opaque\+\_\+region\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Wl\+\_\+\+Subsurf} $\ast$}]{ess, }
\item[{int}]{x, }
\item[{int}]{y, }
\item[{int}]{w, }
\item[{int}]{h}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Wl__Subsurf_ga39979ec8ae7a066e0b3c9a9bd4086a6b}


Set an opaque region for the given subsurface. 

Use a 0x0 region size to unset the opaque region.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
