1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_sw.hxx"
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski #include <stdio.h> // getchar
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski //#include "defs.hxx"
30*b1cdbd2cSJim Jagielski #include <tools/solar.h> // sal_uInt8
31*b1cdbd2cSJim Jagielski //#include "wwscan.hxx" // aWwStor
32*b1cdbd2cSJim Jagielski #include "ww8dout.hxx"
33*b1cdbd2cSJim Jagielski #include <tools/stream.hxx>
34*b1cdbd2cSJim Jagielski
35*b1cdbd2cSJim Jagielski #include <sot/storage.hxx>
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim Jagielski extern SvStorageStreamRef xStrm;
38*b1cdbd2cSJim Jagielski extern SvStorageStreamRef xTableStream;
39*b1cdbd2cSJim Jagielski extern SvStorageStreamRef xDataStream; // ist bei Ver6-7 mit xStrm identisch,
40*b1cdbd2cSJim Jagielski void DumpSprms( sal_uInt8 nVersion, SvStream& rSt, short nLen );
41*b1cdbd2cSJim Jagielski
42*b1cdbd2cSJim Jagielski ostream* pOut = 0;
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski #define DumpVer8
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski //-----------------------------------------
47*b1cdbd2cSJim Jagielski // Streams
48*b1cdbd2cSJim Jagielski //-----------------------------------------
49*b1cdbd2cSJim Jagielski
50*b1cdbd2cSJim Jagielski
51*b1cdbd2cSJim Jagielski static int level = 0;
52*b1cdbd2cSJim Jagielski static long lastpos = -1;
53*b1cdbd2cSJim Jagielski
endl1(ostream & s)54*b1cdbd2cSJim Jagielski ostream& __cdecl endl1( ostream& s ){
55*b1cdbd2cSJim Jagielski //ostream& endl1( ostream& s ) {
56*b1cdbd2cSJim Jagielski s << endl;
57*b1cdbd2cSJim Jagielski return s;
58*b1cdbd2cSJim Jagielski }
59*b1cdbd2cSJim Jagielski
hex2(ostream & s)60*b1cdbd2cSJim Jagielski ostream& __cdecl hex2( ostream& s ) {
61*b1cdbd2cSJim Jagielski s.width( 2 ); s.fill( (const char)250 );
62*b1cdbd2cSJim Jagielski s << hex;
63*b1cdbd2cSJim Jagielski return s;
64*b1cdbd2cSJim Jagielski }
65*b1cdbd2cSJim Jagielski
hex4(ostream & s)66*b1cdbd2cSJim Jagielski ostream& __cdecl hex4( ostream& s ) {
67*b1cdbd2cSJim Jagielski s.width( 4 ); s.fill( (const char)250 );
68*b1cdbd2cSJim Jagielski s << hex ;
69*b1cdbd2cSJim Jagielski return s;
70*b1cdbd2cSJim Jagielski }
71*b1cdbd2cSJim Jagielski
hex6(ostream & s)72*b1cdbd2cSJim Jagielski ostream& __cdecl hex6( ostream& s ) {
73*b1cdbd2cSJim Jagielski s.width( 6 ); s.fill( (const char)250 );
74*b1cdbd2cSJim Jagielski s << hex ;
75*b1cdbd2cSJim Jagielski return s;
76*b1cdbd2cSJim Jagielski }
77*b1cdbd2cSJim Jagielski
hex8(ostream & s)78*b1cdbd2cSJim Jagielski ostream& __cdecl hex8( ostream& s ) {
79*b1cdbd2cSJim Jagielski s.width( 8 ); s.fill( (const char)250 );
80*b1cdbd2cSJim Jagielski s << hex ;
81*b1cdbd2cSJim Jagielski return s;
82*b1cdbd2cSJim Jagielski }
83*b1cdbd2cSJim Jagielski
dec2(ostream & s)84*b1cdbd2cSJim Jagielski ostream& __cdecl dec2( ostream& s ) {
85*b1cdbd2cSJim Jagielski s << dec;
86*b1cdbd2cSJim Jagielski s.width( 0 ); s.fill( 0 );
87*b1cdbd2cSJim Jagielski return s;
88*b1cdbd2cSJim Jagielski }
89*b1cdbd2cSJim Jagielski
filepos(ostream & s,SvStream & rSt)90*b1cdbd2cSJim Jagielski ostream& __cdecl filepos( ostream& s, SvStream& rSt ) {
91*b1cdbd2cSJim Jagielski long pos = rSt.Tell();
92*b1cdbd2cSJim Jagielski
93*b1cdbd2cSJim Jagielski if ( pos != lastpos ){
94*b1cdbd2cSJim Jagielski #ifndef DumpVer8
95*b1cdbd2cSJim Jagielski if( &rSt == &xStrm )
96*b1cdbd2cSJim Jagielski s << "D";
97*b1cdbd2cSJim Jagielski else
98*b1cdbd2cSJim Jagielski s << "T";
99*b1cdbd2cSJim Jagielski #endif
100*b1cdbd2cSJim Jagielski s.width( 6 );
101*b1cdbd2cSJim Jagielski s.fill( (const char)250 );
102*b1cdbd2cSJim Jagielski s << hex << pos << dec << ' ';
103*b1cdbd2cSJim Jagielski s.width( 0 ); s.fill( 0 );
104*b1cdbd2cSJim Jagielski lastpos = pos;
105*b1cdbd2cSJim Jagielski }else{
106*b1cdbd2cSJim Jagielski #ifndef DumpVer8
107*b1cdbd2cSJim Jagielski s << " ";
108*b1cdbd2cSJim Jagielski #else
109*b1cdbd2cSJim Jagielski s << " ";
110*b1cdbd2cSJim Jagielski #endif
111*b1cdbd2cSJim Jagielski }
112*b1cdbd2cSJim Jagielski return s;
113*b1cdbd2cSJim Jagielski }
114*b1cdbd2cSJim Jagielski
indent(ostream & s,SvStream & rSt)115*b1cdbd2cSJim Jagielski ostream& __cdecl indent( ostream& s, SvStream& rSt ) {
116*b1cdbd2cSJim Jagielski filepos( s, rSt );
117*b1cdbd2cSJim Jagielski for( int i = 0; i < level; i++ ) s << " ";
118*b1cdbd2cSJim Jagielski return s;
119*b1cdbd2cSJim Jagielski }
120*b1cdbd2cSJim Jagielski
indent1(ostream & s)121*b1cdbd2cSJim Jagielski ostream& __cdecl indent1( ostream& s ) {
122*b1cdbd2cSJim Jagielski for( int i = 0; i < level; i++ ) s << " ";
123*b1cdbd2cSJim Jagielski return s;
124*b1cdbd2cSJim Jagielski }
125*b1cdbd2cSJim Jagielski
indent2(ostream & s)126*b1cdbd2cSJim Jagielski ostream& __cdecl indent2( ostream& s ) {
127*b1cdbd2cSJim Jagielski #ifndef DumpVer8
128*b1cdbd2cSJim Jagielski s << " " << indent1;
129*b1cdbd2cSJim Jagielski #else
130*b1cdbd2cSJim Jagielski s << " " << indent1;
131*b1cdbd2cSJim Jagielski #endif
132*b1cdbd2cSJim Jagielski return s;
133*b1cdbd2cSJim Jagielski }
134*b1cdbd2cSJim Jagielski
begin(ostream & s,SvStream & rSt)135*b1cdbd2cSJim Jagielski ostream& __cdecl begin( ostream& s, SvStream& rSt ) { indent( s, rSt ) << "BEGIN "; level++; return s; }
136*b1cdbd2cSJim Jagielski
137*b1cdbd2cSJim Jagielski // begin1 ohne indent
begin1(ostream & s)138*b1cdbd2cSJim Jagielski ostream& __cdecl begin1( ostream& s ) { s << "BEGIN "; level++; return s; }
139*b1cdbd2cSJim Jagielski
140*b1cdbd2cSJim Jagielski // begin2 ohne Nummer
begin2(ostream & s)141*b1cdbd2cSJim Jagielski ostream& __cdecl begin2( ostream& s ) { s << indent2 << "BEGIN "; level++; return s; }
142*b1cdbd2cSJim Jagielski
end(ostream & s,SvStream & rSt)143*b1cdbd2cSJim Jagielski ostream& __cdecl end( ostream& s, SvStream& rSt ) { level--; return indent( s, rSt ) << "END "; }
144*b1cdbd2cSJim Jagielski
145*b1cdbd2cSJim Jagielski // end1 ohne filepos
end1(ostream & s)146*b1cdbd2cSJim Jagielski ostream& __cdecl end1( ostream& s ) { level--; return s << indent1 << "END "; }
147*b1cdbd2cSJim Jagielski
148*b1cdbd2cSJim Jagielski // end2 ohne Nummer
end2(ostream & s)149*b1cdbd2cSJim Jagielski ostream& __cdecl end2( ostream& s ) { level--; return s << indent2 << "END "; }
150*b1cdbd2cSJim Jagielski
151*b1cdbd2cSJim Jagielski //-----------------------------------------
152*b1cdbd2cSJim Jagielski // Ausgabe-Funktionen
153*b1cdbd2cSJim Jagielski //-----------------------------------------
154*b1cdbd2cSJim Jagielski
OutBool(SvStream & rSt,short)155*b1cdbd2cSJim Jagielski void OutBool( SvStream& rSt, short )
156*b1cdbd2cSJim Jagielski {
157*b1cdbd2cSJim Jagielski sal_uInt8 nPara;
158*b1cdbd2cSJim Jagielski
159*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
160*b1cdbd2cSJim Jagielski switch( nPara ){
161*b1cdbd2cSJim Jagielski case 0: *pOut << "F"; break;
162*b1cdbd2cSJim Jagielski case 1: *pOut << "T"; break;
163*b1cdbd2cSJim Jagielski default: *pOut << "ERROR:" << (sal_uInt16)nPara; break;
164*b1cdbd2cSJim Jagielski }
165*b1cdbd2cSJim Jagielski }
166*b1cdbd2cSJim Jagielski
OutBool4(SvStream & rSt,short)167*b1cdbd2cSJim Jagielski void OutBool4( SvStream& rSt, short )
168*b1cdbd2cSJim Jagielski {
169*b1cdbd2cSJim Jagielski sal_uInt8 nPara;
170*b1cdbd2cSJim Jagielski
171*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
172*b1cdbd2cSJim Jagielski switch( nPara ){
173*b1cdbd2cSJim Jagielski case 0: *pOut << "F"; break;
174*b1cdbd2cSJim Jagielski case 1: *pOut << "T"; break;
175*b1cdbd2cSJim Jagielski case 128: *pOut << "==Style"; break;
176*b1cdbd2cSJim Jagielski case 129: *pOut << "!=Style"; break;
177*b1cdbd2cSJim Jagielski default: *pOut << "ERROR:" << (sal_uInt16)nPara; break;
178*b1cdbd2cSJim Jagielski }
179*b1cdbd2cSJim Jagielski }
180*b1cdbd2cSJim Jagielski
OutByte(SvStream & rSt,short)181*b1cdbd2cSJim Jagielski void OutByte( SvStream& rSt, short )
182*b1cdbd2cSJim Jagielski {
183*b1cdbd2cSJim Jagielski sal_uInt8 nPara;
184*b1cdbd2cSJim Jagielski
185*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
186*b1cdbd2cSJim Jagielski *pOut << (sal_uInt16)nPara;
187*b1cdbd2cSJim Jagielski }
188*b1cdbd2cSJim Jagielski
OutShort(SvStream & rSt,short)189*b1cdbd2cSJim Jagielski void OutShort( SvStream& rSt, short )
190*b1cdbd2cSJim Jagielski {
191*b1cdbd2cSJim Jagielski short nPara;
192*b1cdbd2cSJim Jagielski
193*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
194*b1cdbd2cSJim Jagielski *pOut << nPara;
195*b1cdbd2cSJim Jagielski }
196*b1cdbd2cSJim Jagielski
OutShorts(SvStream & rSt,short nLen)197*b1cdbd2cSJim Jagielski void OutShorts( SvStream& rSt, short nLen )
198*b1cdbd2cSJim Jagielski {
199*b1cdbd2cSJim Jagielski sal_Int16 nPara;
200*b1cdbd2cSJim Jagielski
201*b1cdbd2cSJim Jagielski for( short i = 0; i < nLen / 2; i++ ){
202*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
203*b1cdbd2cSJim Jagielski *pOut << nPara << ' ';
204*b1cdbd2cSJim Jagielski }
205*b1cdbd2cSJim Jagielski }
206*b1cdbd2cSJim Jagielski
OutWord(SvStream & rSt,short)207*b1cdbd2cSJim Jagielski void OutWord( SvStream& rSt, short )
208*b1cdbd2cSJim Jagielski {
209*b1cdbd2cSJim Jagielski sal_uInt16 nPara;
210*b1cdbd2cSJim Jagielski
211*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
212*b1cdbd2cSJim Jagielski *pOut << nPara;
213*b1cdbd2cSJim Jagielski }
214*b1cdbd2cSJim Jagielski
OutWords(SvStream & rSt,short nLen)215*b1cdbd2cSJim Jagielski void OutWords( SvStream& rSt, short nLen )
216*b1cdbd2cSJim Jagielski {
217*b1cdbd2cSJim Jagielski sal_uInt16 nPara;
218*b1cdbd2cSJim Jagielski
219*b1cdbd2cSJim Jagielski for( short i = 0; i < nLen / 2; i++ ){
220*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
221*b1cdbd2cSJim Jagielski *pOut << nPara;
222*b1cdbd2cSJim Jagielski }
223*b1cdbd2cSJim Jagielski }
224*b1cdbd2cSJim Jagielski
OutWordHex(SvStream & rSt,short)225*b1cdbd2cSJim Jagielski void OutWordHex( SvStream& rSt, short )
226*b1cdbd2cSJim Jagielski {
227*b1cdbd2cSJim Jagielski sal_uInt16 nPara;
228*b1cdbd2cSJim Jagielski
229*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
230*b1cdbd2cSJim Jagielski *pOut << "0x" << hex4 << nPara << dec;
231*b1cdbd2cSJim Jagielski }
232*b1cdbd2cSJim Jagielski
OutWordsHex(SvStream & rSt,short nLen)233*b1cdbd2cSJim Jagielski void OutWordsHex( SvStream& rSt, short nLen )
234*b1cdbd2cSJim Jagielski {
235*b1cdbd2cSJim Jagielski sal_uInt16 nPara;
236*b1cdbd2cSJim Jagielski nLen /= sizeof( nPara );
237*b1cdbd2cSJim Jagielski for( short i = 0; i < nLen; i++ ){
238*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
239*b1cdbd2cSJim Jagielski *pOut << "0x" << hex4 << nPara << dec;
240*b1cdbd2cSJim Jagielski if( i < nLen - 1 )
241*b1cdbd2cSJim Jagielski *pOut << ' ';
242*b1cdbd2cSJim Jagielski }
243*b1cdbd2cSJim Jagielski }
244*b1cdbd2cSJim Jagielski
OutLongsHex(SvStream & rSt,short nLen)245*b1cdbd2cSJim Jagielski void OutLongsHex( SvStream& rSt, short nLen )
246*b1cdbd2cSJim Jagielski {
247*b1cdbd2cSJim Jagielski long nPara;
248*b1cdbd2cSJim Jagielski nLen /= sizeof( nPara );
249*b1cdbd2cSJim Jagielski for( short i = 0; i < nLen; i++ )
250*b1cdbd2cSJim Jagielski {
251*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
252*b1cdbd2cSJim Jagielski *pOut << "0x" << hex8 << nPara << dec;
253*b1cdbd2cSJim Jagielski if( i < nLen - 1 )
254*b1cdbd2cSJim Jagielski *pOut << ' ';
255*b1cdbd2cSJim Jagielski }
256*b1cdbd2cSJim Jagielski }
257*b1cdbd2cSJim Jagielski
OutLongHex(SvStream & rSt,short)258*b1cdbd2cSJim Jagielski void OutLongHex( SvStream& rSt, short )
259*b1cdbd2cSJim Jagielski {
260*b1cdbd2cSJim Jagielski sal_uLong nPara;
261*b1cdbd2cSJim Jagielski
262*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
263*b1cdbd2cSJim Jagielski *pOut << "0x" << hex8 << nPara << dec;
264*b1cdbd2cSJim Jagielski }
265*b1cdbd2cSJim Jagielski
OutTab68(SvStream & rSt,short)266*b1cdbd2cSJim Jagielski void OutTab68( SvStream& rSt, short )
267*b1cdbd2cSJim Jagielski {
268*b1cdbd2cSJim Jagielski sal_uLong nPara;
269*b1cdbd2cSJim Jagielski
270*b1cdbd2cSJim Jagielski rSt.Read( &nPara, sizeof( nPara ) );
271*b1cdbd2cSJim Jagielski if( nPara == 0 )
272*b1cdbd2cSJim Jagielski *pOut << "None";
273*b1cdbd2cSJim Jagielski else
274*b1cdbd2cSJim Jagielski *pOut << "0x" << hex8 << nPara << dec;
275*b1cdbd2cSJim Jagielski }
276*b1cdbd2cSJim Jagielski
277*b1cdbd2cSJim Jagielski
OutTab(SvStream & rSt,short)278*b1cdbd2cSJim Jagielski void OutTab( SvStream& rSt, short )
279*b1cdbd2cSJim Jagielski {
280*b1cdbd2cSJim Jagielski sal_uInt8 nDel, nIns, nType;
281*b1cdbd2cSJim Jagielski short nPos, i;
282*b1cdbd2cSJim Jagielski
283*b1cdbd2cSJim Jagielski rSt.Read( &nDel, sizeof( nDel ) );
284*b1cdbd2cSJim Jagielski *pOut << "Del " << (sal_uInt16)nDel;
285*b1cdbd2cSJim Jagielski if ( nDel ) *pOut << ": ";
286*b1cdbd2cSJim Jagielski else *pOut << ", ";
287*b1cdbd2cSJim Jagielski
288*b1cdbd2cSJim Jagielski for( i=1; i<=nDel; i++){
289*b1cdbd2cSJim Jagielski rSt.Read( &nPos, sizeof( nPos ) );
290*b1cdbd2cSJim Jagielski *pOut << nPos;
291*b1cdbd2cSJim Jagielski if( i<nDel ) *pOut << ',';
292*b1cdbd2cSJim Jagielski else *pOut << ' ';
293*b1cdbd2cSJim Jagielski }
294*b1cdbd2cSJim Jagielski rSt.Read( &nIns, sizeof( nIns ) );
295*b1cdbd2cSJim Jagielski *pOut << "Ins " << (sal_uInt16)nIns;
296*b1cdbd2cSJim Jagielski if ( nIns ) *pOut << ": ";
297*b1cdbd2cSJim Jagielski
298*b1cdbd2cSJim Jagielski for( i=1; i<=nIns; i++){
299*b1cdbd2cSJim Jagielski rSt.Read( &nPos, sizeof( nPos ) );
300*b1cdbd2cSJim Jagielski *pOut << nPos;
301*b1cdbd2cSJim Jagielski if( i<nIns ) *pOut << ',';
302*b1cdbd2cSJim Jagielski else *pOut << ' ';
303*b1cdbd2cSJim Jagielski }
304*b1cdbd2cSJim Jagielski if ( nIns ) *pOut << "Typ: ";
305*b1cdbd2cSJim Jagielski
306*b1cdbd2cSJim Jagielski for( i=1; i<=nIns; i++){
307*b1cdbd2cSJim Jagielski rSt.Read( &nType, sizeof( nType ) );
308*b1cdbd2cSJim Jagielski *pOut << (sal_uInt16)nType;
309*b1cdbd2cSJim Jagielski if( i<nIns ) *pOut << ',';
310*b1cdbd2cSJim Jagielski else *pOut << ' ';
311*b1cdbd2cSJim Jagielski }
312*b1cdbd2cSJim Jagielski
313*b1cdbd2cSJim Jagielski // nSiz = 1 + 2 * nDel + 1 + nIns * 3; // genaue Laenge,
314*b1cdbd2cSJim Jagielski // stimmt auch bei Laenge > 256
315*b1cdbd2cSJim Jagielski // bei diesem Tab-Befehl anscheinend nicht noetig
316*b1cdbd2cSJim Jagielski }
317*b1cdbd2cSJim Jagielski
OutTab190(SvStream & rSt,short nLen)318*b1cdbd2cSJim Jagielski void OutTab190( SvStream& rSt, short nLen )
319*b1cdbd2cSJim Jagielski {
320*b1cdbd2cSJim Jagielski sal_uInt8 nCols;
321*b1cdbd2cSJim Jagielski rSt.Read( &nCols, sizeof( nCols ) );
322*b1cdbd2cSJim Jagielski *pOut << (sal_uInt16)nCols << " Cols: ";
323*b1cdbd2cSJim Jagielski
324*b1cdbd2cSJim Jagielski short nPos, i;
325*b1cdbd2cSJim Jagielski for( i = 0; i <= nCols; i++ ){
326*b1cdbd2cSJim Jagielski rSt.Read( &nPos, sizeof( nPos ) );
327*b1cdbd2cSJim Jagielski *pOut << nPos;
328*b1cdbd2cSJim Jagielski if( i < nCols )
329*b1cdbd2cSJim Jagielski *pOut << ", ";
330*b1cdbd2cSJim Jagielski }
331*b1cdbd2cSJim Jagielski *pOut << dec << "; ";
332*b1cdbd2cSJim Jagielski for( i = 0; i < nCols; i++ ){
333*b1cdbd2cSJim Jagielski *pOut << "Col " << i << " TC: ";
334*b1cdbd2cSJim Jagielski OutWordsHex( rSt, 10 );
335*b1cdbd2cSJim Jagielski if( i < nCols - 1 )
336*b1cdbd2cSJim Jagielski *pOut << "; ";
337*b1cdbd2cSJim Jagielski }
338*b1cdbd2cSJim Jagielski }
339*b1cdbd2cSJim Jagielski
OutTab191(SvStream & rSt,short nLen)340*b1cdbd2cSJim Jagielski void OutTab191( SvStream& rSt, short nLen )
341*b1cdbd2cSJim Jagielski {
342*b1cdbd2cSJim Jagielski sal_uInt8 nCols;
343*b1cdbd2cSJim Jagielski rSt.Read( &nCols, sizeof( nCols ) );
344*b1cdbd2cSJim Jagielski *pOut << (sal_uInt16)nCols << " Cols, SHDs: ";
345*b1cdbd2cSJim Jagielski OutWordsHex( rSt, ( nCols + 1 ) * 2 );
346*b1cdbd2cSJim Jagielski }
347*b1cdbd2cSJim Jagielski
OutTab192(SvStream & rSt,short)348*b1cdbd2cSJim Jagielski void OutTab192( SvStream& rSt, short )
349*b1cdbd2cSJim Jagielski {
350*b1cdbd2cSJim Jagielski OutWord( rSt, 0 );
351*b1cdbd2cSJim Jagielski OutWordHex( rSt, 0 );
352*b1cdbd2cSJim Jagielski }
353*b1cdbd2cSJim Jagielski
OutHugeHex(SvStream & rSt,short nLen)354*b1cdbd2cSJim Jagielski void OutHugeHex( SvStream& rSt, short nLen )
355*b1cdbd2cSJim Jagielski {
356*b1cdbd2cSJim Jagielski long nPos;
357*b1cdbd2cSJim Jagielski rSt.Read( &nPos, sizeof( nPos ) );
358*b1cdbd2cSJim Jagielski
359*b1cdbd2cSJim Jagielski long nCurr = xDataStream->Tell();
360*b1cdbd2cSJim Jagielski xDataStream->Seek( nPos );
361*b1cdbd2cSJim Jagielski
362*b1cdbd2cSJim Jagielski xDataStream->Read( &nLen, sizeof( nLen ) );
363*b1cdbd2cSJim Jagielski
364*b1cdbd2cSJim Jagielski // *pOut << ", Len max: " << nLen << ", ID:" << nIStd << endl1;
365*b1cdbd2cSJim Jagielski *pOut << endl1;
366*b1cdbd2cSJim Jagielski DumpSprms( 8, *xDataStream, nLen );
367*b1cdbd2cSJim Jagielski
368*b1cdbd2cSJim Jagielski xDataStream->Seek( nCurr );
369*b1cdbd2cSJim Jagielski }
370*b1cdbd2cSJim Jagielski
OutTabD608(SvStream & rSt,short nLen)371*b1cdbd2cSJim Jagielski void OutTabD608( SvStream& rSt, short nLen )
372*b1cdbd2cSJim Jagielski {
373*b1cdbd2cSJim Jagielski sal_uInt8 nHi, nCols;
374*b1cdbd2cSJim Jagielski rSt.Read( &nHi, sizeof( nHi ) );
375*b1cdbd2cSJim Jagielski // nLen += ((short)nHi) << 8;
376*b1cdbd2cSJim Jagielski
377*b1cdbd2cSJim Jagielski rSt.Read( &nCols, sizeof( nCols ) );
378*b1cdbd2cSJim Jagielski *pOut << " Cols: " << (short)nCols << ' ' << endl1 << indent2;
379*b1cdbd2cSJim Jagielski
380*b1cdbd2cSJim Jagielski short nPos, i;
381*b1cdbd2cSJim Jagielski for( i = 0; i <= nCols; ++i )
382*b1cdbd2cSJim Jagielski {
383*b1cdbd2cSJim Jagielski rSt.Read( &nPos, sizeof( nPos ) );
384*b1cdbd2cSJim Jagielski *pOut << nPos;
385*b1cdbd2cSJim Jagielski if( i < nCols )
386*b1cdbd2cSJim Jagielski *pOut << ", ";
387*b1cdbd2cSJim Jagielski }
388*b1cdbd2cSJim Jagielski nLen -= ( nCols + 1 ) * 2;
389*b1cdbd2cSJim Jagielski nLen /= 20;
390*b1cdbd2cSJim Jagielski
391*b1cdbd2cSJim Jagielski for( i = 0; i < nLen; ++i )
392*b1cdbd2cSJim Jagielski {
393*b1cdbd2cSJim Jagielski *pOut << endl1 << indent2 << "Col " << i << " TC: ";
394*b1cdbd2cSJim Jagielski OutLongsHex( rSt, 20 );
395*b1cdbd2cSJim Jagielski if( i < nLen - 1 )
396*b1cdbd2cSJim Jagielski *pOut << "; ";
397*b1cdbd2cSJim Jagielski }
398*b1cdbd2cSJim Jagielski }
399*b1cdbd2cSJim Jagielski
OutTabD609(SvStream & rSt,short nLen)400*b1cdbd2cSJim Jagielski void OutTabD609( SvStream& rSt, short nLen )
401*b1cdbd2cSJim Jagielski {
402*b1cdbd2cSJim Jagielski *pOut << " Brush(FBS): ";
403*b1cdbd2cSJim Jagielski for( short i = 0; i < nLen / 2; ++i )
404*b1cdbd2cSJim Jagielski {
405*b1cdbd2cSJim Jagielski sal_uInt16 nVal;
406*b1cdbd2cSJim Jagielski rSt.Read( &nVal, sizeof( nVal ) );
407*b1cdbd2cSJim Jagielski *pOut << (nVal & 0x1f);
408*b1cdbd2cSJim Jagielski *pOut << "|" << ((nVal >> 5) & 0x1f);
409*b1cdbd2cSJim Jagielski *pOut << "|" << ((nVal >> 10) & 0x3f);
410*b1cdbd2cSJim Jagielski if( i < nLen )
411*b1cdbd2cSJim Jagielski *pOut << ", ";
412*b1cdbd2cSJim Jagielski }
413*b1cdbd2cSJim Jagielski }
414*b1cdbd2cSJim Jagielski
415*b1cdbd2cSJim Jagielski
416