void SynopsisToolBar::ContinueCalcPage() { if (calc_in_progress && calc_paused) { calc_paused = false; SetHardTimer("CalcPages", calc_timer, 0); } }
void SelectionTimer() { repaint_all(-1); ToolBar.OutputPage(BitmapFromScreen(0, 0, ScreenWidth(), ScreenHeight()-PanelHeight()), 1, updMarkerx, updMarkery, updMarkerw, updMarkerh); if (++usersleep < 50) SetHardTimer("SelectionTimer", SelectionTimer, 25); else MarkerHandler(EVT_POINTERUP, lastx, lasty); }
void zoom_out() { char buf[16]; if (reflow_mode) { rscale = (rscale > 200) ? rscale - 100 : rscale - 50; if (rscale < 150) rscale = 500; out_page(1); return; } int ssc = scale; update_value(&scale, -1, SC_DIRECT); if (ssc >= 200) { offx = (offx * scale) / ssc; offy = (offy * scale) / ssc; } sprintf(buf, "%i%%", scale); draw_jump_info(buf); SetHardTimer("ZOOM", zoom_timer, 1000); }
static void search_timer() { FixedPoint xMin = 0, yMin = 0, xMax = 9999999, yMax = 9999999; unsigned int ucs4[32]; unsigned int ucs4_len; int i, pw, ph, marginx, marginy; double sres; if (stext == NULL || ! search_mode) return; //fprintf(stderr, "%i\n", spage); if (spage < 1 || spage > npages) { HideHourglass(); Message(ICON_INFORMATION, GetLangText("@Search"), GetLangText("@No_more_matches"), 2000); nresults = 0; return; } getpagesize(spage, &pw, &ph, &sres, &marginx, &marginy); /* void displayPage(OutputDev *out, int page, double hDPI, double vDPI, int rotate, GBool useMediaBox, GBool crop, GBool printing, GBool (*abortCheckCbk)(void *data) = NULL, void *abortCheckCbkData = NULL, GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = NULL, void *annotDisplayDecideCbkData = NULL); */ searchout->found = 0; doc->displayPage(searchout, spage, sres, sres, 0, false, false, false); if (! searchout->found) { spage += sdir; SetHardTimer("SEARCH", search_timer, 1); return; } doc->displayPage(textout, spage, sres, sres, 0, false, true, false); TextPage* textPage = textout->takeText(); xMin = yMin = 0; ucs4_len = utf2ucs4(stext, (unsigned int*)ucs4, 32); nresults = 0; while (textPage->findText(ucs4, ucs4_len, gFalse, gTrue, gTrue, gFalse, gFalse, gFalse, &xMin, &yMin, &xMax, &yMax)) { i = nresults++; results[i].x = (int)xMin - 2; results[i].y = (int)yMin - 2; results[i].w = (int)(xMax - xMin) + 4; results[i].h = (int)(yMax - yMin) + 4; if (i == MAXRESULTS - 1) break; } if (nresults > 0) { cpage = spage; out_page(1); } else { spage += sdir; SetHardTimer("SEARCH", search_timer, 1); } delete textPage; }
void InterfaceEventsTimer(){ InterfaceEventsTimerU(); SetHardTimer("INTERFACE_EVENTS_TIMER", InterfaceEventsTimer, 500); }
int MarkerHandler(int type, int par1, int par2) { if (type == EVT_POINTERDOWN) { selectingMarker = true; restore_current_position(); mainApplication->refreshWindow(); bookview->selectionModel().clear(); bookview->selectionModel().activate(par1 - imgposx, par2 - imgposy); SetHardTimer("SelectionTimer", SelectionTimer, 250); selMarkery1 = selMarkery2 = lasty = par2; lastx = par1; usersleep = 0; } else if (type == EVT_POINTERMOVE) { if (++trailMarker > 8) { if (selectingMarker) { lastx = par1; lasty = par2; bookview->selectionModel().extendTo(par1 - imgposx, par2 - imgposy); selMarkery2 = par2; usersleep = 0; } trailMarker = 0; } } else if (type == EVT_POINTERUP) { if (!selectingMarker) return 0; selectingMarker = false; ClearTimer(SelectionTimer); restore_current_position(); mainApplication->refreshWindow(); bookview->selectionModel().extendTo(par1 - imgposx, par2 - imgposy); long long spos, epos; bool clickOnly, emptyText; GetSelectionInfo(&spos, &epos, &emptyText, &clickOnly); if ((clickOnly && SynTOC.GetMarkerByPos(spos) != NULL) || emptyText) { OpenMarkerMenu(SynTOC.GetMarkerByPos(spos)); } else { MergeMarkers(spos, epos); bookview->selectionModel().clear(); repaint_all(-2); ToolBar.OutputPage(BitmapFromScreen(0, 0, ScreenWidth(), ScreenHeight()-PanelHeight()), 2, updMarkerx, updMarkery, updMarkerw, updMarkerh); } } else if (type == EVT_POINTERHOLD || type == EVT_POINTERLONG) { restore_current_position(); mainApplication->refreshWindow(); bookview->selectionModel().extendTo(par1 - imgposx, par2 - imgposy); long long spos, epos; bool clickOnly, emptyText; GetSelectionInfo(&spos, &epos, &emptyText, &clickOnly); if (clickOnly || emptyText) { OpenMarkerMenu(SynTOC.GetMarkerByPos(spos)); } } return 0; }