2005-01-11 Mike Kestner <mkestner@novell.com>
* gdk/Window.custom : add AddFilterForAll and RemoveFilterForAll methods to handle the window==null native case. [Fixes #71065] svn path=/trunk/gtk-sharp/; revision=38730
This commit is contained in:
parent
b6b39dbbfe
commit
81c7552808
3 changed files with 62 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2005-01-11 Mike Kestner <mkestner@novell.com>
|
||||
|
||||
* gdk/Window.custom : add AddFilterForAll and RemoveFilterForAll
|
||||
methods to handle the window==null native case.
|
||||
[Fixes #71065]
|
||||
|
||||
2005-01-11 Mike Kestner <mkestner@novell.com>
|
||||
|
||||
* glib/Argv.cs : add automatic progname handling.
|
||||
|
|
|
@ -1946,5 +1946,35 @@ The color must be allocated;
|
|||
<remarks>Area includes window manager titlebar/borders if any. The frame position is given in root window coordinates. To get the position of the window itself (rather than the frame) in root window coordinates, use <see cref="M:Gdk.Window.GetOrigin" />.</remarks>
|
||||
</Docs>
|
||||
</Member>
|
||||
<Member MemberName="AddFilterForAll">
|
||||
<MemberSignature Language="C#" Value="public static void AddFilterForAll (Gdk.FilterFunc func);" />
|
||||
<MemberType>Method</MemberType>
|
||||
<ReturnValue>
|
||||
<ReturnType>System.Void</ReturnType>
|
||||
</ReturnValue>
|
||||
<Parameters>
|
||||
<Parameter Name="func" Type="Gdk.FilterFunc" />
|
||||
</Parameters>
|
||||
<Docs>
|
||||
<summary>Adds an event filtering function for all Windows.</summary>
|
||||
<param name="func">a <see cref="T:Gdk.FilterFunc" /></param>
|
||||
<remarks>It is possible to do significant damage to Gdk's built in event processing using this capability if used improperly.</remarks>
|
||||
</Docs>
|
||||
</Member>
|
||||
<Member MemberName="RemoveFilterForAll">
|
||||
<MemberSignature Language="C#" Value="public static void RemoveFilterForAll (Gdk.FilterFunc func);" />
|
||||
<MemberType>Method</MemberType>
|
||||
<ReturnValue>
|
||||
<ReturnType>System.Void</ReturnType>
|
||||
</ReturnValue>
|
||||
<Parameters>
|
||||
<Parameter Name="func" Type="Gdk.FilterFunc" />
|
||||
</Parameters>
|
||||
<Docs>
|
||||
<summary>Removes an event filtering function for all Windows.</summary>
|
||||
<param name="func">a <see cref="T:Gdk.FilterFunc" /></param>
|
||||
<remarks />
|
||||
</Docs>
|
||||
</Member>
|
||||
</Members>
|
||||
</Type>
|
|
@ -104,6 +104,31 @@
|
|||
}
|
||||
}
|
||||
|
||||
static Hashtable filter_all_hash;
|
||||
static Hashtable FilterAllHash {
|
||||
get {
|
||||
if (filter_all_hash == null)
|
||||
filter_all_hash = new Hashtable ();
|
||||
return filter_all_hash;
|
||||
}
|
||||
}
|
||||
|
||||
public static void AddFilterForAll (FilterFunc func)
|
||||
{
|
||||
GdkSharp.FilterFuncWrapper wrapper = new GdkSharp.FilterFuncWrapper (func, null);
|
||||
FilterAllHash [func] = wrapper;
|
||||
gdk_window_add_filter (IntPtr.Zero, wrapper.NativeDelegate, IntPtr.Zero);
|
||||
}
|
||||
|
||||
public static void RemoveFilterForAll (FilterFunc func)
|
||||
{
|
||||
GdkSharp.FilterFuncWrapper wrapper = FilterAllHash [func] as GdkSharp.FilterFuncWrapper;
|
||||
if (wrapper == null)
|
||||
return;
|
||||
FilterAllHash.Remove (func);
|
||||
gdk_window_remove_filter (IntPtr.Zero, wrapper.NativeDelegate, IntPtr.Zero);
|
||||
}
|
||||
|
||||
#if MANLY_ENOUGH_TO_INCLUDE
|
||||
public Cairo.Graphics CairoGraphics (out int offset_x, out int offset_y)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue