Logo Search packages:      
Sourcecode: avant-window-navigator version File versions  Download package

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.

Parameters:
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).

Definition at line 1773 of file awn-effects.c.

                                                                                                                       {
      if (effect == AWN_EFFECT_NONE || fx->self == NULL) return;

      AwnEffectsPrivate *queue_item;
      GList *queue = fx->effect_queue;
      // dont start the effect if already in queue
      while (queue) {
            queue_item = queue->data;
            if (queue_item->this_effect == effect) return;
            queue = g_list_next(queue);
      }
      AwnEffectsPrivate *priv = g_new(AwnEffectsPrivate, 1);
      priv->effects = fx;
      priv->this_effect = effect;
      priv->priority = awn_effect_get_priority(effect);
      priv->max_loops = max_loops;
      priv->start = start;
      priv->stop = stop;

      fx->effect_queue = g_list_insert_sorted(fx->effect_queue, priv, awn_effect_sort);
      main_effect_loop(fx);
}


Generated by  Doxygen 1.6.0   Back to index