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 ();
}
}
|