| libawn Reference Manual | ||||
|---|---|---|---|---|
enum AwnEffect; enum AwnEffectSequence; const gchar* (*AwnTitleCallback) (GObject *); void (*AwnEventNotify) (GObject *); AwnEffects; void awn_effects_init (GObject *obj, AwnEffects *fx); void awn_effects_finalize (AwnEffects *fx); void awn_register_effects (GObject *obj, AwnEffects *fx); void awn_unregister_effects (AwnEffects *fx); void awn_effect_start (AwnEffects *fx, const AwnEffect effect); void awn_effect_stop (AwnEffects *fx, const AwnEffect effect); void awn_effects_set_title (AwnEffects *fx, AwnTitle *title, AwnTitleCallback title_func); void awn_effect_start_ex (AwnEffects *fx, const AwnEffect effect, AwnEventNotify start, AwnEventNotify stop, gint max_loops); void awn_draw_background (AwnEffects *, cairo_t *); void awn_draw_icons (AwnEffects *, cairo_t *, GdkPixbuf *, GdkPixbuf *); void awn_draw_foreground (AwnEffects *, cairo_t *); void awn_draw_set_window_size (AwnEffects *, const gint , const gint ); void awn_draw_set_icon_size (AwnEffects *, const gint , const gint );
typedef enum {
AWN_EFFECT_NONE,
AWN_EFFECT_OPENING,
AWN_EFFECT_LAUNCHING,
AWN_EFFECT_HOVER,
AWN_EFFECT_ATTENTION,
AWN_EFFECT_CLOSING,
AWN_EFFECT_DESATURATE
} AwnEffect;
typedef enum {
AWN_EFFECT_DIR_NONE,
AWN_EFFECT_DIR_STOP,
AWN_EFFECT_DIR_DOWN,
AWN_EFFECT_DIR_UP,
AWN_EFFECT_DIR_LEFT,
AWN_EFFECT_DIR_RIGHT,
AWN_EFFECT_SQUISH_DOWN,
AWN_EFFECT_SQUISH_DOWN2,
AWN_EFFECT_SQUISH_UP,
AWN_EFFECT_SQUISH_UP2,
AWN_EFFECT_TURN_1,
AWN_EFFECT_TURN_2,
AWN_EFFECT_TURN_3,
AWN_EFFECT_TURN_4,
AWN_EFFECT_SPOTLIGHT_ON,
AWN_EFFECT_SPOTLIGHT_TREMBLE_UP,
AWN_EFFECT_SPOTLIGHT_TREMBLE_DOWN,
AWN_EFFECT_SPOTLIGHT_OFF
} AwnEffectSequence;
typedef struct {
GObject *self;
GtkWidget *focus_window;
AwnSettings *settings;
AwnTitle *title;
AwnTitleCallback get_title;
GList *effect_queue;
gint icon_width, icon_height;
gint window_width, window_height;
/* EFFECT VARIABLES */
gboolean effect_lock;
AwnEffect current_effect;
AwnEffectSequence direction;
gint count;
gdouble x_offset;
gdouble y_offset;
gdouble curve_offset;
gint delta_width;
gint delta_height;
GtkAllocation clip_region;
gdouble rotate_degrees;
gfloat alpha;
gfloat spotlight_alpha;
gfloat saturation;
gfloat glow_amount;
gint icon_depth;
gint icon_depth_direction;
/* State variables */
gboolean hover;
gboolean clip;
gboolean flip;
gboolean spotlight;
guint enter_notify;
guint leave_notify;
guint timer_id;
/* padding so we dont break ABI compability every time */
void *pad1;
void *pad2;
void *pad3;
void *pad4;
} AwnEffects;
void awn_effects_init (GObject *obj,
AwnEffects *fx);
Initializes AwnEffects structure.
obj : |
Object which will be passed to all callback functions, this object is
also passed to gtk_widget_queue_draw() during the animation.
|
fx : |
Pointer to AwnEffects structure. |
void awn_effects_finalize (AwnEffects *fx);
Finalizes AwnEffects usage and frees internally allocated memory.
(also calls awn_unregister_effects())
fx : |
Pointer to AwnEffects structure. |
void awn_register_effects (GObject *obj,
AwnEffects *fx);
Registers GtkWidget::enter-notify-event and GtkWidget::leave-notify-event signals for the managed window.
obj : |
Managed window to which the effects will apply. |
fx : |
Pointer to AwnEffects structure. |
void awn_unregister_effects (AwnEffects *fx);
Unregisters events for managed window.
fx : |
Pointer to AwnEffects structure. |
void awn_effect_start (AwnEffects *fx, const AwnEffect effect);
Start a single effect. The effect will loop until awn_effect_stop()
is called.
fx : |
Pointer to AwnEffects structure. |
effect : |
AwnEffect to schedule. |
void awn_effect_stop (AwnEffects *fx, const AwnEffect effect);
Stop a single effect.
fx : |
Pointer to AwnEffects structure. |
effect : |
AwnEffect to stop. |
void awn_effects_set_title (AwnEffects *fx, AwnTitle *title, AwnTitleCallback title_func);
Makes AwnTitle appear on GtkWidget::enter-notify-event.
fx : |
Pointer to AwnEffects structure. |
title : |
Pointer to AwnTitle instance. |
title_func : |
Pointer to function which returns desired title text. |
void awn_effect_start_ex (AwnEffects *fx, const AwnEffect effect, AwnEventNotify start, AwnEventNotify stop, gint max_loops);
Extended effect start, which provides callbacks for animation start, end and possibility to specify maximum number of loops.
fx : |
Pointer to AwnEffects structure. |
effect : |
Effect to schedule. |
start : |
Function which will be called when animation starts. |
stop : |
Function which will be called when animation finishes. |
max_loops : |
Number of maximum animation loops (0 for unlimited). |
void awn_draw_icons (AwnEffects *, cairo_t *, GdkPixbuf *, GdkPixbuf *);
Param1 : |
|
Param2 : |
|
Param3 : |
|
Param4 : |
void awn_draw_set_window_size (AwnEffects *, const gint , const gint );
Param1 : |
|
Param2 : |
|
Param3 : |
void awn_draw_set_icon_size (AwnEffects *, const gint , const gint );
Param1 : |
|
Param2 : |
|
Param3 : |