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; }
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; }
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; }
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; }
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; }
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); }
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); }