⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xpdfviewer.cc

📁 将pdf文档转换为高质量的html文档
💻 CC
📖 第 1 页 / 共 5 页
字号:
    XtManageChild(panedWin);    // scrolled window for outline container    n = 0;    XtSetArg(args[n], XmNpositionIndex, 0); ++n;    XtSetArg(args[n], XmNallowResize, True); ++n;    XtSetArg(args[n], XmNpaneMinimum, 1); ++n;    XtSetArg(args[n], XmNpaneMaximum, 10000); ++n;#if !(defined(__sgi) && (XmVERSION <= 1))    XtSetArg(args[n], XmNwidth, 1); ++n;#endif    XtSetArg(args[n], XmNscrollingPolicy, XmAUTOMATIC); ++n;    outlineScroll = XmCreateScrolledWindow(panedWin, "outlineScroll", args, n);    XtManageChild(outlineScroll);    XtVaGetValues(outlineScroll, XmNclipWindow, &clipWin, NULL);    XtVaSetValues(clipWin, XmNbackground, app->getPaperPixel(), NULL);    // outline tree    n = 0;    XtSetArg(args[n], XmNbackground, app->getPaperPixel()); ++n;    outlineTree = XPDFCreateTree(outlineScroll, "outlineTree", args, n);    XtManageChild(outlineTree);    XtAddCallback(outlineTree, XPDFNselectionCallback, &outlineSelectCbk,		  (XtPointer)this);    // core    core = new XPDFCore(win, panedWin,			app->getPaperRGB(), app->getPaperPixel(),			app->getMattePixel(),			app->getFullScreen(), app->getReverseVideo(),			app->getInstallCmap(), app->getRGBCubeSize());    core->setUpdateCbk(&updateCbk, this);    core->setActionCbk(&actionCbk, this);    core->setKeyPressCbk(&keyPressCbk, this);    core->setMouseCbk(&mouseCbk, this);    n = 0;    XtSetArg(args[n], XmNpositionIndex, 1); ++n;    XtSetArg(args[n], XmNallowResize, True); ++n;    XtSetArg(args[n], XmNpaneMinimum, 1); ++n;    XtSetArg(args[n], XmNpaneMaximum, 10000); ++n;    XtSetValues(core->getWidget(), args, n);  }#endif  // set the zoom menu to match the initial zoom setting  setZoomVal(core->getZoom());  // set traversal order  XtVaSetValues(core->getDrawAreaWidget(),		XmNnavigationType, XmEXCLUSIVE_TAB_GROUP, NULL);  XtVaSetValues(backBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(prevTenPageBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(prevPageBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(nextPageBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(nextTenPageBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(forwardBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(pageNumText, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(zoomWidget, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(findBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(printBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(aboutBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  XtVaSetValues(quitBtn, XmNnavigationType, XmEXCLUSIVE_TAB_GROUP,		NULL);  // popup menu  n = 0;#if XmVersion < 1002  // older versions of Motif need this, newer ones choke on it,  // sometimes not displaying the menu at all, maybe depending on the  // state of the NumLock key (taken from DDD)  XtSetArg(args[n], XmNmenuPost, "<Btn3Down>"); ++n;#endif  popupMenu = XmCreatePopupMenu(core->getDrawAreaWidget(), "popupMenu",				args, n);  n = 0;  s = XmStringCreateLocalized("Open...");  XtSetArg(args[n], XmNlabelString, s); ++n;  s2 = XmStringCreateLocalized("O");  XtSetArg(args[n], XmNacceleratorText, s2); ++n;  btn = XmCreatePushButton(popupMenu, "open", args, n);  XmStringFree(s);  XmStringFree(s2);  XtManageChild(btn);  XtAddCallback(btn, XmNactivateCallback,		&openCbk, (XtPointer)this);  n = 0;  s = XmStringCreateLocalized("Open in new window...");  XtSetArg(args[n], XmNlabelString, s); ++n;  btn = XmCreatePushButton(popupMenu, "openInNewWindow", args, n);  XmStringFree(s);  XtManageChild(btn);  XtAddCallback(btn, XmNactivateCallback,		&openInNewWindowCbk, (XtPointer)this);  n = 0;  s = XmStringCreateLocalized("Reload");  XtSetArg(args[n], XmNlabelString, s); ++n;  s2 = XmStringCreateLocalized("R");  XtSetArg(args[n], XmNacceleratorText, s2); ++n;  btn = XmCreatePushButton(popupMenu, "reload", args, n);  XmStringFree(s);  XmStringFree(s2);  XtManageChild(btn);  XtAddCallback(btn, XmNactivateCallback,		&reloadCbk, (XtPointer)this);  n = 0;  s = XmStringCreateLocalized("Save as...");  XtSetArg(args[n], XmNlabelString, s); ++n;  btn = XmCreatePushButton(popupMenu, "saveAs", args, n);  XmStringFree(s);  XtManageChild(btn);  XtAddCallback(btn, XmNactivateCallback,		&saveAsCbk, (XtPointer)this);  n = 0;  btn = XmCreateSeparator(popupMenu, "sep1", args, n);  XtManageChild(btn);  n = 0;  s = XmStringCreateLocalized("Continuous view");  XtSetArg(args[n], XmNlabelString, s); ++n;  XtSetArg(args[n], XmNindicatorType, XmN_OF_MANY); ++n;  XtSetArg(args[n], XmNvisibleWhenOff, True); ++n;  XtSetArg(args[n], XmNset, core->getContinuousMode() ? XmSET : XmUNSET); ++n;  btn = XmCreateToggleButton(popupMenu, "continuousMode", args, n);  XmStringFree(s);  XtManageChild(btn);  XtAddCallback(btn, XmNvalueChangedCallback,		&continuousModeToggleCbk, (XtPointer)this);  n = 0;  s = XmStringCreateLocalized("Rotate counterclockwise");  XtSetArg(args[n], XmNlabelString, s); ++n;  btn = XmCreatePushButton(popupMenu, "rotateCCW", args, n);  XmStringFree(s);  XtManageChild(btn);  XtAddCallback(btn, XmNactivateCallback,		&rotateCCWCbk, (XtPointer)this);  n = 0;  s = XmStringCreateLocalized("Rotate clockwise");  XtSetArg(args[n], XmNlabelString, s); ++n;  btn = XmCreatePushButton(popupMenu, "rotateCW", args, n);  XmStringFree(s);  XtManageChild(btn);  XtAddCallback(btn, XmNactivateCallback,		&rotateCWCbk, (XtPointer)this);  n = 0;  btn = XmCreateSeparator(popupMenu, "sep2", args, n);  XtManageChild(btn);  n = 0;  s = XmStringCreateLocalized("Close");  XtSetArg(args[n], XmNlabelString, s); ++n;  s2 = XmStringCreateLocalized("Ctrl+W");  XtSetArg(args[n], XmNacceleratorText, s2); ++n;  btn = XmCreatePushButton(popupMenu, "close", args, n);  XmStringFree(s);  XmStringFree(s2);  XtManageChild(btn);  XtAddCallback(btn, XmNactivateCallback,		&closeCbk, (XtPointer)this);  n = 0;  s = XmStringCreateLocalized("Quit");  XtSetArg(args[n], XmNlabelString, s); ++n;  s2 = XmStringCreateLocalized("Q");  XtSetArg(args[n], XmNacceleratorText, s2); ++n;  btn = XmCreatePushButton(popupMenu, "quit", args, n);  XmStringFree(s);  XmStringFree(s2);  XtManageChild(btn);  XtAddCallback(btn, XmNactivateCallback,		&quitCbk, (XtPointer)this);  // this is magic (taken from DDD) - weird things happen if this  // call isn't made  XtUngrabButton(core->getDrawAreaWidget(), AnyButton, AnyModifier);  XmStringFree(emptyString);}void XPDFViewer::addToolTip(Widget widget, char *text) {#ifdef XmNtoolTipString  XmString s;  Cardinal n, i;  WidgetList children;  if (XtIsComposite(widget)) {    XtVaGetValues(widget, XmNnumChildren, &n, XmNchildren, &children, NULL);    for (i = 0; i < n; ++i) {      addToolTip(children[i], text);    }  } else {    s = XmStringCreateLocalized(text);    XtVaSetValues(widget, XmNtoolTipString, s, NULL);    XmStringFree(s);  }#endif}void XPDFViewer::mapWindow() {#ifdef HAVE_X11_XPM_H  Pixmap iconPixmap;#endif  int depth;  Pixel fg, bg, arm;  // show the window  XtPopup(win, XtGrabNone);  core->takeFocus();  // create the icon#ifdef HAVE_X11_XPM_H  if (XpmCreatePixmapFromData(display, XtWindow(win), xpdfIcon,			      &iconPixmap, NULL, NULL) == XpmSuccess) {    XtVaSetValues(win, XmNiconPixmap, iconPixmap, NULL);  }#endif  // set button bitmaps (must be done after the window is mapped)  XtVaGetValues(backBtn, XmNdepth, &depth,		XmNforeground, &fg, XmNbackground, &bg,		XmNarmColor, &arm, NULL);  XtVaSetValues(backBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)backArrow_bits,					    backArrow_width,					    backArrow_height,					    fg, bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)backArrow_bits,					    backArrow_width,					    backArrow_height,					    fg, arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)backArrowDis_bits,					    backArrowDis_width,					    backArrowDis_height,					    fg, bg, depth),		NULL);  XtVaSetValues(prevTenPageBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblLeftArrow_bits,					    dblLeftArrow_width,					    dblLeftArrow_height,					    fg, bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblLeftArrow_bits,					    dblLeftArrow_width,					    dblLeftArrow_height,					    fg, arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblLeftArrowDis_bits,					    dblLeftArrowDis_width,					    dblLeftArrowDis_height,					    fg, bg, depth),		NULL);  XtVaSetValues(prevPageBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)leftArrow_bits,					    leftArrow_width,					    leftArrow_height,					    fg, bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)leftArrow_bits,					    leftArrow_width,					    leftArrow_height,					    fg, arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)leftArrowDis_bits,					    leftArrowDis_width,					    leftArrowDis_height,					    fg, bg, depth),		NULL);  XtVaSetValues(nextPageBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)rightArrow_bits,					    rightArrow_width,					    rightArrow_height,					    fg, bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)rightArrow_bits,					    rightArrow_width,					    rightArrow_height,					    fg, arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)rightArrowDis_bits,					    rightArrowDis_width,					    rightArrowDis_height,					    fg, bg, depth),		NULL);  XtVaSetValues(nextTenPageBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblRightArrow_bits,					    dblRightArrow_width,					    dblRightArrow_height,					    fg, bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblRightArrow_bits,					    dblRightArrow_width,					    dblRightArrow_height,					    fg, arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblRightArrowDis_bits,					    dblRightArrowDis_width,					    dblRightArrowDis_height,					    fg, bg, depth),		NULL);  XtVaSetValues(forwardBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)forwardArrow_bits,					    forwardArrow_width,					    forwardArrow_height,					    fg, bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)forwardArrow_bits,					    forwardArrow_width,					    forwardArrow_height,					    fg, arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)forwardArrowDis_bits,					    forwardArrowDis_width,					    forwardArrowDis_height,					    fg, bg, depth),		NULL);  XtVaSetValues(findBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)find_bits,					    find_width,					    find_height,					    fg, bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)find_bits,					    find_width,					    find_height,					    fg, arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)findDis_bits,					    findDis_width,					    findDis_height,					    fg, bg, depth),		NULL);  XtVaSetValues(printBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)print_bits,					    print_width,					    print_height,					    fg, bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)print_bits,					    print_width,					    print_height,					    fg, arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)printDis_bits,					    printDis_width,					    printDis_height,					    fg, bg, depth),		NULL);  XtVaSetValues(aboutBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)about_bits,					    about_width,					    about_height,					    fg, bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)about_bits,					    about_width,					    about_height,					    fg, arm, depth),		NULL);}void XPDFViewer::closeWindow() {  XtPopdown(win);  XtDestroyWidget(win);}int XPDFViewer::getZoomIdx() {#if USE_COMBO_BOX  int z;  XtVaGetValues(zoomComboBox, XmNselectedPosition, &z, NULL);  return z - 1;#else  Widget w;  int i;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -