Пример #1
0
        void Render()
        {
            ConsoleScreen.SetDotAsSeparator();
            RollerEvents();
            UserInputThread();

            // main render cycle
            using (var loop = new X11.MessageLoop()) {
                loop.OnKeyPress += (key) =>
                {
                    if (KeyToEvent(key, true))
                    {
                        processEvent.Set();
                    }
                };
                loop.OnKeyRelease += (key) =>
                {
                    if (key == X11.Key.Escape)
                    {
                        isStopped.Set();
                    }
                    else
                    {
                        KeyToEvent(key, false);
                    }
                };
                loop.OnConfigure  += () => renderScene.Set();
                loop.OnEnterLeave += (t) => renderScene.Set();
                loop.OnExpose     += () => renderScene.Set();
                loop.OnFocus      += (t) => renderScene.Set();
                loop.OnProperty   += (t) => renderScene.Set();
                loop.OnVisibility += () => renderScene.Set();
                while (!stopped)
                {
                    renderScene.Reset();
                    Draw();
                    Thread.Sleep(timer2);
                    renderScene.WaitOne();
                }
            }
        }