This is wn.h in view mode; [Download] [Up]
/***********************************************************************
* This program Copyright 1988 by Steven Dorner and the University of
* Illinois Board of Trustees
*
* No warrantees expressed or implied.
*
* This program may be redistributed, provided no charge is made for it.
***********************************************************************/
/***********************************************************************
This header file describes the contents of a WriteNow document
***********************************************************************/
#define A32BitInteger long
#define A16BitInteger short
#define A32BitFixedPointNumber float
#define Byte unsigned char
#define Boolean unsigned char
#define Handle A32BitInteger
typedef struct rect Rect;
typedef struct point Point;
typedef A32BitInteger HandleDiskAddress;
typedef struct docinfo DocInfoType;
typedef struct pagelo PageLOType;
typedef struct collo ColLOType;
typedef struct paper PaperType;
typedef struct border BorderType;
typedef struct edgepair EdgePair;
typedef struct textedge TextEdge;
typedef struct docsize DocSizeType;
struct point
{
A16BitInteger v;
A16BitInteger h;
};
struct rect
{
Point top;
Point bottom;
};
struct textedge
{
HandleDiskAddress tBlockTE;
A16BitInteger offsetTE;
Point topTE;
A16BitInteger heightTE;
};
struct edgepair
{
TextEdge startSelect;
TextEdge endSelect;
};
struct paper
{
A16BitInteger pHeight;
A16BitInteger pWidth;
};
struct border
{
A32BitFixedPointNumber leftBorder;
A32BitFixedPointNumber rightBorder;
Boolean nonStdPaper;
Boolean altBorders;
};
struct collo
{
Byte maxColumn;
Byte column;
A16BitInteger widthOfColumns;
A16BitInteger leftEdge;
};
struct pagelo
{
Boolean autoFootNote;
Boolean fractWidths;
BorderType borders;
ColLOType colLayout;
A16BitInteger docVRes;
A16BitInteger docHRes;
A16BitInteger firstPageNumber;
A16BitInteger pageSlop;
PaperType paperSize;
Rect printableRect;
A16BitInteger rulerReduction;
A32BitInteger unused8;
};
struct docsize
{
A32BitInteger startDiskAdr;
A32BitInteger cleanEOF;
A32BitInteger ourEOF;
A32BitInteger fileEOF;
A32BitInteger nextDiskAdr;
};
struct docinfo
{
/* Handles whose contents must be copied during document copy */
HandleDiskAddress docMap;
HandleDiskAddress headFootMap;
HandleDiskAddress footNMap;
HandleDiskAddress docWords;
HandleDiskAddress docPrintRecord;
Handle screenLayout;
Handle docDate;
Handle docTime;
Handle hScrollBar;
Handle vScrollBar;
A32BitInteger unused3;
/* Variables whose value should not be changed during document copy */
A32BitInteger docDirID;
A16BitInteger docRefNum;
A16BitInteger docVRefNum;
A32BitInteger unused6;
Byte docKind;
/* Variables that are copied directly during document copy */
Byte docView;
Boolean dontSaveChanges;
Boolean doSmartPaste;
Boolean graphicSelected;
Boolean markersVis;
Boolean newDoc;
Boolean returnInserted;
Boolean selectVis;
Boolean spaceVis;
Boolean squeezeWhenBurn;
Boolean wordsSelected;
Boolean writeProtected;
Byte unused2;
/* Other variables alphabetically */
Rect docRect;
A32BitInteger docVExtension;
A16BitInteger footHeight;
Rect graphicRect;
A16BitInteger headHeight;
A32BitInteger lastPxlsTilWind;
PageLOType pageLayout;
EdgePair selectionEdges;
A16BitInteger systemName;
A32BitInteger wastedBytes;
A32BitInteger unused7;
/* Variables whose value is not changed by undo */
Boolean backupExists;
Boolean docSqueezed;
DocSizeType docSize;
};
typedef struct map MapType;
typedef struct mapelement MapElement;
struct map
{
A16BitInteger byteCount;
MapElement *mapArray;
};
struct mapelement
{
HandleDiskAddress mapData;
A16BitInteger textHeight;
};
#define NOTTEXT 0x80000000
#define RULERCHANGE 0x40000000
#define FONTCHANGE 0x20000000
#define FORCEDPAGE 0x10000000
#define SPCHECKED 0x08000000
#define NONRES 0x04000000
#define MAYBESHARE 0x02000000
#define DONTSPLIT 0x01000000
typedef struct textblock TextBlock;
struct textblock
{
A16BitInteger byteCount;
Byte *characters;
};
#define FmtFont 0xFF /* Font, size, or style change */
#define FmtGraphics 0xFE /* Embedded graphics */
#define FmtMarker 0xFD /* Page number, date, time, and footnote marker */
#define FmtRuler 0xFC /* Paragraph ruler formats */
#define Fmt4Unused 0xFB /* Reserved for future use */
#define FmtTabFill 0xFA /* Tab fill */
#define FmtY 0xF9 /* Subscript or superscript */
#define Fmt1Unused 0xF8 /* Reserved for future use */
#define FmtEndFmt 0xF7 /* End of additional data */
#define FmtFooter 0xF6 /* Footer definition */
#define FmtHeader 0xF5 /* Header definition */
#define FmtFootnote 0xF4 /* Footnote definition */
#define FmtSoftHyphen 0xF3 /* Soft hyphen */
#define Fmt2Unused 0xF2 /* Reserved for future use */
#define Fmt3Unused 0xF1 /* Reserved for future use */
#define LiteralCode 0xF0 /* Used to represent characters F0 to FF */
typedef struct fss FSSType;
struct fss
{
A16BitInteger fontID;
Byte fontSize;
Byte fontStyle;
};
#define MAXTABS 50
typedef struct ruler RulerType;
struct ruler
{
A16BitInteger leftMargin;
A16BitInteger rightMargin;
A16BitInteger paraIndent;
Byte justification;
Byte lineSpacing;
A16BitInteger tabStops[MAXTABS];
};
#define IDPNumMarker 0
#define IDDateMarker 1
#define IDTimeMarker 2
#define IDFNumMarker 3
#define FontTimes 20
#define FontCourier 22
#define StyleBold 0x1
#define StyleItalic 0x2
#define StyleUline 0x4
#define CanDoStyleMask (StyleBold | StyleItalic | StyleUline)
#define JLeft 0
#define JJust 1
#define JCenter 2
#define JRight 3
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.