From: Tim R. <ti...@us...> - 2004-07-31 16:29:54
|
Update of /cvsroot/csdopenglnet/csdOpenGL/samples In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16560 Modified Files: gtkAdvanced.cs Log Message: first try Index: gtkAdvanced.cs =================================================================== RCS file: /cvsroot/csdopenglnet/csdOpenGL/samples/gtkAdvanced.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** gtkAdvanced.cs 31 Jul 2004 16:01:01 -0000 1.5 --- gtkAdvanced.cs 31 Jul 2004 16:29:45 -0000 1.6 *************** *** 25,28 **** --- 25,30 ---- protected bool propAnimate; protected bool stop = true; + protected double mouseX = 0.0; + protected double mouseY = 0.0; public GtkAdvanced() { *************** *** 41,52 **** Debug.WriteLine( "Init GtkGLArea" ); glarea = new GtkGLArea(); ! glarea.Events = Gdk.EventMask.PointerMotionMask; ! glarea.Realized += new EventHandler (OnRealized); ! glarea.ConfigureEvent += new ConfigureEventHandler (OnConfigure); ! glarea.ExposeEvent += new ExposeEventHandler (OnExpose); ! glarea.MapEvent += new MapEventHandler (OnMap); ! glarea.UnmapEvent += new UnmapEventHandler (OnUnmap); ! glarea.MotionNotifyEvent += new MotionNotifyEventHandler (OnMotionNotify) ; ! Debug.WriteLine( "Init rotation entry fields" ); rotX_entry = new Entry(); rotX_entry.ActivatesDefault = true; --- 43,56 ---- Debug.WriteLine( "Init GtkGLArea" ); glarea = new GtkGLArea(); ! glarea.Events = Gdk.EventMask.PointerMotionMask | Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask; ! glarea.Realized += new EventHandler( OnRealized ); ! glarea.ConfigureEvent += new ConfigureEventHandler( OnConfigure ); ! glarea.ExposeEvent += new ExposeEventHandler( OnExpose ); ! glarea.MapEvent += new MapEventHandler( OnMap ); ! glarea.UnmapEvent += new UnmapEventHandler( OnUnmap ); ! glarea.MotionNotifyEvent += new MotionNotifyEventHandler( OnMotionNotify ); ! glarea.ButtonReleaseEvent += new ButtonReleaseEventHandler( OnButtonRelease ); ! glarea.ButtonPressEvent += new ButtonPressEventHandler( OnButtonPress ); ! Debug.WriteLine( "Init rotation entry fields" ); rotX_entry = new Entry(); rotX_entry.ActivatesDefault = true; *************** *** 198,206 **** } ! protected void OnMotionNotify( object obj, MotionNotifyEventArgs args){ ! Console.WriteLine( args.Event.X ); } --- 202,225 ---- } ! protected void OnMotionNotify( object obj, MotionNotifyEventArgs args) { ! if (args.Event.State==Gdk.ModifierType.Button1Mask) { ! if ( mouseX>=0.0 ) { ! rotY += ((float)(args.Event.X-mouseX)) * speedY; ! } else mouseX = args.Event.X; ! if ( mouseY>=0.0 ) { ! rotX += ((float)(args.Event.Y-mouseY)) * speedX; ! } else mouseY = args.Event.Y; ! } ! } + protected void OnButtonPress( object obj, ButtonPressEventArgs args ) { + mouseX = args.Event.X; + mouseY = args.Event.Y; + } + protected void OnButtonRelease( object obj, ButtonReleaseEventArgs args ) { + mouseX = -1.0; + mouseY = -1.0; } *************** *** 270,273 **** --- 289,293 ---- while (propRotX>=360.0f) propRotX -= 360.0f; rotX_entry.Text = propRotX.ToString(); + if ( (glarea!=null) && (!stop) ) glarea.QueueDraw (); } } *************** *** 280,283 **** --- 300,304 ---- while (propRotY>=360.0f) propRotY -= 360.0f; rotY_entry.Text = propRotY.ToString(); + if ( (glarea!=null) && (!stop) ) glarea.QueueDraw (); } } *************** *** 290,293 **** --- 311,315 ---- while (propRotZ>=360.0f) propRotZ -= 360.0f; rotZ_entry.Text = propRotZ.ToString(); + if ( (glarea!=null) && (!stop) ) glarea.QueueDraw (); } } |