예제 #1
0
 internal MouseButton(EventClick onClick, EventDrag onDrag)
 {
     mState      = State.None;
     mOnClick    = onClick;
     mOnDrag     = onDrag;
     mDragRezult = null;
 }
예제 #2
0
 internal MouseButton(EventClick onClick, EventDrag onDrag)
 {
     mState = State.None;
     mOnClick = onClick;
     mOnDrag = onDrag;
     mDragRezult = null;
 }
예제 #3
0
        internal void detach()
        {
            if (mState == State.Drag)
            {
//				mDragRezult.mEventDetach(pos);
                mDragRezult = null;
                mState      = State.None;
            }
        }
예제 #4
0
 internal void detach()
 {
     if (mState == State.Drag)
     {
     //				mDragRezult.mEventDetach(pos);
         mDragRezult = null;
         mState = State.None;
     }
 }
예제 #5
0
 internal void up(Vec pos)
 {
     if (mState == State.Drag)
     {
         mDragRezult.mEventDetach(pos);
         mDragRezult = null;
     }
     if (mState == State.Down || mState == State.NoDrag)
     {
         if (mOnClick != null)
         {
             mOnClick(pos);
         }
     }
     mState = State.None;
 }
예제 #6
0
 internal void move(Vec pos)
 {
     switch (mState)
     {
         case State.Down:
             if (mOnDrag != null)
             {
                 mDragRezult = mOnDrag(pos);
                 if (mDragRezult == null)
                 {
                     mState = State.NoDrag;
                 }
                 else
                 {
                     mState = State.Drag;
                 }
             }
             break;
         case State.Drag:
             mDragRezult.mEventMove(pos);
             break;
     }
 }
예제 #7
0
        internal void move(Vec pos)
        {
            switch (mState)
            {
            case State.Down:
                if (mOnDrag != null)
                {
                    mDragRezult = mOnDrag(pos);
                    if (mDragRezult == null)
                    {
                        mState = State.NoDrag;
                    }
                    else
                    {
                        mState = State.Drag;
                    }
                }
                break;

            case State.Drag:
                mDragRezult.mEventMove(pos);
                break;
            }
        }
예제 #8
0
 internal void up(Vec pos)
 {
     if (mState == State.Drag)
     {
         mDragRezult.mEventDetach(pos);
         mDragRezult = null;
     }
     if (mState == State.Down || mState == State.NoDrag)
     {
         if (mOnClick != null)
             mOnClick(pos);
     }
     mState = State.None;
 }