예제 #1
0
        /// <summary>
        /// Gestisce il rilascio di un tasto della tastiera
        /// </summary>
        /// <param name="e"> </param>
        protected override void OnKeyDown(KeyEventArgs e)
        {
            KeyboardMouseEventArgs a = new KeyboardMouseEventArgs(e, KeyboardMouseEventID.Key_Down);

            queue.addEvent(a);
            scenes.HandleEvent(this.queue);
        }
예제 #2
0
        /// <summary>
        /// Gestisce il movimento della rotella del mouse
        /// </summary>
        /// <param name="e"> </param>
        protected override void OnMouseWheel(MouseEventArgs e)
        {
            KeyboardMouseEventArgs a = new KeyboardMouseEventArgs(e, KeyboardMouseEventID.Mouse_Wheel);

            queue.addEvent(a);
            scenes.HandleEvent(this.queue);
        }
예제 #3
0
 /// <summary>
 /// Aggiunge un evento in fondo alla coda.
 /// </summary>
 /// <param name="e">Evento da inserire.</param>
 public void addEvent(KeyboardMouseEventArgs e)
 {
     if ((e != null) && (!e.isNullKeyEvent() || !e.isNullMouseEvent()))
     {
         evtList.Add(e);
     }
 }
예제 #4
0
 /// <summary>
 /// Estrae l'evento in testa alla coda. Può restituire pure null.
 /// </summary>
 /// <returns>Un KeyboardEventArgs, se la coda non è vuota, null altrimenti.</returns>
 public KeyboardMouseEventArgs extractEvent()
 {
     if (evtList.Count != 0)
     {
         KeyboardMouseEventArgs output = evtList.ElementAt <KeyboardMouseEventArgs>(0);
         evtList.RemoveAt(0);
         return(output);
     }
     else
     {
         return(null);
     }
 }