88 lines
2.1 KiB
C
88 lines
2.1 KiB
C
|
/************************************************************/
|
|||
|
/* Windows Write, Copyright 1985-1992 Microsoft Corporation */
|
|||
|
/************************************************************/
|
|||
|
|
|||
|
#define NOCLIPBOARD
|
|||
|
#define NOGDICAPMASKS
|
|||
|
#define NOCTLMGR
|
|||
|
#define NOVIRTUALKEYCODES
|
|||
|
#define NOWINMESSAGES
|
|||
|
#define NOWINSTYLES
|
|||
|
#define NOSYSMETRICS
|
|||
|
#define NOMENUS
|
|||
|
#define NOKEYSTATE
|
|||
|
#define NOGDI
|
|||
|
#define NOHDC
|
|||
|
#define NORASTEROPS
|
|||
|
#define NOSYSCOMMANDS
|
|||
|
#define NOSHOWWINDOW
|
|||
|
#define NOCOLOR
|
|||
|
#define NOATOM
|
|||
|
#define NOBITMAP
|
|||
|
#define NOICON
|
|||
|
#define NOBRUSH
|
|||
|
#define NOCREATESTRUCT
|
|||
|
#define NOMB
|
|||
|
#define NOFONT
|
|||
|
#define NOMSG
|
|||
|
#define NOOPENFILE
|
|||
|
#define NOPEN
|
|||
|
#define NOPOINT
|
|||
|
#define NOREGION
|
|||
|
#define NOSCROLL
|
|||
|
#define NOSOUND
|
|||
|
#define NOWH
|
|||
|
#define NOWINOFFSETS
|
|||
|
#define NOWNDCLASS
|
|||
|
#define NOCOMM
|
|||
|
#include <windows.h>
|
|||
|
|
|||
|
#include "mw.h"
|
|||
|
#include "cmddefs.h"
|
|||
|
#include "docdefs.h"
|
|||
|
#include "editdefs.h"
|
|||
|
#include "filedefs.h"
|
|||
|
#include "str.h"
|
|||
|
#include "propdefs.h"
|
|||
|
#include "fkpdefs.h"
|
|||
|
#include "printdef.h" /* printdefs.h */
|
|||
|
#include "debug.h"
|
|||
|
|
|||
|
extern struct FCB (**hpfnfcb)[];
|
|||
|
int **HAllocate();
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
RemoveDelPgd(doc, cpFirst, cpLim, hpgtb)
|
|||
|
int doc;
|
|||
|
typeCP cpFirst, cpLim;
|
|||
|
struct PGTB **hpgtb;
|
|||
|
{
|
|||
|
struct PGTB *ppgtb;
|
|||
|
struct PGD *ppgd, *ppgdT;
|
|||
|
int ipgd, cpgd, cpgdDel;
|
|||
|
|
|||
|
{
|
|||
|
ppgtb = *hpgtb;
|
|||
|
ppgd = &ppgtb->rgpgd[0];
|
|||
|
ppgd += (ipgd =
|
|||
|
IcpSearch(cpFirst + 1, ppgd, cwPGD * sizeof(int),
|
|||
|
bcpPGD, cpgd = ppgtb->cpgd));
|
|||
|
|
|||
|
if (ppgd->cpMin > cpFirst) /* Ensure not past last page */
|
|||
|
{ /* Find all page breaks in deleted area. */
|
|||
|
for (ppgdT = ppgd, cpgdDel = 0;
|
|||
|
ipgd + cpgdDel < cpgd && ppgdT->cpMin <= cpLim;
|
|||
|
ppgdT++, cpgdDel++)
|
|||
|
continue;
|
|||
|
|
|||
|
if (cpgdDel != 0)
|
|||
|
{ /* Close up pgtb. */
|
|||
|
blt(ppgdT, ppgd, cwPGD * ((cpgd -= cpgdDel) - ipgd));
|
|||
|
(*hpgtb)->cpgd = cpgd;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
} /* end of R e m o v e D e l P g d */
|
|||
|
|