mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.1 KiB
88 lines
2.1 KiB
/************************************************************/
|
|
/* 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 */
|
|
|