Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
71e021c4
Kaydet (Commit)
71e021c4
authored
Ara 13, 2000
tarafından
Armin Weiss
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
#81908# corrected and cleanedup import/export of int and double numbers
üst
e6e6082e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
147 additions
and
138 deletions
+147
-138
xexptran.cxx
xmloff/source/draw/xexptran.cxx
+147
-138
No files found.
xmloff/source/draw/xexptran.cxx
Dosyayı görüntüle @
71e021c4
...
@@ -2,9 +2,9 @@
...
@@ -2,9 +2,9 @@
*
*
* $RCSfile: xexptran.cxx,v $
* $RCSfile: xexptran.cxx,v $
*
*
* $Revision: 1.
3
$
* $Revision: 1.
4
$
*
*
* last change: $Author: aw $ $Date: 2000-12-
07 15:15:53
$
* last change: $Author: aw $ $Date: 2000-12-
13 11:02:34
$
*
*
* The Contents of this file are made available subject to the terms of
* The Contents of this file are made available subject to the terms of
* either of the following licenses
* either of the following licenses
...
@@ -86,7 +86,7 @@ using namespace ::com::sun::star;
...
@@ -86,7 +86,7 @@ using namespace ::com::sun::star;
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// parsing help functions
, no clas
s
// parsing help functions
for simple char
s
void
Imp_SkipSpaces
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
)
void
Imp_SkipSpaces
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
)
{
{
while
(
rPos
<
nLen
while
(
rPos
<
nLen
...
@@ -115,63 +115,51 @@ void Imp_SkipSpacesAndClosingBraces(const UniString& rStr, xub_StrLen& rPos, con
...
@@ -115,63 +115,51 @@ void Imp_SkipSpacesAndClosingBraces(const UniString& rStr, xub_StrLen& rPos, con
rPos
++
;
rPos
++
;
}
}
sal_Bool
Imp_IsOnNumberChar
(
const
UniString
&
rStr
,
const
xub_StrLen
nPos
,
//////////////////////////////////////////////////////////////////////////////
BOOL
bSignIsNumber
=
TRUE
,
BOOL
bPointIsNumber
=
FALSE
)
//////////////////////////////////////////////////////////////////////////////
// parsing help functions for integer numbers
sal_Bool
Imp_IsOnNumberChar
(
const
UniString
&
rStr
,
const
xub_StrLen
nPos
,
BOOL
bSignAllowed
=
TRUE
)
{
{
sal_Unicode
aChar
(
rStr
.
GetChar
(
nPos
));
sal_Unicode
aChar
(
rStr
.
GetChar
(
nPos
));
if
((
sal_Unicode
(
'0'
)
<=
aChar
&&
sal_Unicode
(
'9'
)
>=
aChar
)
if
((
sal_Unicode
(
'0'
)
<=
aChar
&&
sal_Unicode
(
'9'
)
>=
aChar
)
||
(
bSign
IsNumber
&&
(
sal_Unicode
(
'-'
)
==
aChar
||
sal_Unicode
(
'+'
)
==
aChar
)
)
||
(
bSign
Allowed
&&
sal_Unicode
(
'+'
)
==
aChar
)
||
(
b
PointIsNumber
&&
sal_Unicode
(
'.
'
)
==
aChar
)
||
(
b
SignAllowed
&&
sal_Unicode
(
'-
'
)
==
aChar
)
)
)
return
TRUE
;
return
TRUE
;
return
FALSE
;
return
FALSE
;
}
}
void
Imp_SkipNumber
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
,
void
Imp_SkipNumber
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
)
BOOL
bSignIsNumber
=
TRUE
,
BOOL
bPointIsNumber
=
FALSE
)
{
{
sal_Bool
bFirstSign
(
TRUE
);
BOOL
bSignAllowed
(
TRUE
);
while
(
rPos
<
nLen
&&
Imp_IsOnNumberChar
(
rStr
,
rPos
,
bSign
IsNumber
&&
bFirstSign
,
bPointIsNumber
))
while
(
rPos
<
nLen
&&
Imp_IsOnNumberChar
(
rStr
,
rPos
,
bSign
Allowed
))
{
{
bSignAllowed
=
FALSE
;
rPos
++
;
rPos
++
;
bFirstSign
=
FALSE
;
}
}
}
}
double
Imp_GetNumberChar
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
,
void
Imp_SkipNumberAndSpacesAndCommas
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
SvXMLUnitConverter
&
rConv
,
double
fRetval
,
const
xub_StrLen
nLen
)
BOOL
bSignIsNumber
=
TRUE
,
BOOL
bPointIsNumber
=
FALSE
)
{
{
UniString
aNumberStr
;
Imp_SkipNumber
(
rStr
,
rPos
,
nLen
);
sal_Bool
bFirstSign
(
TRUE
);
Imp_SkipSpacesAndCommas
(
rStr
,
rPos
,
nLen
);
while
(
rPos
<
nLen
&&
Imp_IsOnNumberChar
(
rStr
,
rPos
,
bSignIsNumber
&&
bFirstSign
,
TRUE
))
{
aNumberStr
.
Append
(
rStr
.
GetChar
(
rPos
++
));
bFirstSign
=
FALSE
;
}
if
(
aNumberStr
.
Len
())
{
rConv
.
convertNumber
(
fRetval
,
aNumberStr
);
}
return
fRetval
;
}
}
sal_Int32
Imp_GetNumberChar
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
,
sal_Int32
Imp_GetNumberChar
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
,
const
SvXMLUnitConverter
&
rConv
,
sal_Int32
nRetval
,
const
SvXMLUnitConverter
&
rConv
,
sal_Int32
nRetval
)
BOOL
bSignIsNumber
=
TRUE
,
BOOL
bPointIsNumber
=
FALSE
)
{
{
UniString
aNumberStr
;
UniString
aNumberStr
;
sal_Bool
bFirstSign
(
TRUE
);
BOOL
bCharValid
(
TRUE
);
BOOL
bSignAllowed
(
TRUE
);
while
(
rPos
<
nLen
&&
Imp_IsOnNumberChar
(
rStr
,
rPos
,
bSign
IsNumber
&&
bFirstSign
,
FALSE
))
while
(
rPos
<
nLen
&&
Imp_IsOnNumberChar
(
rStr
,
rPos
,
bSign
Allowed
))
{
{
bSignAllowed
=
FALSE
;
aNumberStr
.
Append
(
rStr
.
GetChar
(
rPos
++
));
aNumberStr
.
Append
(
rStr
.
GetChar
(
rPos
++
));
bFirstSign
=
FALSE
;
}
}
if
(
aNumberStr
.
Len
())
if
(
aNumberStr
.
Len
())
...
@@ -180,17 +168,65 @@ sal_Int32 Imp_GetNumberChar(const UniString& rStr, xub_StrLen& rPos, const xub_S
...
@@ -180,17 +168,65 @@ sal_Int32 Imp_GetNumberChar(const UniString& rStr, xub_StrLen& rPos, const xub_S
return
nRetval
;
return
nRetval
;
}
}
void
Imp_PutNumberChar
(
UniString
&
rStr
,
const
SvXMLUnitConverter
&
rConv
,
double
f
Value
)
void
Imp_PutNumberChar
(
UniString
&
rStr
,
const
SvXMLUnitConverter
&
rConv
,
sal_Int32
n
Value
)
{
{
OUStringBuffer
sStringBuffer
;
OUStringBuffer
sStringBuffer
;
rConv
.
convertNumber
(
sStringBuffer
,
f
Value
);
rConv
.
convertNumber
(
sStringBuffer
,
n
Value
);
rStr
+=
UniString
(
sStringBuffer
.
makeStringAndClear
());
rStr
+=
UniString
(
sStringBuffer
.
makeStringAndClear
());
}
}
void
Imp_PutNumberChar
(
UniString
&
rStr
,
const
SvXMLUnitConverter
&
rConv
,
sal_Int32
nValue
)
void
Imp_PutNumberCharWithSpace
(
UniString
&
rStr
,
const
SvXMLUnitConverter
&
rConv
,
sal_Int32
nValue
)
{
const
xub_StrLen
aLen
(
rStr
.
Len
());
if
(
aLen
)
if
(
Imp_IsOnNumberChar
(
rStr
,
aLen
-
1
,
FALSE
)
&&
nValue
>=
0
)
rStr
+=
sal_Unicode
(
' '
);
Imp_PutNumberChar
(
rStr
,
rConv
,
nValue
);
}
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// parsing help functions for double numbers
sal_Bool
Imp_IsOnDoubleChar
(
const
UniString
&
rStr
,
const
xub_StrLen
nPos
)
{
sal_Unicode
aChar
(
rStr
.
GetChar
(
nPos
));
if
((
sal_Unicode
(
'0'
)
<=
aChar
&&
sal_Unicode
(
'9'
)
>=
aChar
)
||
sal_Unicode
(
'+'
)
==
aChar
||
sal_Unicode
(
'-'
)
==
aChar
||
sal_Unicode
(
'.'
)
==
aChar
||
sal_Unicode
(
'e'
)
==
aChar
||
sal_Unicode
(
'E'
)
==
aChar
)
return
TRUE
;
return
FALSE
;
}
void
Imp_SkipDouble
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
)
{
while
(
rPos
<
nLen
&&
Imp_IsOnDoubleChar
(
rStr
,
rPos
))
rPos
++
;
}
double
Imp_GetDoubleChar
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
,
const
SvXMLUnitConverter
&
rConv
,
double
fRetval
)
{
UniString
aNumberStr
;
while
(
rPos
<
nLen
&&
Imp_IsOnDoubleChar
(
rStr
,
rPos
))
aNumberStr
.
Append
(
rStr
.
GetChar
(
rPos
++
));
if
(
aNumberStr
.
Len
())
rConv
.
convertNumber
(
fRetval
,
aNumberStr
);
return
fRetval
;
}
void
Imp_PutDoubleChar
(
UniString
&
rStr
,
const
SvXMLUnitConverter
&
rConv
,
double
fValue
)
{
{
OUStringBuffer
sStringBuffer
;
OUStringBuffer
sStringBuffer
;
rConv
.
convertNumber
(
sStringBuffer
,
n
Value
);
rConv
.
convertNumber
(
sStringBuffer
,
f
Value
);
rStr
+=
UniString
(
sStringBuffer
.
makeStringAndClear
());
rStr
+=
UniString
(
sStringBuffer
.
makeStringAndClear
());
}
}
...
@@ -332,7 +368,7 @@ const OUString& SdXMLImExTransform2D::GetExportString(const SvXMLUnitConverter&
...
@@ -332,7 +368,7 @@ const OUString& SdXMLImExTransform2D::GetExportString(const SvXMLUnitConverter&
case
IMP_SDXMLEXP_TRANSOBJ2D_ROTATE
:
case
IMP_SDXMLEXP_TRANSOBJ2D_ROTATE
:
{
{
aNewString
+=
UniString
::
CreateFromAscii
(
"rotate ("
);
aNewString
+=
UniString
::
CreateFromAscii
(
"rotate ("
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj2DRotate
*
)
pObj
)
->
mfRotate
);
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj2DRotate
*
)
pObj
)
->
mfRotate
);
aNewString
+=
sal_Unicode
(
')'
);
aNewString
+=
sal_Unicode
(
')'
);
break
;
break
;
}
}
...
@@ -401,7 +437,7 @@ SdXMLImExTransform2D::SdXMLImExTransform2D(const OUString& rNew, const SvXMLUnit
...
@@ -401,7 +437,7 @@ SdXMLImExTransform2D::SdXMLImExTransform2D(const OUString& rNew, const SvXMLUnit
nPos
+=
6
;
nPos
+=
6
;
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
fValue
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
fValue
,
TRUE
,
TRUE
);
fValue
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
fValue
);
if
(
fValue
!=
0.0
)
if
(
fValue
!=
0.0
)
maList
.
Insert
(
new
ImpSdXMLExpTransObj2DRotate
(
fValue
),
LIST_APPEND
);
maList
.
Insert
(
new
ImpSdXMLExpTransObj2DRotate
(
fValue
),
LIST_APPEND
);
...
@@ -613,43 +649,43 @@ const OUString& SdXMLImExTransform3D::GetExportString(const SvXMLUnitConverter&
...
@@ -613,43 +649,43 @@ const OUString& SdXMLImExTransform3D::GetExportString(const SvXMLUnitConverter&
case
IMP_SDXMLEXP_TRANSOBJ3D_ROTATE_X
:
case
IMP_SDXMLEXP_TRANSOBJ3D_ROTATE_X
:
{
{
aNewString
+=
UniString
::
CreateFromAscii
(
"rotatex ("
);
aNewString
+=
UniString
::
CreateFromAscii
(
"rotatex ("
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DRotateX
*
)
pObj
)
->
mfRotateX
);
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DRotateX
*
)
pObj
)
->
mfRotateX
);
aNewString
+=
sal_Unicode
(
')'
);
aNewString
+=
sal_Unicode
(
')'
);
break
;
break
;
}
}
case
IMP_SDXMLEXP_TRANSOBJ3D_ROTATE_Y
:
case
IMP_SDXMLEXP_TRANSOBJ3D_ROTATE_Y
:
{
{
aNewString
+=
UniString
::
CreateFromAscii
(
"rotatey ("
);
aNewString
+=
UniString
::
CreateFromAscii
(
"rotatey ("
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DRotateY
*
)
pObj
)
->
mfRotateY
);
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DRotateY
*
)
pObj
)
->
mfRotateY
);
aNewString
+=
sal_Unicode
(
')'
);
aNewString
+=
sal_Unicode
(
')'
);
break
;
break
;
}
}
case
IMP_SDXMLEXP_TRANSOBJ3D_ROTATE_Z
:
case
IMP_SDXMLEXP_TRANSOBJ3D_ROTATE_Z
:
{
{
aNewString
+=
UniString
::
CreateFromAscii
(
"rotatez ("
);
aNewString
+=
UniString
::
CreateFromAscii
(
"rotatez ("
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DRotateZ
*
)
pObj
)
->
mfRotateZ
);
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DRotateZ
*
)
pObj
)
->
mfRotateZ
);
aNewString
+=
sal_Unicode
(
')'
);
aNewString
+=
sal_Unicode
(
')'
);
break
;
break
;
}
}
case
IMP_SDXMLEXP_TRANSOBJ3D_SCALE
:
case
IMP_SDXMLEXP_TRANSOBJ3D_SCALE
:
{
{
aNewString
+=
UniString
::
CreateFromAscii
(
"scale ("
);
aNewString
+=
UniString
::
CreateFromAscii
(
"scale ("
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DScale
*
)
pObj
)
->
maScale
.
X
());
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DScale
*
)
pObj
)
->
maScale
.
X
());
aNewString
+=
sal_Unicode
(
' '
);
aNewString
+=
sal_Unicode
(
' '
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DScale
*
)
pObj
)
->
maScale
.
Y
());
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DScale
*
)
pObj
)
->
maScale
.
Y
());
aNewString
+=
sal_Unicode
(
' '
);
aNewString
+=
sal_Unicode
(
' '
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DScale
*
)
pObj
)
->
maScale
.
Z
());
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DScale
*
)
pObj
)
->
maScale
.
Z
());
aNewString
+=
sal_Unicode
(
')'
);
aNewString
+=
sal_Unicode
(
')'
);
break
;
break
;
}
}
case
IMP_SDXMLEXP_TRANSOBJ3D_TRANSLATE
:
case
IMP_SDXMLEXP_TRANSOBJ3D_TRANSLATE
:
{
{
aNewString
+=
UniString
::
CreateFromAscii
(
"translate ("
);
aNewString
+=
UniString
::
CreateFromAscii
(
"translate ("
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DTranslate
*
)
pObj
)
->
maTranslate
.
X
());
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DTranslate
*
)
pObj
)
->
maTranslate
.
X
());
aNewString
+=
sal_Unicode
(
' '
);
aNewString
+=
sal_Unicode
(
' '
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DTranslate
*
)
pObj
)
->
maTranslate
.
Y
());
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DTranslate
*
)
pObj
)
->
maTranslate
.
Y
());
aNewString
+=
sal_Unicode
(
' '
);
aNewString
+=
sal_Unicode
(
' '
);
Imp_Put
Number
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DTranslate
*
)
pObj
)
->
maTranslate
.
Z
());
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DTranslate
*
)
pObj
)
->
maTranslate
.
Z
());
aNewString
+=
sal_Unicode
(
')'
);
aNewString
+=
sal_Unicode
(
')'
);
break
;
break
;
}
}
...
@@ -660,7 +696,7 @@ const OUString& SdXMLImExTransform3D::GetExportString(const SvXMLUnitConverter&
...
@@ -660,7 +696,7 @@ const OUString& SdXMLImExTransform3D::GetExportString(const SvXMLUnitConverter&
{
{
for
(
sal_uInt16
b
(
0
);
b
<
3
;
b
++
)
for
(
sal_uInt16
b
(
0
);
b
<
3
;
b
++
)
{
{
Imp_Put
Number
Char
(
aNewString
,
rConv
,
Imp_Put
Double
Char
(
aNewString
,
rConv
,
((
ImpSdXMLExpTransObj3DMatrix
*
)
pObj
)
->
maMatrix
[
a
][
b
]);
((
ImpSdXMLExpTransObj3DMatrix
*
)
pObj
)
->
maMatrix
[
a
][
b
]);
if
(
a
!=
2
||
b
!=
2
)
if
(
a
!=
2
||
b
!=
2
)
aNewString
+=
sal_Unicode
(
' '
);
aNewString
+=
sal_Unicode
(
' '
);
...
@@ -709,7 +745,7 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
...
@@ -709,7 +745,7 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
nPos
+=
7
;
nPos
+=
7
;
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
fValue
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
fValue
,
TRUE
,
TRUE
);
fValue
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
fValue
);
if
(
fValue
!=
0.0
)
if
(
fValue
!=
0.0
)
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DRotateX
(
fValue
),
LIST_APPEND
);
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DRotateX
(
fValue
),
LIST_APPEND
);
...
@@ -722,7 +758,7 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
...
@@ -722,7 +758,7 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
nPos
+=
7
;
nPos
+=
7
;
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
fValue
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
fValue
,
TRUE
,
TRUE
);
fValue
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
fValue
);
if
(
fValue
!=
0.0
)
if
(
fValue
!=
0.0
)
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DRotateY
(
fValue
),
LIST_APPEND
);
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DRotateY
(
fValue
),
LIST_APPEND
);
...
@@ -735,7 +771,7 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
...
@@ -735,7 +771,7 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
nPos
+=
7
;
nPos
+=
7
;
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
fValue
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
fValue
,
TRUE
,
TRUE
);
fValue
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
fValue
);
if
(
fValue
!=
0.0
)
if
(
fValue
!=
0.0
)
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DRotateZ
(
fValue
),
LIST_APPEND
);
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DRotateZ
(
fValue
),
LIST_APPEND
);
...
@@ -748,11 +784,11 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
...
@@ -748,11 +784,11 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
nPos
+=
5
;
nPos
+=
5
;
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
aValue
.
X
()
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
X
(),
TRUE
,
TRUE
);
aValue
.
X
()
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
X
()
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
aValue
.
Y
()
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
Y
(),
TRUE
,
TRUE
);
aValue
.
Y
()
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
Y
()
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
aValue
.
Z
()
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
Z
(),
TRUE
,
TRUE
);
aValue
.
Z
()
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
Z
()
);
if
(
aValue
.
X
()
!=
1.0
||
aValue
.
Y
()
!=
1.0
||
aValue
.
Z
()
!=
1.0
)
if
(
aValue
.
X
()
!=
1.0
||
aValue
.
Y
()
!=
1.0
||
aValue
.
Z
()
!=
1.0
)
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DScale
(
aValue
),
LIST_APPEND
);
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DScale
(
aValue
),
LIST_APPEND
);
...
@@ -766,11 +802,11 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
...
@@ -766,11 +802,11 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
nPos
+=
9
;
nPos
+=
9
;
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndOpeningBraces
(
aStr
,
nPos
,
nLen
);
aValue
.
X
()
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
X
(),
TRUE
,
TRUE
);
aValue
.
X
()
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
X
()
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
aValue
.
Y
()
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
Y
(),
TRUE
,
TRUE
);
aValue
.
Y
()
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
Y
()
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
aValue
.
Z
()
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
Z
(),
TRUE
,
TRUE
);
aValue
.
Z
()
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
.
Z
()
);
if
(
aValue
.
X
()
!=
0.0
||
aValue
.
Y
()
!=
0.0
||
aValue
.
Z
()
!=
0.0
)
if
(
aValue
.
X
()
!=
0.0
||
aValue
.
Y
()
!=
0.0
||
aValue
.
Z
()
!=
0.0
)
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DTranslate
(
aValue
),
LIST_APPEND
);
maList
.
Insert
(
new
ImpSdXMLExpTransObj3DTranslate
(
aValue
),
LIST_APPEND
);
...
@@ -789,7 +825,7 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
...
@@ -789,7 +825,7 @@ SdXMLImExTransform3D::SdXMLImExTransform3D(const OUString& rNew, const SvXMLUnit
{
{
for
(
sal_uInt16
b
(
0
);
b
<
3
;
b
++
)
for
(
sal_uInt16
b
(
0
);
b
<
3
;
b
++
)
{
{
aValue
[
a
][
b
]
=
Imp_Get
NumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
[
a
][
b
],
TRUE
,
TRUE
);
aValue
[
a
][
b
]
=
Imp_Get
DoubleChar
(
aStr
,
nPos
,
nLen
,
rConv
,
aValue
[
a
][
b
]
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
}
}
}
}
...
@@ -910,25 +946,25 @@ SdXMLImExViewBox::SdXMLImExViewBox(const OUString& rNew, const SvXMLUnitConverte
...
@@ -910,25 +946,25 @@ SdXMLImExViewBox::SdXMLImExViewBox(const OUString& rNew, const SvXMLUnitConverte
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
// get mX
// get mX
mnX
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
mnX
,
TRUE
,
TRUE
);
mnX
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
mnX
);
// skip spaces and commas
// skip spaces and commas
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
// get mY
// get mY
mnY
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
mnY
,
TRUE
,
TRUE
);
mnY
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
mnY
);
// skip spaces and commas
// skip spaces and commas
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
// get mW
// get mW
mnW
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
mnW
,
TRUE
,
TRUE
);
mnW
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
mnW
);
// skip spaces and commas
// skip spaces and commas
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
// get mH
// get mH
mnH
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
mnH
,
TRUE
,
TRUE
);
mnH
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
mnH
);
}
}
}
}
...
@@ -1034,13 +1070,13 @@ SdXMLImExPointsElement::SdXMLImExPointsElement(const OUString& rNew,
...
@@ -1034,13 +1070,13 @@ SdXMLImExPointsElement::SdXMLImExPointsElement(const OUString& rNew,
while
(
nPos
<
nLen
)
while
(
nPos
<
nLen
)
{
{
// skip number
// skip number
Imp_SkipNumber
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumber
(
aStr
,
nPos
,
nLen
);
// skip spaces and commas
// skip spaces and commas
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
// get mY
// get mY
Imp_SkipNumber
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumber
(
aStr
,
nPos
,
nLen
);
// skip spaces and commas
// skip spaces and commas
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
...
@@ -1073,13 +1109,13 @@ SdXMLImExPointsElement::SdXMLImExPointsElement(const OUString& rNew,
...
@@ -1073,13 +1109,13 @@ SdXMLImExPointsElement::SdXMLImExPointsElement(const OUString& rNew,
sal_Int32
nY
(
0L
);
sal_Int32
nY
(
0L
);
// get mX
// get mX
nX
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
nX
,
TRUE
,
TRUE
);
nX
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
nX
);
// skip spaces and commas
// skip spaces and commas
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
// get mY
// get mY
nY
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
nY
,
TRUE
,
TRUE
);
nY
=
Imp_GetNumberChar
(
aStr
,
nPos
,
nLen
,
rConv
,
nY
);
// skip spaces and commas
// skip spaces and commas
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
...
@@ -1162,24 +1198,6 @@ void Imp_PrepareCoorExport(sal_Int32& nX, sal_Int32& nY,
...
@@ -1162,24 +1198,6 @@ void Imp_PrepareCoorExport(sal_Int32& nX, sal_Int32& nY,
}
}
}
}
void
Imp_PutNumberCharWithSpace
(
UniString
&
rStr
,
const
SvXMLUnitConverter
&
rConv
,
double
fValue
)
{
const
xub_StrLen
aLen
(
rStr
.
Len
());
if
(
aLen
)
if
(
Imp_IsOnNumberChar
(
rStr
,
aLen
-
1
,
FALSE
,
TRUE
)
&&
fValue
>=
0.0
)
rStr
+=
sal_Unicode
(
' '
);
Imp_PutNumberChar
(
rStr
,
rConv
,
fValue
);
}
void
Imp_PutNumberCharWithSpace
(
UniString
&
rStr
,
const
SvXMLUnitConverter
&
rConv
,
sal_Int32
nValue
)
{
const
xub_StrLen
aLen
(
rStr
.
Len
());
if
(
aLen
)
if
(
Imp_IsOnNumberChar
(
rStr
,
aLen
-
1
,
FALSE
,
TRUE
)
&&
nValue
>=
0
)
rStr
+=
sal_Unicode
(
' '
);
Imp_PutNumberChar
(
rStr
,
rConv
,
nValue
);
}
void
SdXMLImExSvgDElement
::
AddPolygon
(
void
SdXMLImExSvgDElement
::
AddPolygon
(
drawing
::
PointSequence
*
pPoints
,
drawing
::
PointSequence
*
pPoints
,
drawing
::
FlagSequence
*
pFlags
,
drawing
::
FlagSequence
*
pFlags
,
...
@@ -1483,19 +1501,11 @@ void SdXMLImExSvgDElement::AddPolygon(
...
@@ -1483,19 +1501,11 @@ void SdXMLImExSvgDElement::AddPolygon(
msString
=
OUString
(
aNewString
);
msString
=
OUString
(
aNewString
);
}
}
void
Imp_SkipNumberAndSpacesAndCommas
(
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
,
BOOL
bSignIsNumber
=
TRUE
,
BOOL
bPointIsNumber
=
FALSE
)
{
Imp_SkipNumber
(
rStr
,
rPos
,
nLen
,
bSignIsNumber
,
bPointIsNumber
);
Imp_SkipSpacesAndCommas
(
rStr
,
rPos
,
nLen
);
}
sal_Int32
Imp_ImportNumberAndSpaces
(
sal_Int32
Imp_ImportNumberAndSpaces
(
sal_Int32
nRetval
,
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
sal_Int32
nRetval
,
const
UniString
&
rStr
,
xub_StrLen
&
rPos
,
const
xub_StrLen
nLen
,
const
SvXMLUnitConverter
&
rConv
,
const
xub_StrLen
nLen
,
const
SvXMLUnitConverter
&
rConv
)
BOOL
bSignIsNumber
=
TRUE
,
BOOL
bPointIsNumber
=
FALSE
)
{
{
nRetval
=
Imp_GetNumberChar
(
rStr
,
rPos
,
nLen
,
rConv
,
nRetval
,
bSignIsNumber
,
bPointIsNumber
);
nRetval
=
Imp_GetNumberChar
(
rStr
,
rPos
,
nLen
,
rConv
,
nRetval
);
Imp_SkipSpacesAndCommas
(
rStr
,
rPos
,
nLen
);
Imp_SkipSpacesAndCommas
(
rStr
,
rPos
,
nLen
);
return
nRetval
;
return
nRetval
;
}
}
...
@@ -1625,8 +1635,7 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1625,8 +1635,7 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
}
}
}
}
if
(
bQuadraticBeziers
||
bEllipticalArc
)
DBG_ASSERT
(
!
(
bQuadraticBeziers
||
bEllipticalArc
),
"XMLIMP: non-interpreted tags in svg:d element!"
);
DBG_ERROR
(
"XMLIMP: non-interpreted tags in svg:d element!"
);
if
(
nNumPolys
)
if
(
nNumPolys
)
{
{
...
@@ -1677,11 +1686,11 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1677,11 +1686,11 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
case
'l'
:
case
'l'
:
{
{
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
nPointCount
++
;
nPointCount
++
;
}
}
break
;
break
;
...
@@ -1692,10 +1701,10 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1692,10 +1701,10 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
case
'v'
:
case
'v'
:
{
{
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
nPointCount
++
;
nPointCount
++
;
}
}
break
;
break
;
...
@@ -1704,13 +1713,13 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1704,13 +1713,13 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
case
's'
:
case
's'
:
{
{
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
nPointCount
+=
3
;
nPointCount
+=
3
;
}
}
break
;
break
;
...
@@ -1719,15 +1728,15 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1719,15 +1728,15 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
case
'c'
:
case
'c'
:
{
{
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
,
TRUE
,
TRUE
);
Imp_SkipNumberAndSpacesAndCommas
(
aStr
,
nPos
,
nLen
);
nPointCount
+=
3
;
nPointCount
+=
3
;
}
}
break
;
break
;
...
@@ -1796,11 +1805,11 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1796,11 +1805,11 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
nInnerIndex
=
0L
;
nInnerIndex
=
0L
;
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
if
(
bRelative
)
if
(
bRelative
)
{
{
...
@@ -1826,11 +1835,11 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1826,11 +1835,11 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
case
'L'
:
case
'L'
:
{
{
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
if
(
bRelative
)
if
(
bRelative
)
{
{
...
@@ -1856,10 +1865,10 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1856,10 +1865,10 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
case
'H'
:
case
'H'
:
{
{
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nY
(
mnLastY
);
sal_Int32
nY
(
mnLastY
);
if
(
bRelative
)
if
(
bRelative
)
...
@@ -1882,11 +1891,11 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1882,11 +1891,11 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
case
'V'
:
case
'V'
:
{
{
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
sal_Int32
nX
(
mnLastX
);
sal_Int32
nX
(
mnLastX
);
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
if
(
bRelative
)
if
(
bRelative
)
nY
+=
mnLastY
;
nY
+=
mnLastY
;
...
@@ -1908,15 +1917,15 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1908,15 +1917,15 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
case
'S'
:
case
'S'
:
{
{
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
sal_Int32
nX1
;
sal_Int32
nX1
;
sal_Int32
nY1
;
sal_Int32
nY1
;
sal_Int32
nX2
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nX2
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nY2
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nY2
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
if
(
bRelative
)
if
(
bRelative
)
{
{
...
@@ -1972,15 +1981,15 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
...
@@ -1972,15 +1981,15 @@ SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
case
'C'
:
case
'C'
:
{
{
nPos
++
;
nPos
++
;
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
,
TRUE
,
TRUE
))
while
(
nPos
<
nLen
&&
Imp_IsOnNumberChar
(
aStr
,
nPos
))
{
{
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
Imp_SkipSpaces
(
aStr
,
nPos
,
nLen
);
sal_Int32
nX1
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nX1
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nY1
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nY1
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nX2
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nX2
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nY2
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nY2
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nX
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
,
TRUE
,
TRUE
));
sal_Int32
nY
(
Imp_ImportNumberAndSpaces
(
0L
,
aStr
,
nPos
,
nLen
,
rConv
));
if
(
bRelative
)
if
(
bRelative
)
{
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment