int ManipulateReadingCallback(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { channelPtr chan; double reading, min_x, max_x, min_y, max_y; int handle, index, scatter, mode, i; if (event == EVENT_VAL_CHANGED) { chan = callbackData; GetGraphCursorIndex (chanview.p1, CHANVIEW_GRAPH, 1, &handle, &index); GetCtrlVal (panel, control, &reading); GetCtrlVal (panel, MANIP_INDEX, &index); chan->readings[index] = reading; GetCtrlVal (chanview.p1, CHANVIEW_SCATTER, &scatter); channel_UpdateViewGraph(chan, scatter); GetAxisRange (chanview.p1, CHANVIEW_GRAPH, &mode, &min_x, &max_x, &mode, &min_y, &max_y); MaxMin1D (chan->readings + (int)min_x, (int)(max_x - min_x + 1), &max_y, &i, &min_y, &i); SetAxisRange (chanview.p1, CHANVIEW_GRAPH, VAL_NO_CHANGE, 0.0, 1.0, VAL_MANUAL, min_y, max_y); SetGraphCursor (chanview.p1, CHANVIEW_GRAPH, 1, index, reading); } return 0; }
////////////////////////////////////////////////////////////////////////// // CAxis CAxis::CAxis(COLORREF color,int style, int width,float minValue,float maxValue): IsShow(TRUE), CoorTextBoxWidth(40), CoorTextBoxHeight(20) { AxisColor = color; AxisStyle = style; AxisWidth = width; SetAxisRange(minValue,maxValue); }