xpixmapoutputdev.cc
来自「source code: Covert TXT to PDF」· CC 代码 · 共 85 行
CC
85 行
//========================================================================//// XPixmapOutputDev.cc//// Copyright 2002 Glyph & Cog, LLC////========================================================================#include <aconf.h>#ifdef USE_GCC_PRAGMAS#pragma implementation#endif#include "Object.h"#include "GfxState.h"#include "XPixmapOutputDev.h"//------------------------------------------------------------------------#define xoutRound(x) ((int)(x + 0.5))//------------------------------------------------------------------------XPixmapOutputDev::XPixmapOutputDev(Display *displayA, int screenNumA, Visual *visualA, Colormap colormapA, GBool reverseVideoA, Gulong paperColorA, GBool installCmapA, int rgbCubeSizeA, GBool incrementalUpdateA, void (*redrawCbkA)(void *data), void *redrawCbkDataA): XOutputDev(displayA, screenNumA, visualA, colormapA, reverseVideoA, paperColorA, installCmapA, rgbCubeSizeA){ incrementalUpdate = incrementalUpdateA; redrawCbk = redrawCbkA; redrawCbkData = redrawCbkDataA;}XPixmapOutputDev::~XPixmapOutputDev() { if (getPixmapWidth() > 0) { XFreePixmap(getDisplay(), getPixmap()); }}void XPixmapOutputDev::clear() { startDoc(NULL); startPage(0, NULL);}void XPixmapOutputDev::startPage(int pageNum, GfxState *state) { int oldPixmapW, oldPixmapH, newPixmapW, newPixmapH; // resize the off-screen pixmap (if needed) oldPixmapW = getPixmapWidth(); oldPixmapH = getPixmapHeight(); newPixmapW = xoutRound(state ? state->getPageWidth() : 1); newPixmapH = xoutRound(state ? state->getPageHeight() : 1); if (oldPixmapW == 0 || newPixmapW != oldPixmapW || newPixmapH != oldPixmapH) { if (oldPixmapW > 0) { XFreePixmap(getDisplay(), getPixmap()); } setPixmap(XCreatePixmap(getDisplay(), win, newPixmapW, newPixmapH, getDepth()), newPixmapW, newPixmapH); } XOutputDev::startPage(pageNum, state);}void XPixmapOutputDev::endPage() { if (!incrementalUpdate) { (*redrawCbk)(redrawCbkData); } XOutputDev::endPage();}void XPixmapOutputDev::dump() { if (incrementalUpdate) { (*redrawCbk)(redrawCbkData); } XOutputDev::dump();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?