Пример #1
0
        internal override void SetTimer(Timer timer)
        {
            X11ThreadQueue queue = (X11ThreadQueue)MessageQueues [timer.thread];

            if (queue == null)
            {
                // This isn't really an error, MS doesn't start the timer if
                // it has no assosciated queue
                return;
            }
            queue.SetTimer(timer);
        }
Пример #2
0
        internal X11ThreadQueue ThreadQueue(Thread thread)
        {
            X11ThreadQueue queue;

            queue = (X11ThreadQueue)MessageQueues[thread];
            if (queue == null)
            {
                queue = new X11ThreadQueue(thread);
                MessageQueues[thread] = queue;
            }

            return(queue);
        }
Пример #3
0
		public void DoEvents (X11ThreadQueue queue)
		{
			MSG	msg = new MSG ();

			if (OverrideCursorHandle != IntPtr.Zero)
				OverrideCursorHandle = IntPtr.Zero;

			queue.DispatchIdle = false;

			while (PeekMessage(queue, ref msg, IntPtr.Zero, 0, 0, (uint)PeekMessageFlags.PM_REMOVE)) {
				TranslateMessage (ref msg);
				DispatchMessage (ref msg);
			}

			queue.DispatchIdle = true;
		}
Пример #4
0
        internal override void DoEvents()
        {
            X11ThreadQueue queue = ThreadQueue(Thread.CurrentThread);

            display.DoEvents(queue);
        }
Пример #5
0
        internal override void RaiseIdle(EventArgs e)
        {
            X11ThreadQueue queue = ThreadQueue(Thread.CurrentThread);

            queue.OnIdle(e);
        }
Пример #6
0
		internal X11ThreadQueue ThreadQueue (Thread thread)
		{
			X11ThreadQueue	queue;

			queue = (X11ThreadQueue)MessageQueues[thread];
			if (queue == null) {
				queue = new X11ThreadQueue(thread);
				MessageQueues[thread] = queue;
			}

			return queue;
		}