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