LibreOffice Module lotuswordpro (master)
1
lotuswordpro
source
filter
lwpdivopts.cxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*************************************************************************
3
*
4
* The Contents of this file are made available subject to the terms of
5
* either of the following licenses
6
*
7
* - GNU Lesser General Public License Version 2.1
8
* - Sun Industry Standards Source License Version 1.1
9
*
10
* Sun Microsystems Inc., October, 2000
11
*
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
16
*
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.
20
*
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.
25
*
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
30
*
31
*
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.
38
*
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.
45
*
46
* The Initial Developer of the Original Code is: IBM Corporation
47
*
48
* Copyright: 2008 by IBM Corporation
49
*
50
* All Rights Reserved.
51
*
52
* Contributor(s): _______________________________________
53
*
54
*
55
************************************************************************/
56
/*************************************************************************
57
* @file
58
* For LWP filter architecture prototype
59
************************************************************************/
60
61
#include "
lwpdivopts.hxx
"
62
#include <
lwpfilehdr.hxx
>
63
64
LwpHyphenOptions::LwpHyphenOptions
()
65
:
m_nFlags
(0)
66
, m_nZoneBefore(0)
67
, m_nZoneAfter(0)
68
, m_nMaxLines(0)
69
{
70
}
71
72
void
LwpHyphenOptions::Read
(
LwpObjectStream
*pStrm)
73
{
74
m_nFlags
= pStrm->
QuickReaduInt16
();
75
m_nZoneBefore
= pStrm->
QuickReaduInt16
();
76
m_nZoneAfter
= pStrm->
QuickReaduInt16
();
77
m_nMaxLines
= pStrm->
QuickReaduInt16
();
78
pStrm->
SkipExtra
();
79
}
80
81
LwpTextLanguage::LwpTextLanguage
()
82
: m_nLanguage(0)
83
{
84
}
85
86
void
LwpTextLanguage::Read
(
LwpObjectStream
*pStrm)
87
{
88
m_nLanguage
= pStrm->
QuickReaduInt16
();
89
pStrm->
SkipExtra
();
90
91
if
(
LwpFileHeader::m_nFileRevision
<= 0x0a)
92
m_nLanguage
=
ConvertFrom96
(
m_nLanguage
);
93
}
94
95
sal_uInt16
LwpTextLanguage::ConvertFrom96
(sal_uInt16 orgLang)
96
{
97
// Reading a Word Pro 96 into Word Pro 97
98
switch
(orgLang)
99
{
100
case
0x2809U:
// AMI_MEDICAL 96
101
orgLang = 0x8409U;
//0x8409U 97
102
break
;
103
case
0x2C09U:
// AMI_BRMEDICAL 96
104
orgLang = 0x8809U;
// 0x8809U 97
105
break
;
106
case
0x3409U:
// AMI_BRITISHMEDIZE 96
107
orgLang = 0x8C09U;
// 0x8C09U 97
108
break
;
109
case
0x3009U:
// AMI_BRITISHIZE 96
110
orgLang = 0x1009U;
// 0x1009U 97
111
break
;
112
case
0x819U:
// AMI_RUSSIANIO 96
113
orgLang = 0x8419U;
// 0x8419U 97
114
break
;
115
}
116
return
orgLang;
117
}
118
119
LwpDivisionOptions::LwpDivisionOptions
(
LwpObjectHeader
const
& objHdr,
LwpSvStream
* pStrm)
120
:
LwpObject
(objHdr, pStrm)
121
, m_nOptionFlag(0)
122
{
123
}
124
125
LwpDivisionOptions::~LwpDivisionOptions
()
126
{}
127
128
void
LwpDivisionOptions::Read
()
129
{
130
m_HyphOpts
.
Read
(
m_pObjStrm
.get());
131
m_nOptionFlag
=
m_pObjStrm
->QuickReaduInt16();
132
m_Lang
.
Read
(
m_pObjStrm
.get());
133
m_pObjStrm
->SkipExtra();
134
}
135
136
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
LwpDivisionOptions::m_Lang
LwpTextLanguage m_Lang
Definition:
lwpdivopts.hxx:114
LwpDivisionOptions::m_HyphOpts
LwpHyphenOptions m_HyphOpts
Definition:
lwpdivopts.hxx:112
LwpDivisionOptions::LwpDivisionOptions
LwpDivisionOptions(LwpObjectHeader const &objHdr, LwpSvStream *pStrm)
Definition:
lwpdivopts.cxx:119
LwpDivisionOptions::m_nOptionFlag
sal_uInt16 m_nOptionFlag
Definition:
lwpdivopts.hxx:113
LwpDivisionOptions::~LwpDivisionOptions
virtual ~LwpDivisionOptions() override
Definition:
lwpdivopts.cxx:125
LwpDivisionOptions::Read
void Read() override
@descr default read function
Definition:
lwpdivopts.cxx:128
LwpFileHeader::m_nFileRevision
static sal_uInt16 m_nFileRevision
Definition:
lwpfilehdr.hxx:77
LwpHyphenOptions::m_nZoneBefore
sal_uInt16 m_nZoneBefore
Definition:
lwpdivopts.hxx:76
LwpHyphenOptions::m_nZoneAfter
sal_uInt16 m_nZoneAfter
Definition:
lwpdivopts.hxx:77
LwpHyphenOptions::m_nFlags
sal_uInt16 m_nFlags
Definition:
lwpdivopts.hxx:75
LwpHyphenOptions::LwpHyphenOptions
LwpHyphenOptions()
Definition:
lwpdivopts.cxx:64
LwpHyphenOptions::Read
void Read(LwpObjectStream *pStrm)
Definition:
lwpdivopts.cxx:72
LwpHyphenOptions::m_nMaxLines
sal_uInt16 m_nMaxLines
Definition:
lwpdivopts.hxx:78
LwpObjectHeader
Base class of all Lwp VO objects.
Definition:
lwpobjhdr.hxx:71
LwpObjectStream
stream class for LwpObject body data provide stream like interface to read object data
Definition:
lwpobjstrm.hxx:77
LwpObjectStream::QuickReaduInt16
sal_uInt16 QuickReaduInt16(bool *pFailure=nullptr)
@descr Quick read sal_uInt32
Definition:
lwpobjstrm.cxx:200
LwpObjectStream::SkipExtra
void SkipExtra()
@descr skip extra bytes
Definition:
lwpobjstrm.cxx:258
LwpObject
Base class of all Lwp VO objects.
Definition:
lwpobj.hxx:83
LwpObject::m_pObjStrm
std::unique_ptr< LwpObjectStream > m_pObjStrm
Definition:
lwpobj.hxx:90
LwpSvStream
encapsulate XInputStream to provide SvStream like interfaces
Definition:
lwpsvstream.hxx:69
LwpTextLanguage::LwpTextLanguage
LwpTextLanguage()
Definition:
lwpdivopts.cxx:81
LwpTextLanguage::m_nLanguage
sal_uInt16 m_nLanguage
Definition:
lwpdivopts.hxx:98
LwpTextLanguage::ConvertFrom96
static sal_uInt16 ConvertFrom96(sal_uInt16 orgLang)
Definition:
lwpdivopts.cxx:95
LwpTextLanguage::Read
void Read(LwpObjectStream *pStrm)
Definition:
lwpdivopts.cxx:86
m_nFlags
sal_Int32 m_nFlags
lwpdivopts.hxx
lwpfilehdr.hxx
Generated on Sun Jul 30 2023 04:29:23 for LibreOffice Module lotuswordpro (master) by
1.9.3