xref: /trunk/main/sw/inc/swtypes.hxx (revision 1d2dbeb0)
1*1d2dbeb0SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*1d2dbeb0SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*1d2dbeb0SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*1d2dbeb0SAndrew Rist  * distributed with this work for additional information
6*1d2dbeb0SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*1d2dbeb0SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*1d2dbeb0SAndrew Rist  * "License"); you may not use this file except in compliance
9*1d2dbeb0SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*1d2dbeb0SAndrew Rist  *
11*1d2dbeb0SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*1d2dbeb0SAndrew Rist  *
13*1d2dbeb0SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*1d2dbeb0SAndrew Rist  * software distributed under the License is distributed on an
15*1d2dbeb0SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*1d2dbeb0SAndrew Rist  * KIND, either express or implied.  See the License for the
17*1d2dbeb0SAndrew Rist  * specific language governing permissions and limitations
18*1d2dbeb0SAndrew Rist  * under the License.
19*1d2dbeb0SAndrew Rist  *
20*1d2dbeb0SAndrew Rist  *************************************************************/
21*1d2dbeb0SAndrew Rist 
22*1d2dbeb0SAndrew Rist 
23cdf0e10cSrcweir #ifndef _SWTYPES_HXX
24cdf0e10cSrcweir #define _SWTYPES_HXX
25cdf0e10cSrcweir #include <tools/solar.h>
26cdf0e10cSrcweir #include <SwGetPoolIdFromName.hxx>
27cdf0e10cSrcweir 
28cdf0e10cSrcweir #ifndef INCLUDED_LIMITS_H
29cdf0e10cSrcweir #include <limits.h> 	//fuer LONG_MAX
30cdf0e10cSrcweir #define INCLUDED_LIMITS_H
31cdf0e10cSrcweir #endif
32cdf0e10cSrcweir 
33cdf0e10cSrcweir #ifdef PM20
34cdf0e10cSrcweir #include <stdlib.h>
35cdf0e10cSrcweir #endif
36cdf0e10cSrcweir #include <com/sun/star/uno/Reference.h>
37cdf0e10cSrcweir #include "swdllapi.h"
38cdf0e10cSrcweir #include <i18npool/lang.h>
39cdf0e10cSrcweir // wenn das hier geaendert wird, dann auch im globals.hrc aendern!!!
40cdf0e10cSrcweir //#define SW_FILEFORMAT_40 SOFFICE_FILEFORMAT_40
41cdf0e10cSrcweir 
42cdf0e10cSrcweir namespace com { namespace sun { namespace star {
43cdf0e10cSrcweir 	namespace linguistic2{
44cdf0e10cSrcweir 		class XDictionaryList;
45cdf0e10cSrcweir 		class XSpellChecker1;
46cdf0e10cSrcweir 		class XHyphenator;
47cdf0e10cSrcweir 		class XThesaurus;
48cdf0e10cSrcweir 	}
49cdf0e10cSrcweir 	namespace beans{
50cdf0e10cSrcweir 		class XPropertySet;
51cdf0e10cSrcweir 	}
52cdf0e10cSrcweir }}}
53cdf0e10cSrcweir namespace utl{
54cdf0e10cSrcweir 	class TransliterationWrapper;
55cdf0e10cSrcweir }
56cdf0e10cSrcweir 
57cdf0e10cSrcweir class Size;
58cdf0e10cSrcweir class ResMgr;
59cdf0e10cSrcweir class UniString;
60cdf0e10cSrcweir class ByteString;
61cdf0e10cSrcweir class SwPathFinder;
62cdf0e10cSrcweir class Graphic;
63cdf0e10cSrcweir class OutputDevice;
64cdf0e10cSrcweir class CharClass;
65cdf0e10cSrcweir class LocaleDataWrapper;
66cdf0e10cSrcweir class CollatorWrapper;
67cdf0e10cSrcweir 
68cdf0e10cSrcweir typedef long SwTwips;
69cdf0e10cSrcweir #define INVALID_TWIPS	LONG_MAX
70cdf0e10cSrcweir #define TWIPS_MAX		(LONG_MAX - 1)
71cdf0e10cSrcweir 
72cdf0e10cSrcweir #define MM50   283	// 1/2 cm in TWIPS
73cdf0e10cSrcweir // --> OD 2004-06-18 #i19922# - constant for minimal page header/footer height of 1mm
74cdf0e10cSrcweir const SwTwips cMinHdFtHeight = 56;
75cdf0e10cSrcweir 
76cdf0e10cSrcweir #define MINFLY 23	//Minimalgroesse fuer FlyFrms
77cdf0e10cSrcweir #define MINLAY 23	//Minimalgroesse anderer Frms
78cdf0e10cSrcweir 
79cdf0e10cSrcweir // Default-Spaltenabstand zweier Textspalten entspricht 0.3 cm
80cdf0e10cSrcweir #define DEF_GUTTER_WIDTH (MM50 / 5 * 3)
81cdf0e10cSrcweir 
82cdf0e10cSrcweir //Minimale Distance (Abstand zum Text) fuer das BorderAttribut, damit
83cdf0e10cSrcweir //die aligned'en Linien nicht geplaettet werden.
84cdf0e10cSrcweir //28 Twips == 0,4mm
85cdf0e10cSrcweir #define MIN_BORDER_DIST 28
86cdf0e10cSrcweir 
87cdf0e10cSrcweir 	/* minimaler Dokmentrand */
88cdf0e10cSrcweir const SwTwips lMinBorder = 1134;
89cdf0e10cSrcweir 
90cdf0e10cSrcweir //Die Wiesenbreite links neben und ueber dem Dokument.
91cdf0e10cSrcweir //Die halbe Wiesenbreite ist der Abstand zwischen den Seiten.
92cdf0e10cSrcweir #define DOCUMENTBORDER  568L
93cdf0e10cSrcweir #define GAPBETWEENPAGES 284L
94cdf0e10cSrcweir 
95cdf0e10cSrcweir //initiale UndoActionCount
96cdf0e10cSrcweir #define UNDO_ACTION_COUNT 20
97cdf0e10cSrcweir 
98cdf0e10cSrcweir // Konstante Strings
99cdf0e10cSrcweir SW_DLLPUBLIC extern UniString aEmptyStr;			// ""
100cdf0e10cSrcweir extern ByteString aEmptyByteStr;	// ""
101cdf0e10cSrcweir SW_DLLPUBLIC extern UniString aDotStr;			// '.'
102cdf0e10cSrcweir 
103cdf0e10cSrcweir //Zum Einfuegen von Beschriftungen (wie bzw. wo soll eingefuegt werden).
104cdf0e10cSrcweir //Hier weil ein eigenes hxx nicht lohnt und es sonst nirgendwo so recht
105cdf0e10cSrcweir //hinpasst.
106cdf0e10cSrcweir enum SwLabelType
107cdf0e10cSrcweir {
108cdf0e10cSrcweir 	LTYPE_TABLE,	//Beschriftung einer Tabelle
109cdf0e10cSrcweir 	LTYPE_OBJECT,	//Beschriftung von Grafik oder OLE
110cdf0e10cSrcweir 	LTYPE_FLY,		//Beschriftung eines (Text-)Rahmens
111cdf0e10cSrcweir 	LTYPE_DRAW		//Beschriftung eines Zeichen-Objektes
112cdf0e10cSrcweir };
113cdf0e10cSrcweir 
114cdf0e10cSrcweir 
115cdf0e10cSrcweir const sal_uInt8 OLD_MAXLEVEL = 5;
116cdf0e10cSrcweir const sal_uInt8 MAXLEVEL = 10;		//Ehemals numrule.hxx
117cdf0e10cSrcweir const sal_uInt8 NO_NUM 		= 200;  //Ehemals numrule.hxx
118cdf0e10cSrcweir //const sal_uInt8 NO_NUMBERING = 201;  //Ehemals numrule.hxx	//#outline level,removed by zhaojianwei
119cdf0e10cSrcweir //const sal_uInt8 NO_INIT 		= 202;  //Ehemals numrule.hxx
120cdf0e10cSrcweir 
121cdf0e10cSrcweir // fuer Absaetze mit NO_NUM aber auf unterschiedlichen Leveln
122cdf0e10cSrcweir // DAMIT entfaellt das NO_NUM !!!!
123cdf0e10cSrcweir const sal_uInt8 NO_NUMLEVEL  = 0x20;	// wird mit den Levels verodert
124cdf0e10cSrcweir 
125cdf0e10cSrcweir 
126cdf0e10cSrcweir /*
127cdf0e10cSrcweir  * Nette Funktionen als MACRO oder inline
128cdf0e10cSrcweir  */
129cdf0e10cSrcweir 
130cdf0e10cSrcweir /* ein KiloByte sind 1024 Byte */
131cdf0e10cSrcweir #define KB 1024
132cdf0e10cSrcweir 
133cdf0e10cSrcweir #define SET_CURR_SHELL( shell ) CurrShell aCurr( shell )
134cdf0e10cSrcweir 
135cdf0e10cSrcweir // pPathFinder wird von der UI initialisiert. Die Klasse liefert alle
136cdf0e10cSrcweir // benoetigten Pfade.
137cdf0e10cSrcweir extern SwPathFinder *pPathFinder;
138cdf0e10cSrcweir 
139cdf0e10cSrcweir // Werte fuer die Einzuege an der Nummerierung und BulletListe
140cdf0e10cSrcweir // (fuer die weiteren Ebenen sind die Werte mit den Ebenen+1 zu
141cdf0e10cSrcweir //	multiplizieren; Ebenen 0..4 !!!)
142cdf0e10cSrcweir 
143cdf0e10cSrcweir // -> #i30312#
144cdf0e10cSrcweir const sal_uInt16 lBullIndent = 1440/4;
145cdf0e10cSrcweir const short lBullFirstLineOffset = -lBullIndent;
146cdf0e10cSrcweir const sal_uInt16 lNumIndent = 1440/4;
147cdf0e10cSrcweir const short lNumFirstLineOffset = -lNumIndent;
148cdf0e10cSrcweir const short lOutlineMinTextDistance = 216; // 0.15 inch = 0.38 cm
149cdf0e10cSrcweir // <- #i30312#
150cdf0e10cSrcweir 
151cdf0e10cSrcweir // Anzahl der SystemField-Types vom SwDoc
152cdf0e10cSrcweir #define INIT_FLDTYPES	32
153cdf0e10cSrcweir // Anzahl der vordefinierten Seq-Feldtypen. Es handelt sich dabei
154cdf0e10cSrcweir // immer um die letzen Felder vor INIT_FLDTYPES
155cdf0e10cSrcweir #define INIT_SEQ_FLDTYPES	4
156cdf0e10cSrcweir 
157cdf0e10cSrcweir //Die ehemaligen Rendevouz-Ids leben weiter:
158cdf0e10cSrcweir //Es gibt Ids fuer die Anker (SwFmtAnchor) und ein paar weitere die nur fuer
159cdf0e10cSrcweir //Schnittstellen Bedeutung haben (SwDoc).
160cdf0e10cSrcweir enum RndStdIds
161cdf0e10cSrcweir {
162cdf0e10cSrcweir     FLY_AT_PARA,        // anchored at paragraph
163cdf0e10cSrcweir     FLY_AS_CHAR,        // anchored as character
164cdf0e10cSrcweir     FLY_AT_PAGE,        // anchored at page
165cdf0e10cSrcweir     FLY_AT_FLY,         // anchored at frame
166cdf0e10cSrcweir     FLY_AT_CHAR,        // anchored at character
167cdf0e10cSrcweir 						//Der Rest wird nur fuer SS benutzt.
168cdf0e10cSrcweir 	RND_STD_HEADER,
169cdf0e10cSrcweir 	RND_STD_FOOTER,
170cdf0e10cSrcweir 	RND_STD_HEADERL,
171cdf0e10cSrcweir 	RND_STD_HEADERR,
172cdf0e10cSrcweir 	RND_STD_FOOTERL,
173cdf0e10cSrcweir 	RND_STD_FOOTERR,
174cdf0e10cSrcweir 
175cdf0e10cSrcweir 	RND_DRAW_OBJECT		// ein Draw-Object !! nur fuer die SwDoc-Schnittstelle!
176cdf0e10cSrcweir };
177cdf0e10cSrcweir 
178cdf0e10cSrcweir 
179cdf0e10cSrcweir extern ResMgr* pSwResMgr;			// steht in swapp0.cxx
180cdf0e10cSrcweir #define SW_RES(i)		ResId(i,*pSwResMgr)
181cdf0e10cSrcweir #define SW_RESSTR(i)	UniString(ResId(i,*pSwResMgr))
182cdf0e10cSrcweir 
183cdf0e10cSrcweir ::com::sun::star::uno::Reference<
184cdf0e10cSrcweir 	::com::sun::star::linguistic2::XSpellChecker1 >	GetSpellChecker();
185cdf0e10cSrcweir ::com::sun::star::uno::Reference<
186cdf0e10cSrcweir 	::com::sun::star::linguistic2::XHyphenator >	GetHyphenator();
187cdf0e10cSrcweir ::com::sun::star::uno::Reference<
188cdf0e10cSrcweir 	::com::sun::star::linguistic2::XThesaurus >		GetThesaurus();
189cdf0e10cSrcweir ::com::sun::star::uno::Reference<
190cdf0e10cSrcweir 	::com::sun::star::beans::XPropertySet >			GetLinguPropertySet();
191cdf0e10cSrcweir 
192cdf0e10cSrcweir // reutns the twip size of this graphic
193cdf0e10cSrcweir SW_DLLPUBLIC Size GetGraphicSizeTwip( const Graphic&, OutputDevice* pOutDev );
194cdf0e10cSrcweir 
195cdf0e10cSrcweir 
196cdf0e10cSrcweir // Seperator fuer Sprunge im Dokument auf verschiedene Inhalttype
197cdf0e10cSrcweir const sal_Unicode cMarkSeperator = '|';
198cdf0e10cSrcweir extern const sal_Char* __FAR_DATA pMarkToTable;				// Strings stehen
199cdf0e10cSrcweir extern const sal_Char* __FAR_DATA pMarkToFrame;             // im Init.cxx
200cdf0e10cSrcweir extern const sal_Char* __FAR_DATA pMarkToRegion;
201cdf0e10cSrcweir SW_DLLPUBLIC extern const sal_Char* __FAR_DATA pMarkToOutline;
202cdf0e10cSrcweir extern const sal_Char* __FAR_DATA pMarkToText;
203cdf0e10cSrcweir extern const sal_Char* __FAR_DATA pMarkToGraphic;
204cdf0e10cSrcweir extern const sal_Char* __FAR_DATA pMarkToOLE;
205cdf0e10cSrcweir 
206cdf0e10cSrcweir #ifndef DB_DELIM							// Ist in OFA definiert!!!
207cdf0e10cSrcweir #define DB_DELIM ((sal_Unicode)0xff)		// Datenbank <-> Tabellen-Trenner
208cdf0e10cSrcweir #endif
209cdf0e10cSrcweir 
210cdf0e10cSrcweir 
211cdf0e10cSrcweir typedef sal_uInt16 SetAttrMode;
212cdf0e10cSrcweir 
213cdf0e10cSrcweir namespace nsSetAttrMode
214cdf0e10cSrcweir {
215cdf0e10cSrcweir 	const SetAttrMode SETATTR_DEFAULT        = 0x0000;	// default
216cdf0e10cSrcweir 	const SetAttrMode SETATTR_DONTEXPAND 	 = 0x0001;	// TextAttribute nicht weiter expand.
217cdf0e10cSrcweir 	const SetAttrMode SETATTR_DONTREPLACE	 = 0x0002;	// kein anderes TextAttrib verdraengen
218cdf0e10cSrcweir 
219cdf0e10cSrcweir 	const SetAttrMode SETATTR_NOTXTATRCHR	 = 0x0004;	// bei Attr ohne Ende kein 0xFF einfuegen
220cdf0e10cSrcweir 	const SetAttrMode SETATTR_NOHINTADJUST	 = 0x0008; 	// keine Zusammenfassung von Bereichen.
221cdf0e10cSrcweir 	const SetAttrMode SETATTR_NOFORMATATTR	 = 0x0010;	// nicht zum FormatAttribut umwandeln
222cdf0e10cSrcweir 	const SetAttrMode SETATTR_DONTCHGNUMRULE = 0x0020; 	// nicht die NumRule veraendern
223cdf0e10cSrcweir 	const SetAttrMode SETATTR_APICALL		 = 0x0040;	// called from API (all UI related
224cdf0e10cSrcweir 										                // functionality will be disabled)
225cdf0e10cSrcweir     /// force hint expand (only matters for hints with CH_TXTATR)
226cdf0e10cSrcweir     const SetAttrMode SETATTR_FORCEHINTEXPAND= 0x0080;
227cdf0e10cSrcweir     /// the inserted item is a copy -- intended for use in ndtxt.cxx
228cdf0e10cSrcweir     const SetAttrMode SETATTR_IS_COPY        = 0x0100;
229cdf0e10cSrcweir }
230cdf0e10cSrcweir 
231cdf0e10cSrcweir //Umrechnung Twip<-> 1/100 mm fuer UNO
232cdf0e10cSrcweir 
233cdf0e10cSrcweir #define TWIP_TO_MM100(TWIP) 	((TWIP) >= 0 ? (((TWIP)*127L+36L)/72L) : (((TWIP)*127L-36L)/72L))
234cdf0e10cSrcweir #define MM100_TO_TWIP(MM100)	((MM100) >= 0 ? (((MM100)*72L+63L)/127L) : (((MM100)*72L-63L)/127L))
235cdf0e10cSrcweir #define TWIP_TO_MM100_UNSIGNED(TWIP)     ((((TWIP)*127L+36L)/72L))
236cdf0e10cSrcweir #define MM100_TO_TWIP_UNSIGNED(MM100)    ((((MM100)*72L+63L)/127L))
237cdf0e10cSrcweir 
238cdf0e10cSrcweir #define SW_ISPRINTABLE( c ) ( c >= ' ' && 127 != c )
239cdf0e10cSrcweir 
240cdf0e10cSrcweir #ifndef SW_CONSTASCII_DECL
241cdf0e10cSrcweir #define SW_CONSTASCII_DECL( n, s ) n[sizeof(s)]
242cdf0e10cSrcweir #endif
243cdf0e10cSrcweir #ifndef SW_CONSTASCII_DEF
244cdf0e10cSrcweir #define SW_CONSTASCII_DEF( n, s ) n[sizeof(s)] = s
245cdf0e10cSrcweir #endif
246cdf0e10cSrcweir 
247cdf0e10cSrcweir 
248cdf0e10cSrcweir #define CHAR_HARDBLANK		((sal_Unicode)0x00A0)
249cdf0e10cSrcweir #define CHAR_HARDHYPHEN		((sal_Unicode)0x2011)
250cdf0e10cSrcweir #define CHAR_SOFTHYPHEN		((sal_Unicode)0x00AD)
251cdf0e10cSrcweir #define CHAR_RLM            ((sal_Unicode)0x200F)
252cdf0e10cSrcweir #define CHAR_LRM            ((sal_Unicode)0x200E)
253cdf0e10cSrcweir #define CHAR_ZWSP           ((sal_Unicode)0x200B)
254cdf0e10cSrcweir #define CHAR_ZWNBSP         ((sal_Unicode)0x2060)
255cdf0e10cSrcweir 
256cdf0e10cSrcweir 
257cdf0e10cSrcweir // returns the APP - CharClass instance - used for all ToUpper/ToLower/...
258cdf0e10cSrcweir SW_DLLPUBLIC CharClass& GetAppCharClass();
259cdf0e10cSrcweir SW_DLLPUBLIC LanguageType GetAppLanguage();
260cdf0e10cSrcweir 
261cdf0e10cSrcweir 
262cdf0e10cSrcweir #if 0
263cdf0e10cSrcweir // I18N doesn't get this right, can't specify more than one to ignore
264cdf0e10cSrcweir #define SW_COLLATOR_IGNORES ( \
265cdf0e10cSrcweir 	::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE | \
266cdf0e10cSrcweir 	::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_KANA | \
267cdf0e10cSrcweir 	::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_WIDTH )
268cdf0e10cSrcweir #else
269cdf0e10cSrcweir #define SW_COLLATOR_IGNORES ( \
270cdf0e10cSrcweir 	::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE )
271cdf0e10cSrcweir #endif
272cdf0e10cSrcweir 
273cdf0e10cSrcweir SW_DLLPUBLIC CollatorWrapper& GetAppCollator();
274cdf0e10cSrcweir SW_DLLPUBLIC CollatorWrapper& GetAppCaseCollator();
275cdf0e10cSrcweir 
276cdf0e10cSrcweir SW_DLLPUBLIC const ::utl::TransliterationWrapper& GetAppCmpStrIgnore();
277cdf0e10cSrcweir 
278cdf0e10cSrcweir // --> OD 2004-06-30 #i28701# - moved from <frame.hxx>
279cdf0e10cSrcweir //fuer Prepare() zur Benachrichtigung des Inhaltes durch das Layout auf
280cdf0e10cSrcweir //dem kurzen Dienstweg.
281cdf0e10cSrcweir //Der Inhalt sorgt dafuer, dass beim naechsten Aufruf von ::Format() das
282cdf0e10cSrcweir //minimal notwendige berechnet wird.
283cdf0e10cSrcweir enum PrepareHint
284cdf0e10cSrcweir {
285cdf0e10cSrcweir     PREP_BEGIN,             //BEGIN
286cdf0e10cSrcweir     PREP_CLEAR = PREP_BEGIN,//Komplett neuformatieren.
287cdf0e10cSrcweir     PREP_WIDOWS_ORPHANS,    //Nur Witwen- und Waisen-Regelung pruefen und ggf.
288cdf0e10cSrcweir                             //Aufspalten.
289cdf0e10cSrcweir     PREP_FIXSIZE_CHG,       //Die FixSize hat sich veraendert.
290cdf0e10cSrcweir     PREP_FOLLOW_FOLLOWS,    //Follow ist jetzt moeglicherweise direkter
291cdf0e10cSrcweir                             //Nachbar.
292cdf0e10cSrcweir     PREP_ADJUST_FRM,        //Groesse per Grow/Shrink Ausrichten ohne zu
293cdf0e10cSrcweir                             //Formatieren.
294cdf0e10cSrcweir     PREP_FLY_CHGD,          //Ein FlyFrm hat sich (Groesse) veraendert.
295cdf0e10cSrcweir     PREP_FLY_ATTR_CHG,      //Ein FlyFrm hat seine Attribute veraendert
296cdf0e10cSrcweir                             //(z.B. Umlauf)
297cdf0e10cSrcweir     PREP_FLY_ARRIVE,        //Ein FlyFrm ueberlappt den Bereich jetzt neu.
298cdf0e10cSrcweir     PREP_FLY_LEAVE,         //Ein FlyFrm hat den Bereich verlassen.
299cdf0e10cSrcweir     PREP_FTN,               //Fussnoten-Invalidierung
300cdf0e10cSrcweir     PREP_POS_CHGD,          //Position des Frm hat sich verandert
301cdf0e10cSrcweir                             //(Zum Fly-Umbruch pruefen). Im void* des Prepare()
302cdf0e10cSrcweir                             //wird ein sal_Bool& uebergeben, dieser zeigt mit sal_True,
303cdf0e10cSrcweir                             //dass ein Format ausgefuehrt wurde.
304cdf0e10cSrcweir     PREP_UL_SPACE,          //UL-Space hat sich veraendert, TxtFrms muessen
305cdf0e10cSrcweir                             //den Zeilenabstand neu kalkulieren.
306cdf0e10cSrcweir     PREP_MUST_FIT,          //Frm passen machen (aufspalten) auch wenn die
307cdf0e10cSrcweir                             //Attribute es nicht erlauben (z.B. zusammenhalten).
308cdf0e10cSrcweir     PREP_WIDOWS,            // Ein Follow stellt fest, dass in ihm die Orphans-
309cdf0e10cSrcweir                             // regel zuschlaegt und verschickt an seinen
310cdf0e10cSrcweir                             // Vorgaenger (Master/Follow) ein PREP_WIDOWS
311cdf0e10cSrcweir     PREP_QUOVADIS,          // Wenn eine Fussnote _zwischen_ zwei Absaetzen
312cdf0e10cSrcweir                             // aufgespalten werden muss, dann muss der
313cdf0e10cSrcweir                             // letzte auf der Seite noch ein QUOVADIS bekommen
314cdf0e10cSrcweir                             // damit er den Text hineinformatiert.
315cdf0e10cSrcweir     PREP_BOSS_CHGD,         // Wenn ein Frm die Spalte/Seite wechselt, wird dieses
316cdf0e10cSrcweir                             // Zusatzprepare zum POS_CHGD im MoveFwd/Bwd
317cdf0e10cSrcweir                             // verschickt (Ftn-Nummern joinen etc.)
318cdf0e10cSrcweir                             // Die Richtung wird ueber pVoid mitgeteilt:
319cdf0e10cSrcweir                             //     MoveFwd: pVoid == 0
320cdf0e10cSrcweir                             //     MoveBwd: pVoid == pOldPage
321cdf0e10cSrcweir     PREP_SWAP,              //Grafiken Swappen, fuer Grafiken im sichtbaren
322cdf0e10cSrcweir                             //Bereich.
323cdf0e10cSrcweir     PREP_REGISTER,          //Registerhaltige Frames invalidieren
324cdf0e10cSrcweir     PREP_FTN_GONE,          //Ein Follow verliert eine Fussnote, ggf. kann seine erste
325cdf0e10cSrcweir                             //Zeile hochrutschen
326cdf0e10cSrcweir     PREP_MOVEFTN,           //eine Fussnote wechselt die Seite, der Inhalt bekommt
327cdf0e10cSrcweir                             //zunaechst eine Hoehe von Null, damit nicht zuviel
328cdf0e10cSrcweir                             //Unruhe entsteht. Beim Formatieren prueft er, ob er
329cdf0e10cSrcweir                             //ueberhaupt passt und wechselt ggf. unbemerkt wieder
330cdf0e10cSrcweir                             //die Seite.
331cdf0e10cSrcweir     PREP_ERGOSUM,           //wg. Bewegung in FtnFrms QuoVadis/ErgoSum pruefen
332cdf0e10cSrcweir     PREP_END                //END
333cdf0e10cSrcweir };
334cdf0e10cSrcweir // <--
335cdf0e10cSrcweir 
336cdf0e10cSrcweir #endif
337