Ryujinx-GtkSharp/gnome/voidObjectAffineSVPintSignal.cs
Mike Kestner 9bc8928f88 2004-04-29 Mike Kestner <mkestner@ximian.com>
* configure.in : expand the new config files.
	* */*config.in : the per-assembly config files.
	* */Makefile.am : dist, clean, and install the configs.
	* gnome/*.c* : fix some errant DllImports.

svn path=/trunk/gtk-sharp/; revision=26301
2004-04-29 15:00:24 +00:00

58 lines
1.7 KiB
C#

// Generated File. Do not modify.
// <c> 2001-2002 Mike Kestner
namespace GtkSharp {
using System;
using System.Runtime.InteropServices;
internal delegate void voidObjectAffineSVPintDelegate(IntPtr arg0, IntPtr arg1, ref Art.SVP arg2, int arg3, int key);
internal class voidObjectAffineSVPintSignal : SignalCallback {
private static voidObjectAffineSVPintDelegate _Delegate;
private static void voidObjectAffineSVPintCallback(IntPtr arg0, IntPtr arg1, ref Art.SVP arg2, int arg3, int key)
{
if (!_Instances.Contains(key))
throw new Exception("Unexpected signal key " + key);
voidObjectAffineSVPintSignal inst = (voidObjectAffineSVPintSignal) _Instances[key];
SignalArgs args = (SignalArgs) Activator.CreateInstance (inst._argstype);
args.Args = new object[3];
if (arg1 != IntPtr.Zero) {
double[] affine = new double[6];
Marshal.Copy (arg1, affine, 0, 6);
args.Args[0] = affine;
} else {
args.Args[0] = null;
}
args.Args[1] = arg2;
args.Args[2] = arg3;
object[] argv = new object[2];
argv[0] = inst._obj;
argv[1] = args;
inst._handler.DynamicInvoke(argv);
}
[DllImport("libgobject-2.0-0.dll")] static extern void g_signal_connect_data(IntPtr obj, String name, voidObjectAffineSVPintDelegate cb, int key, IntPtr p, int flags);
public voidObjectAffineSVPintSignal(GLib.Object obj, IntPtr raw, String name, MulticastDelegate eh, Type argstype) : base(obj, eh, argstype)
{
if (_Delegate == null) {
_Delegate = new voidObjectAffineSVPintDelegate(voidObjectAffineSVPintCallback);
}
g_signal_connect_data(raw, name, _Delegate, _key, new IntPtr(0), 0);
}
~voidObjectAffineSVPintSignal()
{
_Instances.Remove(_key);
if(_Instances.Count == 0) {
_Delegate = null;
}
}
}
}