Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > media > contrib > by-pkgid > df634f7f22d35db1c99644e5db0b11d9 > files > 1290

gtk-sharp-doc-0.11-0.20030831.3mdk.i586.rpm

// Size.cs - struct marshalling test 
//
// Author: Rachel Hestilow <hestilow@ximian.com> 
//
// (c) 2002 Rachel Hestilow

namespace GtkSamples {

	using Gtk;
	using Gdk;
	using GtkSharp;
	using System;

	public class SizeTest {

		public static int Main (string[] args)
		{
			Application.Init ();
			Gtk.Window win = new Gtk.Window ("Gtk# Hello World");
			win.DeleteEvent += new DeleteEventHandler (Window_Delete);
			win.SizeAllocated += new SizeAllocatedHandler (Size_Allocated);
			win.ShowAll ();
			Application.Run ();
			return 0;
		}

		static void Window_Delete (object obj, DeleteEventArgs args)
		{
			SignalArgs sa = (SignalArgs) args;
			Application.Quit ();
			sa.RetVal = true;
		}

		static void Size_Allocated (object obj, SizeAllocatedArgs args)
		{
			Gdk.Rectangle rect = args.Allocation;
			if (rect == Gdk.Rectangle.Zero)
				Console.WriteLine ("ERROR: Allocation is null!");
			Console.WriteLine ("Size: ({0}, {1})", rect.width, rect.height);
		}
	}
}