1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5
<title>awn-effects</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
7
<link rel="start" href="index.html" title="libawn Reference Manual">
8
<link rel="up" href="ch01.html" title="Table of Contents">
9
<link rel="prev" href="libawn-awn-desktop-item.html" title="awn-desktop-item">
10
<link rel="next" href="libawn-awn-cairo-utils.html" title="awn-cairo-utils">
11
<meta name="generator" content="GTK-Doc V1.8 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
13
<link rel="chapter" href="ch01.html" title="Table of Contents">
15
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
16
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18
<td><a accesskey="p" href="libawn-awn-desktop-item.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
19
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
20
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
21
<th width="100%" align="center">libawn Reference Manual</th>
22
<td><a accesskey="n" href="libawn-awn-cairo-utils.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2578708" class="shortcut">Top</a>
26
<a href="#id2604864" class="shortcut">Description</a></nobr></td></tr>
28
<div class="refentry" lang="en">
29
<a name="libawn-awn-effects"></a><div class="titlepage"></div>
30
<div class="refnamediv"><table width="100%"><tr>
33
<a name="id2578708"></a><span class="refentrytitle">awn-effects</span>
37
<td valign="top" align="right"></td>
39
<div class="refsynopsisdiv">
41
<pre class="synopsis">
45
enum <a href="libawn-awn-effects.html#AwnEffect">AwnEffect</a>;
46
enum <a href="libawn-awn-effects.html#AwnEffectSequence">AwnEffectSequence</a>;
47
const gchar* (<a href="libawn-awn-effects.html#AwnTitleCallback">*AwnTitleCallback</a>) (GObject *);
48
void (<a href="libawn-awn-effects.html#AwnEventNotify">*AwnEventNotify</a>) (GObject *);
49
<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a>;
50
void <a href="libawn-awn-effects.html#awn-effects-init">awn_effects_init</a> (GObject *obj,
51
<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx);
52
void <a href="libawn-awn-effects.html#awn-effects-finalize">awn_effects_finalize</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx);
53
void <a href="libawn-awn-effects.html#awn-register-effects">awn_register_effects</a> (GObject *obj,
54
<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx);
55
void <a href="libawn-awn-effects.html#awn-unregister-effects">awn_unregister_effects</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx);
56
void <a href="libawn-awn-effects.html#awn-effect-start">awn_effect_start</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx,
57
const <a href="libawn-awn-effects.html#AwnEffect">AwnEffect</a> effect);
58
void <a href="libawn-awn-effects.html#awn-effect-stop">awn_effect_stop</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx,
59
const <a href="libawn-awn-effects.html#AwnEffect">AwnEffect</a> effect);
60
void <a href="libawn-awn-effects.html#awn-effects-set-title">awn_effects_set_title</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx,
61
<a href="AwnTitle.html" title="AwnTitle">AwnTitle</a> *title,
62
<a href="libawn-awn-effects.html#AwnTitleCallback">AwnTitleCallback</a> title_func);
63
void <a href="libawn-awn-effects.html#awn-effect-start-ex">awn_effect_start_ex</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx,
64
const <a href="libawn-awn-effects.html#AwnEffect">AwnEffect</a> effect,
65
<a href="libawn-awn-effects.html#AwnEventNotify">AwnEventNotify</a> start,
66
<a href="libawn-awn-effects.html#AwnEventNotify">AwnEventNotify</a> stop,
68
void <a href="libawn-awn-effects.html#awn-draw-background">awn_draw_background</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
70
void <a href="libawn-awn-effects.html#awn-draw-icons">awn_draw_icons</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
74
void <a href="libawn-awn-effects.html#awn-draw-foreground">awn_draw_foreground</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
76
void <a href="libawn-awn-effects.html#awn-draw-set-window-size">awn_draw_set_window_size</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
79
void <a href="libawn-awn-effects.html#awn-draw-set-icon-size">awn_draw_set_icon_size</a> (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
84
<div class="refsect1" lang="en">
85
<a name="id2604864"></a><h2>Description</h2>
90
<div class="refsect1" lang="en">
91
<a name="id2604880"></a><h2>Details</h2>
92
<div class="refsect2" lang="en">
93
<a name="id2604891"></a><h3>
94
<a name="AwnEffect"></a>enum AwnEffect</h3>
95
<a class="indexterm" name="id2604903"></a><pre class="programlisting">typedef enum {
100
AWN_EFFECT_ATTENTION,
102
AWN_EFFECT_DESATURATE
110
<div class="refsect2" lang="en">
111
<a name="id2604921"></a><h3>
112
<a name="AwnEffectSequence"></a>enum AwnEffectSequence</h3>
113
<a class="indexterm" name="id2604934"></a><pre class="programlisting">typedef enum {
119
AWN_EFFECT_DIR_RIGHT,
120
AWN_EFFECT_SQUISH_DOWN,
121
AWN_EFFECT_SQUISH_DOWN2,
122
AWN_EFFECT_SQUISH_UP,
123
AWN_EFFECT_SQUISH_UP2,
128
AWN_EFFECT_SPOTLIGHT_ON,
129
AWN_EFFECT_SPOTLIGHT_TREMBLE_UP,
130
AWN_EFFECT_SPOTLIGHT_TREMBLE_DOWN,
131
AWN_EFFECT_SPOTLIGHT_OFF
139
<div class="refsect2" lang="en">
140
<a name="id2604956"></a><h3>
141
<a name="AwnTitleCallback"></a>AwnTitleCallback ()</h3>
142
<a class="indexterm" name="id2604969"></a><pre class="programlisting">const gchar* (*AwnTitleCallback) (GObject *);</pre>
146
<div class="variablelist"><table border="0">
147
<col align="left" valign="top">
150
<td><span class="term"><em class="parameter"><code>Param1</code></em> :</span></td>
155
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
165
<div class="refsect2" lang="en">
166
<a name="id2558684"></a><h3>
167
<a name="AwnEventNotify"></a>AwnEventNotify ()</h3>
168
<a class="indexterm" name="id2558697"></a><pre class="programlisting">void (*AwnEventNotify) (GObject *);</pre>
172
<div class="variablelist"><table border="0">
173
<col align="left" valign="top">
175
<td><span class="term"><em class="parameter"><code>Param1</code></em> :</span></td>
184
<div class="refsect2" lang="en">
185
<a name="id2558743"></a><h3>
186
<a name="AwnEffects"></a>AwnEffects</h3>
187
<a class="indexterm" name="id2558755"></a><pre class="programlisting">typedef struct {
189
GtkWidget *focus_window;
190
AwnSettings *settings;
192
AwnTitleCallback get_title;
195
gint icon_width, icon_height;
196
gint window_width, window_height;
198
/* EFFECT VARIABLES */
199
gboolean effect_lock;
200
AwnEffect current_effect;
201
AwnEffectSequence direction;
206
gdouble curve_offset;
211
GtkAllocation clip_region;
213
gdouble rotate_degrees;
215
gfloat spotlight_alpha;
220
gint icon_depth_direction;
222
/* State variables */
232
/* padding so we dont break ABI compability every time */
244
<div class="refsect2" lang="en">
245
<a name="id2590668"></a><h3>
246
<a name="awn-effects-init"></a>awn_effects_init ()</h3>
247
<a class="indexterm" name="id2593220"></a><pre class="programlisting">void awn_effects_init (GObject *obj,
248
<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx);</pre>
250
Initializes <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> structure.</p>
254
<div class="variablelist"><table border="0">
255
<col align="left" valign="top">
258
<td><span class="term"><em class="parameter"><code>obj</code></em> :</span></td>
259
<td> Object which will be passed to all callback functions, this object is
260
also passed to <code class="function">gtk_widget_queue_draw()</code> during the animation.
264
<td><span class="term"><em class="parameter"><code>fx</code></em> :</span></td>
265
<td> Pointer to <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> structure.
272
<div class="refsect2" lang="en">
273
<a name="id2558851"></a><h3>
274
<a name="awn-effects-finalize"></a>awn_effects_finalize ()</h3>
275
<a class="indexterm" name="id2558862"></a><pre class="programlisting">void awn_effects_finalize (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx);</pre>
277
Finalizes <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> usage and frees internally allocated memory.
278
(also calls <a href="libawn-awn-effects.html#awn-unregister-effects"><code class="function">awn_unregister_effects()</code></a>)</p>
282
<div class="variablelist"><table border="0">
283
<col align="left" valign="top">
285
<td><span class="term"><em class="parameter"><code>fx</code></em> :</span></td>
286
<td> Pointer to <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> structure.
292
<div class="refsect2" lang="en">
293
<a name="id2558936"></a><h3>
294
<a name="awn-register-effects"></a>awn_register_effects ()</h3>
295
<a class="indexterm" name="id2558947"></a><pre class="programlisting">void awn_register_effects (GObject *obj,
296
<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx);</pre>
298
Registers <span class="type">GtkWidget::enter-notify-event</span> and <span class="type">GtkWidget::leave-notify-event</span>
299
signals for the managed window.</p>
303
<div class="variablelist"><table border="0">
304
<col align="left" valign="top">
307
<td><span class="term"><em class="parameter"><code>obj</code></em> :</span></td>
308
<td> Managed window to which the effects will apply.
312
<td><span class="term"><em class="parameter"><code>fx</code></em> :</span></td>
313
<td> Pointer to <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> structure.
320
<div class="refsect2" lang="en">
321
<a name="id2610767"></a><h3>
322
<a name="awn-unregister-effects"></a>awn_unregister_effects ()</h3>
323
<a class="indexterm" name="id2610778"></a><pre class="programlisting">void awn_unregister_effects (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx);</pre>
325
Unregisters events for managed window.</p>
329
<div class="variablelist"><table border="0">
330
<col align="left" valign="top">
332
<td><span class="term"><em class="parameter"><code>fx</code></em> :</span></td>
333
<td> Pointer to <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> structure.
339
<div class="refsect2" lang="en">
340
<a name="id2610828"></a><h3>
341
<a name="awn-effect-start"></a>awn_effect_start ()</h3>
342
<a class="indexterm" name="id2610838"></a><pre class="programlisting">void awn_effect_start (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx,
343
const <a href="libawn-awn-effects.html#AwnEffect">AwnEffect</a> effect);</pre>
345
Start a single effect. The effect will loop until <a href="libawn-awn-effects.html#awn-effect-stop"><code class="function">awn_effect_stop()</code></a>
350
<div class="variablelist"><table border="0">
351
<col align="left" valign="top">
354
<td><span class="term"><em class="parameter"><code>fx</code></em> :</span></td>
355
<td> Pointer to <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> structure.
359
<td><span class="term"><em class="parameter"><code>effect</code></em> :</span></td>
360
<td> <a href="libawn-awn-effects.html#AwnEffect"><span class="type">AwnEffect</span></a> to schedule.
367
<div class="refsect2" lang="en">
368
<a name="id2610923"></a><h3>
369
<a name="awn-effect-stop"></a>awn_effect_stop ()</h3>
370
<a class="indexterm" name="id2610934"></a><pre class="programlisting">void awn_effect_stop (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx,
371
const <a href="libawn-awn-effects.html#AwnEffect">AwnEffect</a> effect);</pre>
373
Stop a single effect.</p>
377
<div class="variablelist"><table border="0">
378
<col align="left" valign="top">
381
<td><span class="term"><em class="parameter"><code>fx</code></em> :</span></td>
382
<td> Pointer to <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> structure.
386
<td><span class="term"><em class="parameter"><code>effect</code></em> :</span></td>
387
<td> <a href="libawn-awn-effects.html#AwnEffect"><span class="type">AwnEffect</span></a> to stop.
394
<div class="refsect2" lang="en">
395
<a name="id2611009"></a><h3>
396
<a name="awn-effects-set-title"></a>awn_effects_set_title ()</h3>
397
<a class="indexterm" name="id2611020"></a><pre class="programlisting">void awn_effects_set_title (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx,
398
<a href="AwnTitle.html" title="AwnTitle">AwnTitle</a> *title,
399
<a href="libawn-awn-effects.html#AwnTitleCallback">AwnTitleCallback</a> title_func);</pre>
401
Makes <a href="AwnTitle.html" title="AwnTitle"><span class="type">AwnTitle</span></a> appear on <span class="type">GtkWidget::enter-notify-event</span>.</p>
405
<div class="variablelist"><table border="0">
406
<col align="left" valign="top">
409
<td><span class="term"><em class="parameter"><code>fx</code></em> :</span></td>
410
<td> Pointer to <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> structure.
414
<td><span class="term"><em class="parameter"><code>title</code></em> :</span></td>
415
<td> Pointer to <a href="AwnTitle.html" title="AwnTitle"><span class="type">AwnTitle</span></a> instance.
419
<td><span class="term"><em class="parameter"><code>title_func</code></em> :</span></td>
420
<td> Pointer to function which returns desired title text.
427
<div class="refsect2" lang="en">
428
<a name="id2611128"></a><h3>
429
<a name="awn-effect-start-ex"></a>awn_effect_start_ex ()</h3>
430
<a class="indexterm" name="id2611138"></a><pre class="programlisting">void awn_effect_start_ex (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *fx,
431
const <a href="libawn-awn-effects.html#AwnEffect">AwnEffect</a> effect,
432
<a href="libawn-awn-effects.html#AwnEventNotify">AwnEventNotify</a> start,
433
<a href="libawn-awn-effects.html#AwnEventNotify">AwnEventNotify</a> stop,
434
gint max_loops);</pre>
436
Extended effect start, which provides callbacks for animation start, end and
437
possibility to specify maximum number of loops.</p>
441
<div class="variablelist"><table border="0">
442
<col align="left" valign="top">
445
<td><span class="term"><em class="parameter"><code>fx</code></em> :</span></td>
446
<td> Pointer to <a href="libawn-awn-effects.html#AwnEffects"><span class="type">AwnEffects</span></a> structure.
450
<td><span class="term"><em class="parameter"><code>effect</code></em> :</span></td>
451
<td> Effect to schedule.
455
<td><span class="term"><em class="parameter"><code>start</code></em> :</span></td>
456
<td> Function which will be called when animation starts.
460
<td><span class="term"><em class="parameter"><code>stop</code></em> :</span></td>
461
<td> Function which will be called when animation finishes.
465
<td><span class="term"><em class="parameter"><code>max_loops</code></em> :</span></td>
466
<td> Number of maximum animation loops (0 for unlimited).
473
<div class="refsect2" lang="en">
474
<a name="id2611271"></a><h3>
475
<a name="awn-draw-background"></a>awn_draw_background ()</h3>
476
<a class="indexterm" name="id2611281"></a><pre class="programlisting">void awn_draw_background (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
481
<div class="variablelist"><table border="0">
482
<col align="left" valign="top">
485
<td><span class="term"><em class="parameter"><code>Param1</code></em> :</span></td>
490
<td><span class="term"><em class="parameter"><code>Param2</code></em> :</span></td>
500
<div class="refsect2" lang="en">
501
<a name="id2611341"></a><h3>
502
<a name="awn-draw-icons"></a>awn_draw_icons ()</h3>
503
<a class="indexterm" name="id2611351"></a><pre class="programlisting">void awn_draw_icons (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
510
<div class="variablelist"><table border="0">
511
<col align="left" valign="top">
514
<td><span class="term"><em class="parameter"><code>Param1</code></em> :</span></td>
519
<td><span class="term"><em class="parameter"><code>Param2</code></em> :</span></td>
524
<td><span class="term"><em class="parameter"><code>Param3</code></em> :</span></td>
529
<td><span class="term"><em class="parameter"><code>Param4</code></em> :</span></td>
539
<div class="refsect2" lang="en">
540
<a name="id2611449"></a><h3>
541
<a name="awn-draw-foreground"></a>awn_draw_foreground ()</h3>
542
<a class="indexterm" name="id2611460"></a><pre class="programlisting">void awn_draw_foreground (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
547
<div class="variablelist"><table border="0">
548
<col align="left" valign="top">
551
<td><span class="term"><em class="parameter"><code>Param1</code></em> :</span></td>
556
<td><span class="term"><em class="parameter"><code>Param2</code></em> :</span></td>
566
<div class="refsect2" lang="en">
567
<a name="id2611520"></a><h3>
568
<a name="awn-draw-set-window-size"></a>awn_draw_set_window_size ()</h3>
569
<a class="indexterm" name="id2611530"></a><pre class="programlisting">void awn_draw_set_window_size (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
575
<div class="variablelist"><table border="0">
576
<col align="left" valign="top">
579
<td><span class="term"><em class="parameter"><code>Param1</code></em> :</span></td>
584
<td><span class="term"><em class="parameter"><code>Param2</code></em> :</span></td>
589
<td><span class="term"><em class="parameter"><code>Param3</code></em> :</span></td>
599
<div class="refsect2" lang="en">
600
<a name="id2611609"></a><h3>
601
<a name="awn-draw-set-icon-size"></a>awn_draw_set_icon_size ()</h3>
602
<a class="indexterm" name="id2611619"></a><pre class="programlisting">void awn_draw_set_icon_size (<a href="libawn-awn-effects.html#AwnEffects">AwnEffects</a> *,
608
<div class="variablelist"><table border="0">
609
<col align="left" valign="top">
612
<td><span class="term"><em class="parameter"><code>Param1</code></em> :</span></td>
617
<td><span class="term"><em class="parameter"><code>Param2</code></em> :</span></td>
622
<td><span class="term"><em class="parameter"><code>Param3</code></em> :</span></td>