MRESULT EXPENTRY icqFrameWindow(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { switch(msg) { case WM_DDE_INITIATEACK: return (MRESULT) icqDDEInitiateAck(hwnd, (HWND)mp1, (PDDEINIT)mp2); case WM_DDE_DATA: DBGMessage("WM_DDE_DATA"); icqDDEData(hwnd, (PDDESTRUCT) mp2); break; case WM_CLOSE: DBGMessage("WM_CLOSE"); close(hwnd); break; case WM_CREATE: icqskin_cfgWindow(hwnd,ICQFRAME,0); break; case WM_DESTROY: destroy(hwnd); break; case WM_ERASEBACKGROUND: erase(hwnd,(HPS) mp1, (PRECTL) mp2); break; case WM_SIZE: resize(hwnd,SHORT1FROMMP(mp2),SHORT2FROMMP(mp2)); broadcast(hwnd,WMICQ_AUTOSIZE,0,0); break; case WM_PAINT: paint(hwnd); break; case WM_SETICON: WinSendMsg(WinQueryWindow(hwnd,QW_PARENT),msg,mp1,mp2); break; case WM_COMMAND: action(hwnd,SHORT1FROMMP(mp1), SHORT1FROMMP(mp2)); break; case WM_PRESPARAMCHANGED: ppchanged(hwnd,LONGFROMMP(mp1)); break; case WM_SETWINDOWPARAMS: return setparm(hwnd, PVOIDFROMMP(mp1), mp2); case WMICQ_SETNAME: // strncpy( ((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->name, (const char *) mp1, 19); ((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->name = (const char *) mp1; break; case WMICQ_SETICQHANDLE: DBGTracex(mp1); ((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->icq = (HICQ) mp1; break; case WMICQ_GETICQHANDLE: return (MRESULT) ((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->icq; case WMICQ_SETBUTTONTBL: setbuttons(hwnd,(const struct icqButtonTable *) mp1, (int) mp2); break; case WMICQ_QUERYPALLETE: return (MRESULT) ((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->pal; case WMICQ_EVENT: // MP1 = type,code,user MP2 = parm event(hwnd,CHAR3FROMMP(mp1),CHAR4FROMMP(mp1),SHORT1FROMMP(mp1),(ULONG) mp2); break; case WMICQ_SELECTPAL: icqskin_loadPallete( (HPS) mp1, 0, ((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->pal); break; case 0x041E: return WinDefWindowProc(hwnd, msg, mp1, mp2); case 0x041F: return WinDefWindowProc(hwnd, msg, mp1, mp2); case WM_BEGINDRAG: return beginDrag(hwnd, (POINTS *) &mp1); case WM_ENDDRAG: return endDrag(hwnd); case WM_TIMER: timer(hwnd); break; #ifdef SKINNED_GUI case WMICQ_QUERYBGIMAGE: return (MRESULT) ((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->bg; #else case WMICQ_QUERYBGIMAGE: return (MRESULT) NO_IMAGE; #endif case WM_OWNERPOSCHANGE: DBGMessage("WM_OWNERPOSCHANGE"); return WinDefWindowProc(hwnd,msg,mp1,mp2); case WM_MOUSEMOVE: if(WinQueryCapture(HWND_DESKTOP) == hwnd); saveMouse(hwnd,SHORT1FROMMP(mp1),SHORT2FROMMP(mp1)); return WinDefWindowProc(hwnd,msg,mp1,mp2); case WMICQ_CLEAR: clearSkin( (ICQFRAME *) WinQueryWindowPtr(hwnd,0)); break; case WMICQ_LOADSKIN: loadSkin(hwnd,(const char *) mp1, (SKINFILESECTION *) mp2); break; case WMICQ_SKINCHILDS: loadSkin4Childs(hwnd,(const char *) mp1, (SKINFILESECTION *) mp2); break; case WMICQ_RESTORE: restoreWindow(hwnd,(const char *) mp1,SHORT1FROMMP(mp2),SHORT2FROMMP(mp2)); break; case WMICQ_STORE: storeWindow(hwnd,(const char *) mp1); break; case WMICQ_CONFIGURE: configure(hwnd,(int) mp1); break; case WMICQ_SETMSGCHILD: createchild(hwnd, (const MSGCHILD *) mp1, SHORT1FROMMP(mp2)); break; case WMICQ_SKINELEMENT: skinElement(hwnd,(HWND) mp1, (const char **) mp2); break; case WMICQ_DRAWCONTENTS: break; case WMICQ_AUTOSIZE: autoSize(hwnd); break; case WMICQ_SIZEBUTTONS: return (MRESULT) sizeButtonBar(hwnd,SHORT1FROMMP(mp1),SHORT2FROMMP(mp1),(const USHORT *) mp2); case WMICQ_INVALIDATE: DBGMessage("WMICQ_INVALIDATE"); WinInvalidateRect(hwnd,NULL,TRUE); break; /*---[ SysTray ]--------------------------------------------*/ case WM_BUTTON2CLICK | 0x2000: icqShowPopupMenu(((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->icq, 0, ICQMNU_MODES, 0, 0); return (MRESULT) TRUE; case WM_BUTTON1CLICK | 0x2000: openMessage(((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->icq); return (MRESULT) TRUE; case WM_TRAYEXIT: // When tray exits/crashes, it posts WM_TRAYEXIT (0xCD20) to all tray windows. icqDisableSysTray(((ICQFRAME *) WinQueryWindowPtr(hwnd,0))->icq); return (MRESULT) TRUE; /*---[ Default window processing ]--------------------------*/ default: return WinDefWindowProc(hwnd,msg,mp1,mp2); } return 0; }
//-------------------------------------------------------------- void testApp::mousePressed(int x, int y, int button){ printf("mouse %d %d, %.8f %.8f\n", x, y, x/(float)ofGetWidth(), y/(float)ofGetHeight()); setparm(x/(float)ofGetWidth(), y/(float)ofGetHeight()); }
//-------------------------------------------------------------- void testApp::mouseMoved(int x, int y){ setparm(x/(float)ofGetWidth(), y/(float)ofGetHeight()); }
//-------------------------------------------------------------- void testApp::mouseDragged(int x, int y, int button){ setparm(x/(float)ofGetWidth(), y/(float)ofGetHeight()); }
/*----------------------------------------------------------------- | initparms()/ | initializes the main variables used +------------------------------------------------------------------*/ void initparms() { double tmpval; char tmpstr[36]; int tmp, getchan; sw = getval("sw"); np = getval("np"); if ( P_getreal(CURRENT,"nf",&nf,1) < 0 ) { nf = 0.0; /* if not found assume 0 */ } if (nf < 2.0) nf = 1.0; nt = getval("nt"); sfrq = getval("sfrq"); filter = getval("filter"); /* pulse Amp filter setting */ tof = getval("tof"); bs = getval("bs"); if (!var_active("bs",CURRENT)) bs = 0.0; pw = getval("pw"); pw90 = getval("pw90"); p1 = getval("p1"); pwx = getvalnwarn("pwx"); pwxlvl = getvalnwarn("pwxlvl"); tau = getvalnwarn("tau"); satdly = getvalnwarn("satdly"); satfrq = getvalnwarn("satfrq"); satpwr = getvalnwarn("satpwr"); getstrnwarn("satmode",satmode); /* ddr */ roff=getvalnwarn("roff"); /* --- delays --- */ d1 = getval("d1"); /* delay */ d2 = getval("d2"); /* a delay: used in 2D experiments */ d3 = getvalnwarn("d3"); /* a delay: used in 3D experiments */ d4 = getvalnwarn("d4"); /* a delay: used in 4D experiments */ phase1 = (int) sign_add(getvalnwarn("phase"),0.005); phase2 = (int) sign_add(getvalnwarn("phase2"),0.005); phase3 = (int) sign_add(getvalnwarn("phase3"),0.005); rof1 = getval("rof1"); /* Time receiver is turned off before pulse */ rof2 = getval("rof2"); /* Time after pulse before receiver turned on */ alfa = getval("alfa"); /* Time after rec is turned on that acqbegins */ pad = getval("pad"); /* Pre-acquisition delay */ padactive = var_active("pad",CURRENT); hst = getval("hst"); /* HomoSpoil delay */ tpwr = getval("tpwr"); if ( P_getreal(CURRENT,"tpwrm",&tpwrf,1) < 0 ) if ( P_getreal(CURRENT,"tpwrf",&tpwrf,1) < 0 ) tpwrf = 4095.0; //getstr("rfband",rfband); /* RF band, high or low */ getstr("hs",hs); hssize = strlen(hs); /* setlockmode(); */ /* set up lockmode variable,h**o bits */ if (bgflag) { fprintf(stderr,"sw = %lf, sfrq = %10.8lf\n",sw,sfrq); fprintf(stderr,"hs='%s',%d\n",hs,hssize); } gain = getval("gain"); gainactive = var_active("gain",CURRENT); /* non arrayable */ /* InterLocks is set by go. It will have three chars. * char 0 is for lock * char 1 is for spin * char 2 is for temp */ getstr("interLocks",interLock); /* non arrayable */ spin = (int) sign_add(getval("spin"),0.005); spinactive = var_active("spin",CURRENT); /* non arrayable */ HSrotor = 0; /* high speed spinner selected */ /* spinTresh is created and set by go.c inside Vnmrbg */ if (spin >= (int) sign_add(getval("spinThresh"),0.005)) { /* Selected Solids spinner */ HSrotor = 1; } vttemp = getval("temp"); /* get vt temperature */ tempactive = var_active("temp",CURRENT); /* non arrayable */ vtwait = getval("vtwait"); /* get vt timeout setting */ vtc = getval("vtc"); /* get vt timeout setting */ if (getparm("traymax","real",GLOBAL,&tmpval,1)) { traymax=0; } else { traymax= (int) (tmpval + 0.5); } if (getparm("loc","real",GLOBAL,&tmpval,1)) psg_abort(1); loc = (int) sign_add(tmpval,0.005); if (!var_active("loc",GLOBAL) || (loc<0) ) { locActive = 0; loc = 0; tmpval = 0.0; if (setparm("loc","real",GLOBAL,&tmpval,1)) psg_abort(1); } else locActive = 1; /* if using Gilson Liquid Handler Racks then gilpar is defined * and is an array of 4 values */ if ((traymax == 96) || (traymax == (8*96))) /* test for Gilson/Hermes */ { int trayloc=1; int trayzone=1; if ( P_getreal(GLOBAL, "vrack", &tmpval, 1) >= 0 ) trayloc = (int) (tmpval + 0.5); if ( P_getreal(GLOBAL, "vzone", &tmpval, 1) >= 0 ) trayzone = (int) (tmpval + 0.5); /* rrzzllll */ loc = loc + (10000 * trayzone) + (1000000 * trayloc); if (bgflag) fprintf(stderr,"GILSON: ----- vrack: %d, vzone: %d, Encoded Loc = %d\n",trayloc,trayzone,loc); } getstr("alock",alock); getstr("wshim",wshim); getlockmode(alock,&lockmode); /* type of autolocking */ whenshim = setshimflag(wshim,&shimatanyfid); /* when to shim */ if ( ( tmp=P_getstring(CURRENT, "sampling", tmpstr, 1, 20)) >= 0) { samplingScale = 1.01; samplingAngle = 0.0; samplingTransX = 0.0; samplingTransY = 0.0; if (tmpstr[0] == 'e') { double rtmp = 0.0; sampling = SAMPLING_ELLIPTICAL; P_getreal(CURRENT, "ni", &rtmp, 1); samplingRows = (int) rtmp; rtmp = 0.0; P_getreal(CURRENT, "ni2", &rtmp, 1); samplingCols = (int) rtmp; if ((samplingRows < 2) || (samplingCols < 2)) sampling = SAMPLING_STANDARD; if (sampling == SAMPLING_ELLIPTICAL) { if ( P_getreal(CURRENT, "samplingEScale", &rtmp, 1) >= 0) samplingScale = rtmp; if ( P_getreal(CURRENT, "samplingEAngle", &rtmp, 1) >= 0) samplingAngle = rtmp; if ( P_getreal(CURRENT, "samplingETransX", &rtmp, 1) >= 0) samplingTransX = rtmp; if ( P_getreal(CURRENT, "samplingETransY", &rtmp, 1) >= 0) samplingTransY = rtmp; } } else sampling = SAMPLING_STANDARD; } else sampling = SAMPLING_STANDARD; // this looks REDUNDANT to instantiation... // but is not completely dpwrf if ( ( tmp=P_getstring(CURRENT, "dn", tmpstr, 1, 9)) >= 0) getchan = TRUE; else getchan = FALSE; /* if "dn" does not exist, don't bother with the rest of channel 2 */ getchan = (NUMch > 1) && getchan && (tmpstr[0]!='\000'); if (getchan) /* variables associated with 2nd channel */ { dfrq = getval("dfrq"); dmf = getval("dmf"); /* 1st decoupler modulation freq */ dof = getval("dof"); dres = getvalnwarn("dres"); /* prg decoupler digital resolution */ if (dres < 1.0) dres = 1.0; getstrnwarn("dseq",dseq); dpwr = getval("dpwr"); dhp = 0.0; dlp = 0.0; if ( P_getreal(CURRENT,"dpwrm",&dpwrf,1) < 0 ) if ( P_getreal(CURRENT,"dpwrf",&dpwrf,1) < 0 ) dpwrf = 4095.0; getstr("dm",dm); dmsize = strlen(dm); getstr("dmm",dmm); dmmsize = strlen(dmm); getstr("h**o",h**o); homosize = strlen(h**o); } else { dfrq = 1.0; dmf = 1000; dof = 0.0; dres = 1.0; dseq[0] = '\000'; dhp = 0.0; dlp = 0.0; dpwr = 0.0; dpwrf = 0.0; strcpy(dm,"n"); dmsize = 1; strcpy(dmm,"c"); dmmsize = 1; strcpy(h**o,"n"); homosize= 1; } if (bgflag) { if (!getchan) fprintf(stderr,"next line are default values for chan 2\n"); fprintf(stderr,"dm='%s',%d, dmm='%s',%d\n",dm,dmsize,dmm,dmmsize); fprintf(stderr,"h**o='%s',%d\n",h**o,homosize); } if ( (tmp=P_getstring(CURRENT, "dn2", tmpstr, 1, 9)) >= 0) getchan = TRUE; else getchan = FALSE; /* if "dn2" does not exist, don't bother with the rest of channel 3 */ getchan = (NUMch > 2) && getchan && (tmpstr[0]!='\000'); if (getchan) /* variables associated with 3rd channel */ { dfrq2 = getval("dfrq2"); dmf2 = getval("dmf2"); /* 2nd decoupler modulation freq */ dof2 = getval("dof2"); dres2 = getvalnwarn("dres2"); /* prg decoupler digital resolution */ if (dres2 < 1.0) dres2 = 1.0; getstrnwarn("dseq2",dseq2); dpwr2 = getval("dpwr2"); if ( P_getreal(CURRENT,"dpwrm2",&dpwrf2,1) < 0 ) if ( P_getreal(CURRENT,"dpwrf2",&dpwrf2,1) < 0 ) dpwrf2 = 4095.0; getstr("dm2",dm2); dm2size = strlen(dm2); getstr("dmm2",dmm2); dmm2size = strlen(dmm2); getstr("homo2",homo2); homo2size = strlen(homo2); } else { dfrq2 = 1.0; dmf2 = 1000; dof2 = 0.0; dres2 = 1.0; dseq2[0] = '\000'; dpwr2 = 0.0; dpwrf2 = 0.0; strcpy(dm2,"n"); dm2size = 1; strcpy(dmm2,"c"); dmm2size = 1; strcpy(homo2,"n"); homo2size= 1; } if (bgflag) { if (!getchan) fprintf(stderr,"next two lines are default values for chan 3\n"); fprintf(stderr,"dfrq2 = %10.8lf, dof2 = %10.8lf, dpwr2 = %lf\n", dfrq2,dof2,dpwr2); fprintf(stderr,"dmf2 = %10.8lf, dm2='%s',%d, dmm2='%s',%d\n", dmf2,dm2,dm2size,dmm2,dmm2size); fprintf(stderr,"homo2='%s',%d\n",homo2,homo2size); } if ( (tmp=P_getstring(CURRENT, "dn3", tmpstr, 1, 9)) >= 0) getchan = TRUE; else getchan = FALSE; /* if "dn3" does not exist, don't bother with the rest of channel 3 */ getchan = (NUMch > 3) && getchan && (tmpstr[0]!='\000'); if (getchan) /* variables associated with 3rd channel */ { dfrq3 = getval("dfrq3"); dmf3 = getval("dmf3"); /* 3nd decoupler modulation freq */ dof3 = getval("dof3"); dres3 = getvalnwarn("dres3"); /* prg decoupler digital resolution */ if (dres3 < 1.0) dres3 = 1.0; getstrnwarn("dseq3",dseq3); dpwr3 = getval("dpwr3"); if ( P_getreal(CURRENT,"dpwrm3",&dpwrf3,1) < 0 ) if ( P_getreal(CURRENT,"dpwrf3",&dpwrf3,1) < 0 ) dpwrf3 = 4095.0; getstr("dm3",dm3); dm3size = strlen(dm3); getstr("dmm3",dmm3); dmm3size = strlen(dmm3); getstr("homo3",homo3); homo3size = strlen(homo3); } else { dfrq3 = 1.0; dmf3 = 1000; dof3 = 0.0; dres3 = 1.0; dseq3[0] = '\000'; dpwr3 = 0.0; dpwrf3 = 0.0; strcpy(dm3,"n"); dm3size = 1; strcpy(dmm3,"c"); dmm3size = 1; strcpy(homo3,"n"); homo3size= 1; } if (bgflag) { if (!getchan) fprintf(stderr,"next two lines are default values for chan 3\n"); fprintf(stderr,"dfrq3 = %10.8lf, dof3 = %10.8lf, dpwr3 = %lf\n", dfrq3,dof3,dpwr3); fprintf(stderr,"dmf3 = %10.8lf, dm3='%s',%d, dmm3='%s',%d\n", dmf3,dm3,dm3size,dmm3,dmm3size); fprintf(stderr,"homo3='%s',%d\n",homo3,homo3size); } if ( (tmp=P_getstring(CURRENT, "dn4", tmpstr, 1, 9)) >= 0) getchan = TRUE; else getchan = FALSE; /* if "dn4" does not exist, don't bother with the rest of channel 4 */ getchan = (NUMch > 4) && getchan && (tmpstr[0]!='\000'); if (getchan) /* variables associated with 4th channel */ { dfrq4 = getval("dfrq4"); dmf4 = getval("dmf4"); /* 4nd decoupler modulation freq */ dof4 = getval("dof4"); dres4 = getvalnwarn("dres4"); /* prg decoupler digital resolution */ if (dres4 < 1.0) dres4 = 1.0; getstrnwarn("dseq4",dseq4); dpwr4 = getval("dpwr4"); if ( P_getreal(CURRENT,"dpwrm4",&dpwrf4,1) < 0 ) if ( P_getreal(CURRENT,"dpwrf4",&dpwrf4,1) < 0 ) dpwrf4 = 4095.0; getstr("dm4",dm4); dm4size = strlen(dm4); getstr("dmm4",dmm4); dmm4size = strlen(dmm4); getstr("homo4",homo4); homo4size = strlen(homo4); } else { dfrq4 = 1.0; dmf4 = 1000; dof4 = 0.0; dres4 = 1.0; dseq4[0] = '\000'; dpwr4 = 0.0; dpwrf4 = 0.0; strcpy(dm4,"n"); dm4size = 1; strcpy(dmm4,"c"); dmm4size = 1; strcpy(homo4,"n"); homo4size= 1; } if (bgflag) { if (!getchan) fprintf(stderr,"next two lines are default values for chan 4\n"); fprintf(stderr,"dfrq4 = %10.8lf, dof4 = %10.8lf, dpwr4 = %lf\n", dfrq4,dof4,dpwr4); fprintf(stderr,"dmf4 = %10.8lf, dm4='%s',%d, dmm4='%s',%d\n", dmf4,dm4,dm4size,dmm4,dmm4size); fprintf(stderr,"homo4='%s',%d\n",homo4,homo4size); } // end of REDUNDANT ??? }