summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8/ww8struc.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/filter/ww8/ww8struc.hxx')
-rw-r--r--sw/source/filter/ww8/ww8struc.hxx140
1 files changed, 93 insertions, 47 deletions
diff --git a/sw/source/filter/ww8/ww8struc.hxx b/sw/source/filter/ww8/ww8struc.hxx
index e671b9a07ce8..827c1e3f3f27 100644
--- a/sw/source/filter/ww8/ww8struc.hxx
+++ b/sw/source/filter/ww8/ww8struc.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: ww8struc.hxx,v $
*
- * $Revision: 1.21 $
+ * $Revision: 1.22 $
*
- * last change: $Author: cmc $ $Date: 2002-11-15 13:31:34 $
+ * last change: $Author: cmc $ $Date: 2002-12-10 12:41:19 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -59,6 +59,9 @@
*
************************************************************************/
+/* vi:set tabstop=4 shiftwidth=4 expandtab: */
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil -*- */
+
#ifndef _WW8STRUC_HXX
#define _WW8STRUC_HXX
@@ -66,13 +69,18 @@
#include <tools/string.hxx>
#endif
+#ifndef _SAL_CONFIG_H_
+#include <sal/config.h>
+#endif
+
#if defined __BIGENDIAN || __ALIGNMENT4 > 2 || defined UNX
-#define __WW8_NEEDS_COPY
-#else
-#if defined WNT || defined WIN || defined OS2
-#define __WW8_NEEDS_PACK
-#pragma pack(2)
+# define __WW8_NEEDS_COPY
#endif
+
+#ifdef SAL_W32
+# pragma pack(push, 2)
+#elif defined(SAL_OS2)
+# pragma pack(2)
#endif
inline void Set_UInt8( BYTE *& p, UINT8 n )
@@ -93,9 +101,9 @@ inline void Set_UInt32( BYTE *& p, UINT32 n )
p+= 4;
}
-typedef INT16 WW8_PN;
-typedef INT32 WW8_FC;
-typedef INT32 WW8_CP;
+typedef sal_Int16 WW8_PN;
+typedef sal_Int32 WW8_FC;
+typedef sal_Int32 WW8_CP;
// STD: STyle Definition
// The STD contains the entire definition of a style.
@@ -728,41 +736,6 @@ struct WW8_PCD
// properties of the piece.
};
-struct WW8_PHE_Base
-{
- BYTE aBits1; //
-// 0 0 fSpare int :1 0001 reserved
-// fUnk int :1 0002 phe entry is invalid
-// when == 1
-// fDiffLines int :1 0004 when 1, total
-// height of paragraph is known but lines in
-// paragraph have different heights.
-// * int :5 00F8 reserved
- BYTE nlMac; // when fDiffLines is 0 is number of lines in
-// // paragraph
- SVBT16 dxaCol; // width of lines in paragraph
- SVBT16 dyl;
-// 4 4 dylLine int when fDiffLines is 0,
-// is height of every line in paragraph.in pixels
-// 4 4 dylHeight uns when fDiffLines is 1,
-// is the total height in pixels of the paragraph
-};
-
-/*
-eigentlich muessten wir das jetzt in etwa *so* praezisieren:
-
- struct WW8_PHE_Ver6 : public WW8_PHE_Base
- {
- // 6 Bytes gross
- };
- struct WW8_PHE_Ver6 : public WW8_PHE_Base
- {
- SVBT16 a;
- SVBT16 b;
- SVBT16 c; // 12 Byte gross
- };
-*/
-
// AnnoTation Refernce Descriptor (ATRD)
struct WW8_ATRD // fuer die 8-Version
{
@@ -802,9 +775,82 @@ struct WW8_TablePos
BYTE nSp37;
};
+struct WW8_FSPA
+{
+public:
+ long nSpId; //Shape Identifier. Used in conjunction with the office art data (found via fcDggInfo in the FIB) to find the actual data for this shape.
+ long nXaLeft; //left of rectangle enclosing shape relative to the origin of the shape
+ long nYaTop; //top of rectangle enclosing shape relative to the origin of the shape
+ long nXaRight; //right of rectangle enclosing shape relative to the origin of the shape
+ long nYaBottom;//bottom of the rectangle enclosing shape relative to the origin of the shape
+ USHORT bHdr:1;
+ //0001 1 in the undo doc when shape is from the header doc, 0 otherwise (undefined when not in the undo doc)
+ USHORT nbx:2;
+ //0006 x position of shape relative to anchor CP
+ //0 relative to page margin
+ //1 relative to top of page
+ //2 relative to text (column for horizontal text; paragraph for vertical text)
+ //3 reserved for future use
+ USHORT nby:2;
+ //0018 y position of shape relative to anchor CP
+ //0 relative to page margin
+ //1 relative to top of page
+ //2 relative to text (paragraph for horizontal text; column for vertical text)
+ USHORT nwr:4;
+ //01E0 text wrapping mode
+ //0 like 2, but doesn't require absolute object
+ //1 no text next to shape
+ //2 wrap around absolute object
+ //3 wrap as if no object present
+ //4 wrap tightly around object
+ //5 wrap tightly, but allow holes
+ //6-15 reserved for future use
+ USHORT nwrk:4;
+ //1E00 text wrapping mode type (valid only for wrapping modes 2 and 4
+ //0 wrap both sides
+ //1 wrap only on left
+ //2 wrap only on right
+ //3 wrap only on largest side
+ USHORT bRcaSimple:1;
+ //2000 when set, temporarily overrides bx, by, forcing the xaLeft, xaRight, yaTop, and yaBottom fields to all be page relative.
+ USHORT bBelowText:1;
+ //4000
+ //1 shape is below text
+ //0 shape is above text
+ USHORT bAnchorLock:1;
+ //8000 1 anchor is locked
+ // 0 anchor is not locked
+ long nTxbx; //count of textboxes in shape (undo doc only)
+public:
+ enum FSPAOrient {RelPgMargin, RelPageBorder, RelText};
+};
+
+
+struct WW8_FSPA_SHADOW // alle Member an gleicher Position und Groesse,
+{ // wegen: pF = (WW8_FSPA*)pFS;
+ SVBT32 nSpId;
+ SVBT32 nXaLeft;
+ SVBT32 nYaTop;
+ SVBT32 nXaRight;
+ SVBT32 nYaBottom;
+ SVBT16 aBits1;
+ SVBT32 nTxbx;
+};
+
+struct WW8_TXBXS
+{
+ SVBT32 cTxbx_iNextReuse;
+ SVBT32 cReusable;
+ SVBT16 fReusable;
+ SVBT32 reserved;
+ SVBT32 ShapeId;
+ SVBT32 txidUndo;
+};
-#ifdef __WW8_NEEDS_PACK
-#pragma pack()
+#ifdef SAL_W32
+# pragma pack(pop)
+#elif defined(SAL_OS2)
+# pragma pack()
#endif
namespace wwUtility