Sleds/thirdparty/xpdf-3.03-dave/xpdf/CoreOutputDev.cc

62 lines
1.4 KiB
C++
Raw Permalink Normal View History

2025-03-13 21:28:38 +00:00
//========================================================================
//
// CoreOutputDev.cc
//
// Copyright 2004 Glyph & Cog, LLC
//
//========================================================================
#include <aconf.h>
#ifdef USE_GCC_PRAGMAS
#pragma implementation
#endif
#include "Object.h"
#include "TextOutputDev.h"
#include "CoreOutputDev.h"
//------------------------------------------------------------------------
// CoreOutputDev
//------------------------------------------------------------------------
CoreOutputDev::CoreOutputDev(SplashColorMode colorModeA, int bitmapRowPadA,
GBool reverseVideoA, SplashColorPtr paperColorA,
GBool incrementalUpdateA,
CoreOutRedrawCbk redrawCbkA,
void *redrawCbkDataA):
SplashOutputDev(colorModeA, bitmapRowPadA, reverseVideoA, paperColorA)
{
incrementalUpdate = incrementalUpdateA;
redrawCbk = redrawCbkA;
redrawCbkData = redrawCbkDataA;
}
CoreOutputDev::~CoreOutputDev() {
}
void CoreOutputDev::endPage() {
SplashOutputDev::endPage();
if (!incrementalUpdate) {
(*redrawCbk)(redrawCbkData, 0, 0, getBitmapWidth(), getBitmapHeight(),
gTrue);
}
}
void CoreOutputDev::dump() {
int x0, y0, x1, y1;
if (incrementalUpdate) {
getModRegion(&x0, &y0, &x1, &y1);
clearModRegion();
if (x1 >= x0 && y1 >= y0) {
(*redrawCbk)(redrawCbkData, x0, y0, x1, y1, gFalse);
}
}
}
void CoreOutputDev::clear() {
startDoc(NULL);
startPage(0, NULL);
}