![]() |
![]() |
![]() |
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 : |