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

📄 xpdfviewer.cc

📁 source code: Covert TXT to PDF
💻 CC
📖 第 1 页 / 共 5 页
字号:
    // core    core = new XPDFCore(win, panedWin, app->getPaperColor(),			app->getFullScreen(), app->getReverseVideo(),			app->getInstallCmap(), app->getRGBCubeSize());    core->setUpdateCbk(&updateCbk, this);    core->setActionCbk(&actionCbk, this);    core->setKeyPressCbk(&keyPressCbk, this);    core->setMouseCbk(&mouseCbk, this);    core->setReqPasswordCbk(&reqPasswordCbk, 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  XtVaSetValues(zoomMenu, XmNmenuHistory,		getZoomMenuBtn(core->getZoom()), NULL);  // 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(zoomMenu, 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;  XtSetArg(args[n], XmNmenuPost, "<Btn3Down>"); ++n;  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("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);  XmStringFree(emptyString);}void XPDFViewer::mapWindow() {#ifdef HAVE_X11_XPM_H  Pixmap iconPixmap;#endif  int depth;  Pixel 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,		XmNbackground, &bg, XmNarmColor, &arm, NULL);  XtVaSetValues(backBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)backArrow_bits,					    backArrow_width,					    backArrow_height,					    BlackPixel(display, screenNum),					    bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)backArrow_bits,					    backArrow_width,					    backArrow_height,					    BlackPixel(display, screenNum),					    arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)backArrowDis_bits,					    backArrowDis_width,					    backArrowDis_height,					    BlackPixel(display, screenNum),					    bg, depth),		NULL);  XtVaSetValues(prevTenPageBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblLeftArrow_bits,					    dblLeftArrow_width,					    dblLeftArrow_height,					    BlackPixel(display, screenNum),					    bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblLeftArrow_bits,					    dblLeftArrow_width,					    dblLeftArrow_height,					    BlackPixel(display, screenNum),					    arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblLeftArrowDis_bits,					    dblLeftArrowDis_width,					    dblLeftArrowDis_height,					    BlackPixel(display, screenNum),					    bg, depth),		NULL);  XtVaSetValues(prevPageBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)leftArrow_bits,					    leftArrow_width,					    leftArrow_height,					    BlackPixel(display, screenNum),					    bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)leftArrow_bits,					    leftArrow_width,					    leftArrow_height,					    BlackPixel(display, screenNum),					    arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)leftArrowDis_bits,					    leftArrowDis_width,					    leftArrowDis_height,					    BlackPixel(display, screenNum),					    bg, depth),		NULL);  XtVaSetValues(nextPageBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)rightArrow_bits,					    rightArrow_width,					    rightArrow_height,					    BlackPixel(display, screenNum),					    bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)rightArrow_bits,					    rightArrow_width,					    rightArrow_height,					    BlackPixel(display, screenNum),					    arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)rightArrowDis_bits,					    rightArrowDis_width,					    rightArrowDis_height,					    BlackPixel(display, screenNum),					    bg, depth),		NULL);  XtVaSetValues(nextTenPageBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblRightArrow_bits,					    dblRightArrow_width,					    dblRightArrow_height,					    BlackPixel(display, screenNum),					    bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblRightArrow_bits,					    dblRightArrow_width,					    dblRightArrow_height,					    BlackPixel(display, screenNum),					    arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)dblRightArrowDis_bits,					    dblRightArrowDis_width,					    dblRightArrowDis_height,					    BlackPixel(display, screenNum),					    bg, depth),		NULL);  XtVaSetValues(forwardBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)forwardArrow_bits,					    forwardArrow_width,					    forwardArrow_height,					    BlackPixel(display, screenNum),					    bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)forwardArrow_bits,					    forwardArrow_width,					    forwardArrow_height,					    BlackPixel(display, screenNum),					    arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)forwardArrowDis_bits,					    forwardArrowDis_width,					    forwardArrowDis_height,					    BlackPixel(display, screenNum),					    bg, depth),		NULL);  XtVaSetValues(findBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)find_bits,					    find_width,					    find_height,					    BlackPixel(display, screenNum),					    bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)find_bits,					    find_width,					    find_height,					    BlackPixel(display, screenNum),					    arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)findDis_bits,					    findDis_width,					    findDis_height,					    BlackPixel(display, screenNum),					    bg, depth),		NULL);  XtVaSetValues(printBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)print_bits,					    print_width,					    print_height,					    BlackPixel(display, screenNum),					    bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)print_bits,					    print_width,					    print_height,					    BlackPixel(display, screenNum),					    arm, depth),		XmNlabelInsensitivePixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)printDis_bits,					    printDis_width,					    printDis_height,					    BlackPixel(display, screenNum),					    bg, depth),		NULL);  XtVaSetValues(aboutBtn, XmNlabelType, XmPIXMAP,		XmNlabelPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)about_bits,					    about_width,					    about_height,					    BlackPixel(display, screenNum),					    bg, depth),		XmNarmPixmap,		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),					    (char *)about_bits,					    about_width,					    about_height,					    BlackPixel(display, screenNum),					    arm, depth),		NULL);}void XPDFViewer::closeWindow() {  XtPopdown(win);  XtDestroyWidget(win);}Widget XPDFViewer::getZoomMenuBtn(int z) {  if (z >= minZoom && z <= maxZoom) {    return zoomMenuBtns[z - minZoom];  }  if (z == zoomPage) {    return zoomMenuBtns[maxZoom - minZoom + 1];  }  if (z == zoomWidth) {    return zoomMenuBtns[maxZoom - minZoom + 2];  }  return zoomMenuBtns[0];}void XPDFViewer::prevPageCbk(Widget widget, XtPointer ptr,			     XtPointer callData) {  XPDFViewer *viewer = (XPDFViewer *)ptr;  viewer->core->gotoPrevPage(1, gTrue, gFalse);  viewer->core->takeFocus();}void XPDFViewer::prevTenPageCbk(Widget widget, XtPointer ptr,				XtPointer callData) {  XPDFViewer *viewer = (XPDFViewer *)ptr;  viewer->core->gotoPrevPage(10, gTrue, gFalse);  viewer->core->takeFocus();}void XPDFViewer::nextPageCbk(Widget widget, XtPointer ptr,			     XtPointer callData) {  XPDFViewer *viewer = (XPDFViewer *)ptr;  viewer->core->gotoNextPage(1, gTrue);  viewer->core->takeFocus();}

⌨️ 快捷键说明

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