• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>cairooverlay: GStreamer Good Plugins 1.0 Plugins Reference Manual</title>
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual">
8<link rel="up" href="ch01.html" title="gst-plugins-good Elements">
9<link rel="prev" href="gst-plugins-good-plugins-cacasink.html" title="cacasink">
10<link rel="next" href="gst-plugins-good-plugins-capssetter.html" title="capssetter">
11<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
12<link rel="stylesheet" href="style.css" type="text/css">
13</head>
14<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16<td width="100%" align="left" class="shortcuts">
17<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span18                  <a href="#gst-plugins-good-plugins-cairooverlay.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span19                  <a href="#gst-plugins-good-plugins-cairooverlay.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span20                  <a href="#gst-plugins-good-plugins-cairooverlay.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span21                  <a href="#gst-plugins-good-plugins-cairooverlay.signals" class="shortcut">Signals</a></span>
22</td>
23<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
24<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
25<td><a accesskey="p" href="gst-plugins-good-plugins-cacasink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
26<td><a accesskey="n" href="gst-plugins-good-plugins-capssetter.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
27</tr></table>
28<div class="refentry">
29<a name="gst-plugins-good-plugins-cairooverlay"></a><div class="titlepage"></div>
30<div class="refnamediv"><table width="100%"><tr>
31<td valign="top">
32<h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-cairooverlay.top_of_page"></a>cairooverlay</span></h2>
33<p>cairooverlay</p>
34</td>
35<td class="gallery_image" valign="top" align="right"></td>
36</tr></table></div>
37<div class="refsect1">
38<a name="gst-plugins-good-plugins-cairooverlay.properties"></a><h2>Properties</h2>
39<div class="informaltable"><table class="informaltable" border="0">
40<colgroup>
41<col width="150px" class="properties_type">
42<col width="300px" class="properties_name">
43<col width="200px" class="properties_flags">
44</colgroup>
45<tbody><tr>
46<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
47<td class="property_name"><a class="link" href="gst-plugins-good-plugins-cairooverlay.html#GstCairoOverlay--draw-on-transparent-surface" title="The “draw-on-transparent-surface” property">draw-on-transparent-surface</a></td>
48<td class="property_flags">Read / Write</td>
49</tr></tbody>
50</table></div>
51</div>
52<div class="refsect1">
53<a name="gst-plugins-good-plugins-cairooverlay.signals"></a><h2>Signals</h2>
54<div class="informaltable"><table class="informaltable" border="0">
55<colgroup>
56<col width="150px" class="signals_return">
57<col width="300px" class="signals_name">
58<col width="200px" class="signals_flags">
59</colgroup>
60<tbody>
61<tr>
62<td class="signal_type"><span class="returnvalue">void</span></td>
63<td class="signal_name"><a class="link" href="gst-plugins-good-plugins-cairooverlay.html#GstCairoOverlay-caps-changed" title="The “caps-changed” signal">caps-changed</a></td>
64<td class="signal_flags"> </td>
65</tr>
66<tr>
67<td class="signal_type"><span class="returnvalue">void</span></td>
68<td class="signal_name"><a class="link" href="gst-plugins-good-plugins-cairooverlay.html#GstCairoOverlay-draw" title="The “draw” signal">draw</a></td>
69<td class="signal_flags"> </td>
70</tr>
71</tbody>
72</table></div>
73</div>
74<a name="GstCairoOverlay"></a><div class="refsect1">
75<a name="gst-plugins-good-plugins-cairooverlay.other"></a><h2>Types and Values</h2>
76<div class="informaltable"><table class="informaltable" width="100%" border="0">
77<colgroup>
78<col width="150px" class="name">
79<col class="description">
80</colgroup>
81<tbody><tr>
82<td class="datatype_keyword">struct</td>
83<td class="function_name"><a class="link" href="gst-plugins-good-plugins-cairooverlay.html#GstCairoOverlay-struct" title="struct GstCairoOverlay">GstCairoOverlay</a></td>
84</tr></tbody>
85</table></div>
86</div>
87<div class="refsect1">
88<a name="gst-plugins-good-plugins-cairooverlay.object-hierarchy"></a><h2>Object Hierarchy</h2>
89<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
90    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
91        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a>
92            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a>
93                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
94                    <span class="lineart">╰──</span> GstCairoOverlay
95</pre>
96</div>
97<div class="refsect1">
98<a name="gst-plugins-good-plugins-cairooverlay.description"></a><h2>Description</h2>
99<p>cairooverlay renders an overlay using a application provided render function.</p>
100<p>The full example can be found in tests/examples/cairo/cairo_overlay.c</p>
101<div class="refsect2">
102<a name="id-1.2.38.8.4"></a><h3>Example code</h3>
103<div class="informalexample">
104  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
105    <tbody>
106      <tr>
107        <td class="listing_lines" align="right"><pre>1
1082
1093
1104
1115
1126
1137
1148
1159
11610
11711
11812
11913
12014
12115
12216
12317
12418
12519
12620
12721
12822
12923
13024
13125
13226
13327
13428
13529
13630
13731
13832
13933
14034
14135
14236
14337
14438
14539
14640
14741
14842
14943
15044
15145
15246
15347
15448
15549
15650
15751
15852
15953
16054</pre></td>
161        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include &lt;gst/gst.h&gt;</span>
162<span class="gtkdoc ppc">#include &lt;gst/video/video.h&gt;</span>
163
164<span class="gtkdoc opt">...</span>
165
166<span class="gtkdoc kwc">typedef</span> <span class="gtkdoc kwb">struct</span> <span class="gtkdoc opt">{</span>
167  gboolean valid<span class="gtkdoc opt">;</span>
168  <span class="gtkdoc kwb">int</span> width<span class="gtkdoc opt">;</span>
169  <span class="gtkdoc kwb">int</span> height<span class="gtkdoc opt">;</span>
170<span class="gtkdoc opt">}</span> CairoOverlayState<span class="gtkdoc opt">;</span>
171
172<span class="gtkdoc opt">...</span>
173
174<span class="gtkdoc kwb">static void</span>
175<span class="function">prepare_overlay</span> <span class="gtkdoc opt">(</span>GstElement <span class="gtkdoc opt">*</span> overlay<span class="gtkdoc opt">,</span> GstCaps <span class="gtkdoc opt">*</span> caps<span class="gtkdoc opt">,</span> gpointer user_data<span class="gtkdoc opt">)</span>
176<span class="gtkdoc opt">{</span>
177  CairoOverlayState <span class="gtkdoc opt">*</span>state <span class="gtkdoc opt">= (</span>CairoOverlayState <span class="gtkdoc opt">*)</span>user_data<span class="gtkdoc opt">;</span>
178
179  <span class="function">gst_video_format_parse_caps</span> <span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">, &amp;</span>state<span class="gtkdoc opt">-&gt;</span>width<span class="gtkdoc opt">, &amp;</span>state<span class="gtkdoc opt">-&gt;</span>height<span class="gtkdoc opt">);</span>
180  state<span class="gtkdoc opt">-&gt;</span>valid <span class="gtkdoc opt">=</span> TRUE<span class="gtkdoc opt">;</span>
181<span class="gtkdoc opt">}</span>
182
183<span class="gtkdoc kwb">static void</span>
184<span class="function">draw_overlay</span> <span class="gtkdoc opt">(</span>GstElement <span class="gtkdoc opt">*</span> overlay<span class="gtkdoc opt">,</span> cairo_t <span class="gtkdoc opt">*</span> cr<span class="gtkdoc opt">,</span> guint64 timestamp<span class="gtkdoc opt">,</span>
185  guint64 duration<span class="gtkdoc opt">,</span> gpointer user_data<span class="gtkdoc opt">)</span>
186<span class="gtkdoc opt">{</span>
187  CairoOverlayState <span class="gtkdoc opt">*</span>s <span class="gtkdoc opt">= (</span>CairoOverlayState <span class="gtkdoc opt">*)</span>user_data<span class="gtkdoc opt">;</span>
188  <span class="gtkdoc kwb">double</span> scale<span class="gtkdoc opt">;</span>
189
190  <span class="keyword">if</span> <span class="gtkdoc opt">(!</span>s<span class="gtkdoc opt">-&gt;</span>valid<span class="gtkdoc opt">)</span>
191    <span class="keyword">return</span><span class="gtkdoc opt">;</span>
192
193  scale <span class="gtkdoc opt">=</span> <span class="number">2</span><span class="gtkdoc opt">*(((</span>timestamp<span class="gtkdoc opt">/(</span><span class="gtkdoc kwb">int</span><span class="gtkdoc opt">)</span><span class="number">1</span>e7<span class="gtkdoc opt">) %</span> <span class="number">70</span><span class="gtkdoc opt">)+</span><span class="number">30</span><span class="gtkdoc opt">)/</span><span class="number">100.0</span><span class="gtkdoc opt">;</span>
194  <span class="function"><a href="/usr/share/gtk-doc/html/cairo/cairo-Transformations.html#cairo-translate">cairo_translate</a></span><span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> s<span class="gtkdoc opt">-&gt;</span>width<span class="gtkdoc opt">/</span><span class="number">2</span><span class="gtkdoc opt">, (</span>s<span class="gtkdoc opt">-&gt;</span>height<span class="gtkdoc opt">/</span><span class="number">2</span><span class="gtkdoc opt">)-</span><span class="number">30</span><span class="gtkdoc opt">);</span>
195  <span class="function"><a href="/usr/share/gtk-doc/html/cairo/cairo-Transformations.html#cairo-scale">cairo_scale</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> scale<span class="gtkdoc opt">,</span> scale<span class="gtkdoc opt">);</span>
196
197  <span class="function"><a href="/usr/share/gtk-doc/html/cairo/cairo-Paths.html#cairo-move-to">cairo_move_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
198  <span class="function"><a href="/usr/share/gtk-doc/html/cairo/cairo-Paths.html#cairo-curve-to">cairo_curve_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,-</span><span class="number">30</span><span class="gtkdoc opt">, -</span><span class="number">50</span><span class="gtkdoc opt">,-</span><span class="number">30</span><span class="gtkdoc opt">, -</span><span class="number">50</span><span class="gtkdoc opt">,</span><span class="number">0</span><span class="gtkdoc opt">);</span>
199  <span class="function"><a href="/usr/share/gtk-doc/html/cairo/cairo-Paths.html#cairo-curve-to">cairo_curve_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">, -</span><span class="number">50</span><span class="gtkdoc opt">,</span><span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span><span class="number">35</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span><span class="number">60</span> <span class="gtkdoc opt">);</span>
200  <span class="function"><a href="/usr/share/gtk-doc/html/cairo/cairo-Paths.html#cairo-curve-to">cairo_curve_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span><span class="number">35</span><span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">,</span><span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">,</span><span class="number">0</span> <span class="gtkdoc opt">); *</span>
201  <span class="function"><a href="/usr/share/gtk-doc/html/cairo/cairo-Paths.html#cairo-curve-to">cairo_curve_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">,-</span><span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,-</span><span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span><span class="number">0</span> <span class="gtkdoc opt">);</span>
202  <span class="function"><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-set-source-rgba">cairo_set_source_rgba</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">0.9</span><span class="gtkdoc opt">,</span> <span class="number">0.0</span><span class="gtkdoc opt">,</span> <span class="number">0.1</span><span class="gtkdoc opt">,</span> <span class="number">0.7</span><span class="gtkdoc opt">);</span>
203  <span class="function"><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-fill">cairo_fill</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span>
204<span class="gtkdoc opt">}</span>
205
206<span class="gtkdoc opt">...</span>
207
208cairo_overlay <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElementFactory.html#gst-element-factory-make">gst_element_factory_make</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;cairooverlay&quot;</span><span class="gtkdoc opt">,</span> <span class="string">&quot;overlay&quot;</span><span class="gtkdoc opt">);</span>
209
210<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#g-signal-connect">g_signal_connect</a></span> <span class="gtkdoc opt">(</span>cairo_overlay<span class="gtkdoc opt">,</span> <span class="string">&quot;draw&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span> <span class="gtkdoc opt">(</span>draw_overlay<span class="gtkdoc opt">),</span>
211  overlay_state<span class="gtkdoc opt">);</span>
212<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#g-signal-connect">g_signal_connect</a></span> <span class="gtkdoc opt">(</span>cairo_overlay<span class="gtkdoc opt">,</span> <span class="string">&quot;caps-changed&quot;</span><span class="gtkdoc opt">,</span>
213  <span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span> <span class="gtkdoc opt">(</span>prepare_overlay<span class="gtkdoc opt">),</span> overlay_state<span class="gtkdoc opt">);</span>
214<span class="gtkdoc opt">...</span></pre></td>
215      </tr>
216    </tbody>
217  </table>
218</div>
219
220</div>
221<div class="refsynopsisdiv">
222<h2>Synopsis</h2>
223<div class="refsect2">
224<a name="id-1.2.38.8.5.1"></a><h3>Element Information</h3>
225<div class="variablelist"><table border="0" class="variablelist">
226<colgroup>
227<col align="left" valign="top">
228<col>
229</colgroup>
230<tbody>
231<tr>
232<td><p><span class="term">plugin</span></p></td>
233<td>
234            <a class="link" href="gst-plugins-good-plugins-plugin-cairo.html#plugin-cairo">cairo</a>
235          </td>
236</tr>
237<tr>
238<td><p><span class="term">author</span></p></td>
239<td>Jon Nordby &lt;jononor@gmail.com&gt;</td>
240</tr>
241<tr>
242<td><p><span class="term">class</span></p></td>
243<td>Filter/Editor/Video</td>
244</tr>
245</tbody>
246</table></div>
247</div>
248<hr>
249<div class="refsect2">
250<a name="id-1.2.38.8.5.2"></a><h3>Element Pads</h3>
251<div class="variablelist"><table border="0" class="variablelist">
252<colgroup>
253<col align="left" valign="top">
254<col>
255</colgroup>
256<tbody>
257<tr>
258<td><p><span class="term">name</span></p></td>
259<td>sink</td>
260</tr>
261<tr>
262<td><p><span class="term">direction</span></p></td>
263<td>sink</td>
264</tr>
265<tr>
266<td><p><span class="term">presence</span></p></td>
267<td>always</td>
268</tr>
269<tr>
270<td><p><span class="term">details</span></p></td>
271<td>video/x-raw, format=(string){ BGRx, BGRA, RGB16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
272</tr>
273</tbody>
274</table></div>
275<div class="variablelist"><table border="0" class="variablelist">
276<colgroup>
277<col align="left" valign="top">
278<col>
279</colgroup>
280<tbody>
281<tr>
282<td><p><span class="term">name</span></p></td>
283<td>src</td>
284</tr>
285<tr>
286<td><p><span class="term">direction</span></p></td>
287<td>source</td>
288</tr>
289<tr>
290<td><p><span class="term">presence</span></p></td>
291<td>always</td>
292</tr>
293<tr>
294<td><p><span class="term">details</span></p></td>
295<td>video/x-raw, format=(string){ BGRx, BGRA, RGB16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
296</tr>
297</tbody>
298</table></div>
299</div>
300</div>
301</div>
302<div class="refsect1">
303<a name="gst-plugins-good-plugins-cairooverlay.functions_details"></a><h2>Functions</h2>
304<p></p>
305</div>
306<div class="refsect1">
307<a name="gst-plugins-good-plugins-cairooverlay.other_details"></a><h2>Types and Values</h2>
308<div class="refsect2">
309<a name="GstCairoOverlay-struct"></a><h3>struct GstCairoOverlay</h3>
310<pre class="programlisting">struct GstCairoOverlay;</pre>
311</div>
312</div>
313<div class="refsect1">
314<a name="gst-plugins-good-plugins-cairooverlay.property-details"></a><h2>Property Details</h2>
315<div class="refsect2">
316<a name="GstCairoOverlay--draw-on-transparent-surface"></a><h3>The <code class="literal">“draw-on-transparent-surface”</code> property</h3>
317<pre class="programlisting">  “draw-on-transparent-surface” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
318<p>Let the draw signal work on a transparent surface and blend the results with the video at a later time.</p>
319<p>Flags: Read / Write</p>
320<p>Default value: FALSE</p>
321</div>
322</div>
323<div class="refsect1">
324<a name="gst-plugins-good-plugins-cairooverlay.signal-details"></a><h2>Signal Details</h2>
325<div class="refsect2">
326<a name="GstCairoOverlay-caps-changed"></a><h3>The <code class="literal">“caps-changed”</code> signal</h3>
327<pre class="programlisting"><span class="returnvalue">void</span>
328user_function (<a class="link" href="gst-plugins-good-plugins-cairooverlay.html#GstCairoOverlay"><span class="type">GstCairoOverlay</span></a> *overlay,
329               <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>         *caps,
330               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>         user_data)</pre>
331<p>This signal is emitted when the caps of the element has changed.</p>
332<div class="refsect3">
333<a name="GstCairoOverlay-caps-changed.parameters"></a><h4>Parameters</h4>
334<div class="informaltable"><table class="informaltable" width="100%" border="0">
335<colgroup>
336<col width="150px" class="parameters_name">
337<col class="parameters_description">
338<col width="200px" class="parameters_annotations">
339</colgroup>
340<tbody>
341<tr>
342<td class="parameter_name"><p>overlay</p></td>
343<td class="parameter_description"><p>Overlay element emitting the signal.</p></td>
344<td class="parameter_annotations"> </td>
345</tr>
346<tr>
347<td class="parameter_name"><p>caps</p></td>
348<td class="parameter_description"><p>The <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> of the element.</p></td>
349<td class="parameter_annotations"> </td>
350</tr>
351<tr>
352<td class="parameter_name"><p>user_data</p></td>
353<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
354<td class="parameter_annotations"> </td>
355</tr>
356</tbody>
357</table></div>
358</div>
359</div>
360<hr>
361<div class="refsect2">
362<a name="GstCairoOverlay-draw"></a><h3>The <code class="literal">“draw”</code> signal</h3>
363<pre class="programlisting"><span class="returnvalue">void</span>
364user_function (<a class="link" href="gst-plugins-good-plugins-cairooverlay.html#GstCairoOverlay"><span class="type">GstCairoOverlay</span></a> *overlay,
365               <span class="type">CairoContext</span>    *cr,
366               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a>          timestamp,
367               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a>          duration,
368               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>         user_data)</pre>
369<p>This signal is emitted when the overlay should be drawn.</p>
370<div class="refsect3">
371<a name="GstCairoOverlay-draw.parameters"></a><h4>Parameters</h4>
372<div class="informaltable"><table class="informaltable" width="100%" border="0">
373<colgroup>
374<col width="150px" class="parameters_name">
375<col class="parameters_description">
376<col width="200px" class="parameters_annotations">
377</colgroup>
378<tbody>
379<tr>
380<td class="parameter_name"><p>overlay</p></td>
381<td class="parameter_description"><p>Overlay element emitting the signal.</p></td>
382<td class="parameter_annotations"> </td>
383</tr>
384<tr>
385<td class="parameter_name"><p>cr</p></td>
386<td class="parameter_description"><p>Cairo context to draw to.</p></td>
387<td class="parameter_annotations"> </td>
388</tr>
389<tr>
390<td class="parameter_name"><p>timestamp</p></td>
391<td class="parameter_description"><p>Timestamp (see <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a>) of the current buffer.</p></td>
392<td class="parameter_annotations"> </td>
393</tr>
394<tr>
395<td class="parameter_name"><p>duration</p></td>
396<td class="parameter_description"><p>Duration (see <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a>) of the current buffer.</p></td>
397<td class="parameter_annotations"> </td>
398</tr>
399<tr>
400<td class="parameter_name"><p>user_data</p></td>
401<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
402<td class="parameter_annotations"> </td>
403</tr>
404</tbody>
405</table></div>
406</div>
407</div>
408</div>
409</div>
410<div class="footer">
411<hr>Generated by GTK-Doc V1.28</div>
412</body>
413</html>