Beispiel #1
0
		public static uint Add (IdleHandler hndlr, Priority priority)
		{
			IdleProxy p = new IdleProxy (hndlr);
			p.ID = g_idle_add_full ((int)priority, (IdleHandlerInternal)p.proxy_handler, IntPtr.Zero, null);
			Source.AddSourceHandler (p.ID, p);

			return p.ID;
		}
Beispiel #2
0
		public static uint Add (IdleHandler hndlr)
		{
			IdleProxy p = new IdleProxy (hndlr);
			p.ID = g_idle_add ((IdleHandlerInternal) p.proxy_handler, IntPtr.Zero);
			Source.AddSourceHandler (p.ID, p);

			return p.ID;
		}
Beispiel #3
0
        public static uint Add(IdleHandler hndlr, Priority priority)
        {
            IdleProxy p = new IdleProxy (hndlr);
            p.ID = g_idle_add_full ((int)priority, (IdleHandlerInternal)p.proxy_handler, IntPtr.Zero, null);
            lock (Source.source_handlers)
                Source.source_handlers [p.ID] = p;

            return p.ID;
        }
Beispiel #4
0
        public static uint Add(IdleHandler hndlr)
        {
            IdleProxy p = new IdleProxy (hndlr);
            p.ID = g_idle_add ((IdleHandlerInternal) p.proxy_handler, IntPtr.Zero);
            lock (Source.source_handlers)
                Source.source_handlers [p.ID] = p;

            return p.ID;
        }
Beispiel #5
0
        public static uint Add(IdleHandler handler)
        {
            var proxy = new IdleProxy (handler);
            uint code = clutter_threads_add_idle ((IdleHandlerInternal)proxy.proxy_handler, IntPtr.Zero);

            lock (Source.source_handlers) {
                Source.source_handlers[code] = proxy;
            }

            return code;
        }
Beispiel #6
0
        public static uint Add(IdleHandler hndlr)
        {
            IdleProxy p = new IdleProxy(hndlr);

            lock (p)
            {
                p.ID = g_idle_add((IdleHandlerInternal)p.proxy_handler, IntPtr.Zero);
                Source.AddSourceHandler(p.ID, p);
            }

            return(p.ID);
        }
Beispiel #7
0
        public static uint Add(IdleHandler hndlr)
        {
            IdleProxy p = new IdleProxy(hndlr);

            lock (p)
            {
                var gch      = GCHandle.Alloc(p);
                var userData = GCHandle.ToIntPtr(gch);
                p.ID = g_idle_add_full(0, (IdleHandlerInternal)p.proxy_handler, userData, DestroyHelper.NotifyHandler);
            }

            return(p.ID);
        }
        public static bool Remove(IdleHandler hndlr)
        {
            bool result = false;

            lock (Source.source_handlers) {
                foreach (KeyValuePair <uint, SourceProxy> kvp in Source.source_handlers)
                {
                    uint      code = kvp.Key;
                    IdleProxy p    = kvp.Value as IdleProxy;

                    if (p != null && p.real_handler == hndlr)
                    {
                        result = g_source_remove(code);
                        p.Remove();
                    }
                }
            }

            return(result);
        }