void CCD_Q_show() { MAIN_ConvertData(ADV, (byte*)g_aucImageTable); //将数据转换为可以在OLED屏上显示的格式 tiaoyan(Ledge[0],Redge[0],L_edgeFlag[0],R_edgeFlag[0],(byte*)g_aucImageTable); //寻找跳沿 middleline(midline,(byte*)g_aucImageTable); //寻中线 thresholdline(threshold,(byte*)g_aucImageTable); LED_PrintImage((byte*)g_aucImageTable,64, 128); //在OLED上显示图像波形图 parameter_show(); }
// Subclassed handle() for keyboard searching int EDE_Browser::handle(int e) { if (e==FL_FOCUS) { fprintf(stderr, "EB::focus\n"); } if (e==FL_KEYBOARD && Fl::event_state()==0) { // when user presses a key, jump to row starting with that character int k=Fl::event_key(); if ((k>='a'&&k<='z') || (k>='A'&&k<='Z') || (k>='0'&&k<='9')) { if (k>='A'&&k<='Z') k+=('a'-'A'); int ku = k - ('a'-'A'); //upper case int p=lineno(selection()); for (int i=1; i<=size(); i++) { int mi = (i+p-1)%size() + 1; // search from currently selected one if (text(mi)[0]==k || text(mi)[0]==ku) { // select(line,0) just moves focus to line without selecting // if line was already selected, it won't be anymore select(mi,selected(mi)); middleline(mi); //break; return 1; // menu will get triggered on key press :( } } } // Attempt to fix erratic behavior on enter key // Fl_Browser seems to do the following on enter key: // - when item is both selected and focused, callback isn't called at all (even FL_WHEN_ENTER_KEY_ALWAYS) // - when no item is selected, callback is called 2 times on focused item // - when one item is selected and other is focused, callback is first called on selected then on // focused item, then the focused becomes selected // This partial fix at least ensures that callback is always called. Callback function should // deal with being called many times repeatedly. if ((when() & FL_WHEN_ENTER_KEY_ALWAYS) && k == FL_Enter) { // if (changed()!=0) { //fprintf(stderr,"do_callback()\n"); do_callback(); // } } if (k == FL_Tab) { fprintf (stderr, "TAB\n"); // Fl_Icon_Browser::handle(FL_UNFOCUS); return 1; } } return Fl_Icon_Browser::handle(e); }