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>
|
2005-01-11 Mike Kestner <mkestner@novell.com>
|
||||||
|
|
||||||
* glib/Argv.cs : add automatic progname handling.
|
* 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>
|
<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>
|
</Docs>
|
||||||
</Member>
|
</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>
|
</Members>
|
||||||
</Type>
|
</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
|
#if MANLY_ENOUGH_TO_INCLUDE
|
||||||
public Cairo.Graphics CairoGraphics (out int offset_x, out int offset_y)
|
public Cairo.Graphics CairoGraphics (out int offset_x, out int offset_y)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue