/* A simple ploting program to show mouse motion tracking function in IWL and WM Hans Chen */ #include "IWInclude.h" #include "WMInclude.h" #include "IWL.h" #include "WMFunc.h" static char sMessage[30]; static char sMessage1[30]; static IW_POINT_2D gfPt[1000]; static int giNPt = 0 ; static int giZero=0, giOne=1, giTwo=2, giThree=3,giMone= -1; static int giGID = 0, giPlotX = 0, giPlotY = 0,giColor = 0; int *giObjList; quit() { unsigned long mask; mask = EnterWindowMask|LeaveWindowMask|ButtonPressMask|ButtonReleaseMask| PointerMotionMask|KeyReleaseMask; WMCancelEventHandler(IW_ALL_WINDOWS, mask); WMCancelDisplayChange(IW_ALL_WINDOWS); exit(0); } void MakePlot( ix, iy, iz, itime, nx, ny ) int ix,iy,nx,ny,iz,itime; { float scale; int i,id,im; float min, max, range; float src[2000]; int nxm1,nym1; nxm1 = nx - 1; nym1 = ny - 1; IMPosnZWT(giOne, iz, giZero, itime); IMRdPas( giOne, src, nx, giOne, giZero, nxm1, iy, iy); min = src[0]; max = src[0]; for(i=0;i< nx; i++) { if( src[i] > max ) max = src[i]; else if( src[i] < min ) min = src[i]; } range = max - min; scale = ny / 2.0 / range; id = 0; for(i = 0; i< nx; i++) { gfPt[i].x = i; gfPt[i].y = (src[i] - min) * scale; } giPlotX = IWGrAddLns2D( giOne, gfPt, nx, giOne, giOne, giThree ); IMPosnZWT(giOne, iz, giZero, itime); IMRdPas( giOne, src, giOne, ny, ix, ix, giZero, nym1); min = src[0]; max = src[0]; for(i = 0; i < ny; i++) { if( src[i] > max ) max = src[i]; else if( src[i] < min ) min = src[i]; } range = max - min; scale = ny / 2.0 / range; id = 0; for( i = 0; i=0&&xyz[1]>=0&&xyz[1]