示例#1
0
 /*! \brief Raising an event invokes the event handler through a delegate.
  *
  * The \b OnMsgPreQuit method also allows derived classes to handle the
  * event without attaching a delegate. This is the preferred technique for
  * handling the event in a derived class.
  * \note  When overriding \b OnMsgPreQuit in a derived class, be sure to
  * call the base class's \b OnMsgPreQuit method so that registered delegates
  * receive the event.  */
 protected virtual void OnMsgPreQuit(Wimp.MessageEventArgs e)
 {
     if (MsgPreQuit != null)
     {
         MsgPreQuit(this, e);
     }
 }
示例#2
0
 /*! \brief Raising an event invokes the event handler through a delegate.
  *
  * The \b OnMsgModeChange method also allows derived classes to handle the
  * event without attaching a delegate. This is the preferred technique for
  * handling the event in a derived class.
  * \note  When overriding \b OnMsgModeChange in a derived class, be sure to
  * call the base class's \b OnMsgModeChange method so that registered delegates
  * receive the event.  */
 protected virtual void OnMsgModeChange(Wimp.MessageEventArgs e)
 {
     if (MsgModeChange != null)
     {
         MsgModeChange(this, e);
     }
 }
示例#3
0
 protected virtual void OnMessage(Wimp.MessageEventArgs e)
 {
     switch (e.MessageType)
     {
     case Wimp.MessageAction.DataLoad:
         OnMsgDataLoad((Wimp.DataLoadMessageEventArgs)e);
         break;
     }
 }
示例#4
0
        /*! \brief Dispatch Wimp messages to both types of task.  */
        protected virtual void OnMessage(Wimp.MessageEventArgs e)
        {
            switch (e.MessageType)
            {
            case Wimp.MessageAction.Quit:
                OnMsgQuit(e);
                break;

            case Wimp.MessageAction.PreQuit:
                OnMsgPreQuit(e);
                break;

            case Wimp.MessageAction.DataLoad:
                OnMsgDataLoad((Wimp.DataLoadMessageEventArgs)e);
                break;

            case Wimp.MessageAction.ModeChange:
                OnMsgModeChange(e);
                break;
            }
        }
示例#5
0
            public void ModeChangeHandler(object sender, Wimp.MessageEventArgs e)
            {
                if (TransTable != IntPtr.Zero)
                {
                    SpriteTask.Heap.Free(TransTable);
                    TransTable = IntPtr.Zero;
                }

                int buffer_size = GetTransTableSize(ColourTrans.CurrentMode,
                                                    ColourTrans.CurrentPalette,
                                                    false);

                if (buffer_size != 0)
                {
                    TransTable = SpriteTask.Heap.Alloc(buffer_size);
                    GetTransTable(TransTable,
                                  ColourTrans.CurrentMode,
                                  ColourTrans.CurrentPalette,
                                  false);
                }
            }