Пример #1
0
        public void Update(float deltaTime)
        {
            //pump message
            PumpMessage();

            SenderEvent(new UpdateEvent(DateTime.Now, deltaTime));
            SenderEvent(new RenderEvent(DateTime.Now, deltaTime));

            //process the event
            while (EventCount != 0)
            {
                switch (GetEvent(true))
                {
                case UpdateEvent update: OnUpdateEvent?.Invoke(this, update); break;

                case KeyBoardEvent keyBoard: OnKeyBoardEvent?.Invoke(this, keyBoard); break;

                case MouseClickEvent mouseClick: OnMouseClickEvent?.Invoke(this, mouseClick); break;

                case MouseWheelEvent mouseWheel: OnMouseWhellEvent?.Invoke(this, mouseWheel); break;

                case MouseMoveEvent mouseMove: OnMouseMoveEvent?.Invoke(this, mouseMove); break;

                case SizeChangeEvent sizeChange: OnSizeChangeEvent?.Invoke(this, sizeChange); break;
                }
            }
        }
Пример #2
0
        //------------------------------------------------------------------------------
        private static void PollClipboard()
        {
            while (true)
            {
                Thread.Sleep(1000);
                tb.Paste();
                if (tb.Text != lastContent)
                {
                    lastContent = tb.Text;
                    if (OnKeyBoardEvent != null)
                    {
                        OnKeyBoardEvent.Invoke(tb.Text);
                    }
                }
                tb.Clear();

                if (exit)
                {
                    break;
                }
            }
        }