Update ooo320-m1
[ooovba.git] / goodies / source / filter.vcl / idxf / dxftblrd.hxx
blob569b3cd512c71a46f76cec8c7c165a7ec6f30f49
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: dxftblrd.hxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _DXFTBLRD_HXX
32 #define _DXFTBLRD_HXX
34 #include <dxfgrprd.hxx>
35 #include <dxfvec.hxx>
38 //----------------------------------------------------------------------------
39 //------------------ Linien-Typ ----------------------------------------------
40 //----------------------------------------------------------------------------
42 #define DXF_MAX_DASH_COUNT 32
44 class DXFLType {
46 public:
48 DXFLType * pSucc;
50 char sName[DXF_MAX_STRING_LEN+1]; // 2
51 long nFlags; // 70
52 char sDescription[DXF_MAX_STRING_LEN+1]; // 3
53 long nDashCount; // 73
54 double fPatternLength; // 40
55 double fDash[DXF_MAX_DASH_COUNT]; // 49,49,...
57 DXFLType();
58 void Read(DXFGroupReader & rDGR);
62 //----------------------------------------------------------------------------
63 //------------------ Layer ---------------------------------------------------
64 //----------------------------------------------------------------------------
66 class DXFLayer {
68 public:
70 DXFLayer * pSucc;
72 char sName[DXF_MAX_STRING_LEN+1]; // 2
73 long nFlags; // 70
74 long nColor; // 62
75 char sLineType[DXF_MAX_STRING_LEN+1]; // 6
77 DXFLayer();
78 void Read(DXFGroupReader & rDGR);
82 //----------------------------------------------------------------------------
83 //------------------ Style ---------------------------------------------------
84 //----------------------------------------------------------------------------
86 class DXFStyle {
88 public:
90 DXFStyle * pSucc;
92 char sName[DXF_MAX_STRING_LEN+1]; // 2
93 long nFlags; // 70
94 double fHeight; // 40
95 double fWidthFak; // 41
96 double fOblAngle; // 50
97 long nTextGenFlags; // 71
98 double fLastHeightUsed; // 42
99 char sPrimFontFile[DXF_MAX_STRING_LEN+1]; // 3
100 char sBigFontFile[DXF_MAX_STRING_LEN+1]; // 4
102 DXFStyle();
103 void Read(DXFGroupReader & rDGR);
107 //----------------------------------------------------------------------------
108 //------------------ VPort ---------------------------------------------------
109 //----------------------------------------------------------------------------
111 class DXFVPort {
113 public:
115 DXFVPort * pSucc;
117 char sName[DXF_MAX_STRING_LEN+1]; // 2
118 long nFlags; // 70
119 double fMinX; // 10
120 double fMinY; // 20
121 double fMaxX; // 11
122 double fMaxY; // 21
123 double fCenterX; // 12
124 double fCenterY; // 22
125 double fSnapBaseX; // 13
126 double fSnapBaseY; // 23
127 double fSnapSapcingX; // 14
128 double fSnapSpacingY; // 24
129 double fGridX; // 15
130 double fGridY; // 25
131 DXFVector aDirection; // 16,26,36
132 DXFVector aTarget; // 17,27,37
133 double fHeight; // 40
134 double fAspectRatio; // 41
135 double fLensLength; // 42
136 double fFrontClipPlane; // 43
137 double fBackClipPlane; // 44
138 double fTwistAngle; // 51
139 long nStatus; // 68
140 long nID; // 69
141 long nMode; // 71
142 long nCircleZoomPercent; // 72
143 long nFastZoom; // 73
144 long nUCSICON; // 74
145 long nSnap; // 75
146 long nGrid; // 76
147 long nSnapStyle; // 77
148 long nSnapIsopair; // 78
150 DXFVPort();
151 void Read(DXFGroupReader & rDGR);
155 //----------------------------------------------------------------------------
156 //------------------ Tabellen ------------------------------------------------
157 //----------------------------------------------------------------------------
159 class DXFTables {
161 public:
163 DXFLType * pLTypes; // Liste der Linientypen
164 DXFLayer * pLayers; // Liste der Layers
165 DXFStyle * pStyles; // Liste der Styles
166 DXFVPort * pVPorts; // Liste der Viewports
168 DXFTables();
169 ~DXFTables();
171 void Read(DXFGroupReader & rDGR);
172 // Liest die Tabellen ein bis zu einem ENDSEC oder EOF
173 // (unbekannte Dinge/Tabellen werden uebersprungen)
175 void Clear();
177 // Suche nach Tabelleneintraegen:
178 DXFLType * SearchLType(const char * pName) const;
179 DXFLayer * SearchLayer(const char * pName) const;
180 DXFVPort * SearchVPort(const char * pName) const;
184 #endif