update dev300-m57
[ooovba.git] / lotuswordpro / source / filter / lwpsdwdrawheader.hxx
blobc4264947f17e671aa4625d8860438a6e8fe9b1a4
1 /*************************************************************************
3 * The Contents of this file are made available subject to the terms of
4 * either of the following licenses
6 * - GNU Lesser General Public License Version 2.1
7 * - Sun Industry Standards Source License Version 1.1
9 * Sun Microsystems Inc., October, 2000
11 * GNU Lesser General Public License Version 2.1
12 * =============================================
13 * Copyright 2000 by Sun Microsystems, Inc.
14 * 901 San Antonio Road, Palo Alto, CA 94303, USA
16 * This library is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU Lesser General Public
18 * License version 2.1, as published by the Free Software Foundation.
20 * This library is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 * Lesser General Public License for more details.
25 * You should have received a copy of the GNU Lesser General Public
26 * License along with this library; if not, write to the Free Software
27 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
28 * MA 02111-1307 USA
31 * Sun Industry Standards Source License Version 1.1
32 * =================================================
33 * The contents of this file are subject to the Sun Industry Standards
34 * Source License Version 1.1 (the "License"); You may not use this file
35 * except in compliance with the License. You may obtain a copy of the
36 * License at http://www.openoffice.org/license.html.
38 * Software provided under this License is provided on an "AS IS" basis,
39 * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
40 * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
41 * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
42 * See the License for the specific provisions governing your rights and
43 * obligations concerning the Software.
45 * The Initial Developer of the Original Code is: IBM Corporation
47 * Copyright: 2008 by IBM Corporation
49 * All Rights Reserved.
51 * Contributor(s): _______________________________________
54 ************************************************************************/
55 /*****************************************************************************
56 * Change History
57 * Mar 2005 Created
58 ****************************************************************************/
59 /**
60 * @file
61 * For LWP filter architecture prototype
62 * The file declares structures and enums used by Lwp-Drawing-Module
65 #ifndef _LWPSDWRAWHEADER_HXX
66 #define _LWPSDWRAWHEADER_HXX
68 #include "lwpheader.hxx"
69 #include "lwptools.hxx"
71 const sal_uInt8 DRAW_FACESIZE = 32;
72 const double THRESHOLD = 0.0001;
74 enum DrawObjectType
76 OT_UNDEFINED,
77 OT_SELECT = 0,
78 OT_HAND = 1,
79 OT_LINE = 2,
80 OT_PERPLINE = 3,
81 OT_POLYLINE = 4,
82 OT_POLYGON = 5,
83 OT_RECT = 6,
84 OT_SQUARE = 7,
85 OT_RNDRECT = 8,
86 OT_RNDSQUARE = 9,
87 OT_OVAL = 10,
88 OT_CIRCLE = 11,
89 OT_ARC = 12,
90 OT_TEXT = 13,
91 OT_GROUP = 14,
92 OT_CHART = 15,
93 OT_METAFILE = 16,
94 OT_METAFILEIMG = 17,
95 OT_BITMAP = 18,
96 OT_TEXTART = 19,
97 OT_BIGBITMAP = 20
100 enum DrawFillType
102 FT_TRANSPARENT = 0,
103 FT_VLTGRAY = 1,
104 FT_LTGRAY = 2,
105 FT_GRAY = 3,
106 FT_DKGRAY = 4,
107 FT_SOLID = 5,
108 FT_HORZHATCH = 6,
109 FT_VERTHATCH = 7,
110 FT_FDIAGHATCH = 8,
111 FT_BDIAGHATCH = 9,
112 FT_CROSSHATCH = 10,
113 FT_DIAGCROSSHATCH = 11,
114 FT_PATTERN = 12
117 enum DrawLineStyle
119 LS_SOLID = 0,
120 LS_DASH = 1,
121 LS_DOT = 2,
122 LS_DASHDOT = 3,
123 LS_DASHDOTDOT = 4,
124 LS_NULL = 5,
125 LS_INSIDEFRAME = 6
128 // Text Attributes as stored in Draw files V1.2 and earlier
129 enum DrawTextAttribute
131 TA_BOLD = 0x0001, /* bolded font */
132 TA_ITALIC = 0x0002, /* italic font */
133 TA_UNDERLINE = 0x0004, /* underlined font */
134 TA_WORDUNDERLINE = 0x0008, /* broken underline */
135 TA_ALLCAPS = 0x0010, /* capitalized font */
136 TA_SMALLCAPS = 0x0020, /* all small capital letters */
137 TA_DOUBLEUNDER = 0x0040, /* double underline */
138 TA_STRIKETHRU = 0x0080, /* strikethru */
139 TA_SUPERSCRIPT = 0x0100, /* superscript */
140 TA_SUBSCRIPT = 0x0200 /* subscript */
143 enum DrawArrowHead
145 AH_ARROW_NONE = 0,
146 AH_ARROW_FULLARROW = 1,
147 AH_ARROW_HALFARROW = 2,
148 AH_ARROW_LINEARROW = 3,
149 AH_ARROW_INVFULLARROW = 4,
150 AH_ARROW_INVHALFARROW = 5,
151 AH_ARROW_INVLINEARROW = 6,
152 AH_ARROW_TEE = 7,
153 AH_ARROW_SQUARE = 8,
154 AH_ARROW_CIRCLE = 9
157 struct SdwPoint
159 sal_Int16 x;
160 sal_Int16 y;
163 struct SdwColor
165 sal_uInt8 nR;
166 sal_uInt8 nG;
167 sal_uInt8 nB;
168 sal_uInt8 unused;
171 struct SdwClosedObjStyleRec
173 sal_uInt8 nLineWidth;
174 sal_uInt8 nLineStyle;
175 SdwColor aPenColor;
176 SdwColor aForeColor;
177 SdwColor aBackColor;
178 sal_uInt16 nFillType;
179 sal_uInt8 pFillPattern[8];
182 struct SdwDrawObjHeader
184 // sal_uInt8 nType
185 // sal_uInt8 nFlags;
186 sal_uInt16 nRecLen;
187 sal_Int16 nLeft;
188 sal_Int16 nTop;
189 sal_Int16 nRight;
190 sal_Int16 nBottom;
191 // sal_uInt16 nextObj;
192 // sal_uInt16 prevObj;
195 struct SdwLineRecord
197 sal_Int16 nStartX;
198 sal_Int16 nStartY;
199 sal_Int16 nEndX;
200 sal_Int16 nEndY;
201 sal_uInt8 nLineWidth;
202 sal_uInt8 nLineEnd;
203 sal_uInt8 nLineStyle;
204 SdwColor aPenColor;
207 struct SdwPolyLineRecord
209 sal_uInt8 nLineWidth;
210 sal_uInt8 nLineEnd;
211 sal_uInt8 nLineStyle;
212 SdwColor aPenColor;
213 sal_uInt16 nNumPoints;
216 struct SdwArcRecord
218 sal_uInt8 nLineWidth;
219 sal_uInt8 nLineEnd;
220 sal_uInt8 nLineStyle;
221 SdwColor aPenColor;
224 struct SdwTextBoxRecord
226 sal_Int16 nTextWidth;
227 sal_Int16 nTextHeight;
228 sal_Int16 nTextSize;
229 SdwColor aTextColor;
230 sal_uInt8 tmpTextFaceName[DRAW_FACESIZE];
231 sal_uInt16 nTextAttrs;
232 sal_uInt16 nTextCharacterSet;
233 sal_Int16 nTextRotation;
234 sal_Int16 nTextExtraSpacing;
235 sal_uInt8* pTextString;
238 struct SdwFMPATH
240 sal_uInt16 n;
241 SdwPoint* pPts;
244 struct SdwTextArt : public SdwTextBoxRecord
246 sal_uInt8 nIndex;
247 sal_Int16 nRotation;
248 sal_uInt16 nTextLen;
249 SdwFMPATH aPath[2];
252 struct SdwBmpRecord
254 sal_uInt16 nTranslation;
255 sal_uInt16 nRotation;
256 sal_uInt32 nFileSize;
259 struct BmpInfoHeader
261 sal_uInt32 nHeaderLen;
262 sal_uInt16 nWidth;
263 sal_uInt16 nHeight;
264 sal_uInt16 nPlanes;
265 sal_uInt16 nBitCount;
268 struct BmpInfoHeader2
270 sal_uInt32 nHeaderLen;
271 sal_uInt32 nWidth;
272 sal_uInt32 nHeight;
273 sal_uInt16 nPlanes;
274 sal_uInt16 nBitCount;
277 struct DrawingOffsetAndScale
279 double fOffsetX;
280 double fOffsetY;
281 double fScaleX;
282 double fScaleY;
283 double fLeftMargin;
284 double fTopMargin;
286 DrawingOffsetAndScale()
288 fOffsetX = 0.00;
289 fOffsetY = 0.00;
290 fScaleX = 1.00;
291 fScaleY = 1.00;
292 fLeftMargin = 0.00;
293 fTopMargin = 0.00;
297 #endif