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.