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
d41dc0bb
Kaydet (Commit)
d41dc0bb
authored
Agu 21, 2013
tarafından
Oliver-Rainer Wittmann
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
122600: solve access memory problem of <SvgSvgNode::getCurrentViewPort()>
üst
f29c386d
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
24 additions
and
25 deletions
+24
-25
svgmarkernode.hxx
svgio/inc/svgio/svgreader/svgmarkernode.hxx
+1
-1
svgnode.hxx
svgio/inc/svgio/svgreader/svgnode.hxx
+1
-1
svgpatternnode.hxx
svgio/inc/svgio/svgreader/svgpatternnode.hxx
+1
-1
svgsvgnode.hxx
svgio/inc/svgio/svgreader/svgsvgnode.hxx
+1
-1
svgtools.hxx
svgio/inc/svgio/svgreader/svgtools.hxx
+1
-1
svgmarkernode.cxx
svgio/source/svgreader/svgmarkernode.cxx
+2
-2
svgnode.cxx
svgio/source/svgreader/svgnode.cxx
+2
-2
svgpatternnode.cxx
svgio/source/svgreader/svgpatternnode.cxx
+2
-2
svgsvgnode.cxx
svgio/source/svgreader/svgsvgnode.cxx
+5
-5
svgtools.cxx
svgio/source/svgreader/svgtools.cxx
+8
-9
No files found.
svgio/inc/svgio/svgreader/svgmarkernode.hxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -74,7 +74,7 @@ namespace svgio
const
drawinglayer
::
primitive2d
::
Primitive2DSequence
&
getMarkerPrimitives
()
const
;
/// InfoProvider support for % values
virtual
const
basegfx
::
B2DRange
*
getCurrentViewPort
()
const
;
virtual
const
basegfx
::
B2DRange
getCurrentViewPort
()
const
;
/// viewBox content
const
basegfx
::
B2DRange
*
getViewBox
()
const
{
return
mpViewBox
;
}
...
...
svgio/inc/svgio/svgreader/svgnode.hxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -137,7 +137,7 @@ namespace svgio
const
SvgNodeVector
&
getChildren
()
const
{
return
maChildren
;
}
/// InfoProvider support for %, em and ex values
virtual
const
basegfx
::
B2DRange
*
getCurrentViewPort
()
const
;
virtual
const
basegfx
::
B2DRange
getCurrentViewPort
()
const
;
virtual
double
getCurrentFontSize
()
const
;
virtual
double
getCurrentXHeight
()
const
;
...
...
svgio/inc/svgio/svgreader/svgpatternnode.hxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -77,7 +77,7 @@ namespace svgio
const
drawinglayer
::
primitive2d
::
Primitive2DSequence
&
getPatternPrimitives
()
const
;
/// InfoProvider support for % values
virtual
const
basegfx
::
B2DRange
*
getCurrentViewPort
()
const
;
virtual
const
basegfx
::
B2DRange
getCurrentViewPort
()
const
;
/// viewBox content
const
basegfx
::
B2DRange
*
getViewBox
()
const
;
...
...
svgio/inc/svgio/svgreader/svgsvgnode.hxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -65,7 +65,7 @@ namespace svgio
// The returned 'CurrentViewPort' is the viewport as it is set by this svg element
// and as it is needed to resolve relative values in childs
// The method does not check for invalid width and height
virtual
const
basegfx
::
B2DRange
*
getCurrentViewPort
()
const
;
virtual
const
basegfx
::
B2DRange
getCurrentViewPort
()
const
;
/// viewBox content
const
basegfx
::
B2DRange
*
getViewBox
()
const
{
return
mpViewBox
;
}
...
...
svgio/inc/svgio/svgreader/svgtools.hxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -68,7 +68,7 @@ namespace svgio
class
InfoProvider
{
public
:
virtual
const
basegfx
::
B2DRange
*
getCurrentViewPort
()
const
=
0
;
virtual
const
basegfx
::
B2DRange
getCurrentViewPort
()
const
=
0
;
virtual
double
getCurrentFontSize
()
const
=
0
;
virtual
double
getCurrentXHeight
()
const
=
0
;
};
...
...
svgio/source/svgreader/svgmarkernode.cxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -196,11 +196,11 @@ namespace svgio
return
aPrimitives
;
}
const
basegfx
::
B2DRange
*
SvgMarkerNode
::
getCurrentViewPort
()
const
const
basegfx
::
B2DRange
SvgMarkerNode
::
getCurrentViewPort
()
const
{
if
(
getViewBox
())
{
return
getViewBox
(
);
return
*
(
getViewBox
()
);
}
else
{
...
...
svgio/source/svgreader/svgnode.cxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -485,7 +485,7 @@ namespace svgio
}
}
const
basegfx
::
B2DRange
*
SvgNode
::
getCurrentViewPort
()
const
const
basegfx
::
B2DRange
SvgNode
::
getCurrentViewPort
()
const
{
if
(
getParent
())
{
...
...
@@ -493,7 +493,7 @@ namespace svgio
}
else
{
return
0
;
return
basegfx
::
B2DRange
();
// return empty B2DRange
}
}
...
...
svgio/source/svgreader/svgpatternnode.cxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -293,11 +293,11 @@ namespace svgio
return
aPrimitives
;
}
const
basegfx
::
B2DRange
*
SvgPatternNode
::
getCurrentViewPort
()
const
const
basegfx
::
B2DRange
SvgPatternNode
::
getCurrentViewPort
()
const
{
if
(
getViewBox
())
{
return
getViewBox
(
);
return
*
(
getViewBox
()
);
}
else
{
...
...
svgio/source/svgreader/svgsvgnode.cxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -605,11 +605,11 @@ namespace svgio
}
}
const
basegfx
::
B2DRange
*
SvgSvgNode
::
getCurrentViewPort
()
const
const
basegfx
::
B2DRange
SvgSvgNode
::
getCurrentViewPort
()
const
{
if
(
getViewBox
())
{
return
getViewBox
(
);
return
*
(
getViewBox
()
);
}
else
// viewport should be given by x, y, width, and height
{
...
...
@@ -633,7 +633,7 @@ namespace svgio
if
(
bXIsAbsolute
&&
bYIsAbsolute
&&
bWidthIsAbsolute
&&
bHeightIsAbsolute
)
{
return
&
basegfx
::
B2DRange
(
fX
,
fY
,
fX
+
fW
,
fY
+
fH
);
return
basegfx
::
B2DRange
(
fX
,
fY
,
fX
+
fW
,
fY
+
fH
);
}
else
// try to resolve relative values
{
...
...
@@ -676,7 +676,7 @@ namespace svgio
if
(
bXIsAbsolute
&&
bYIsAbsolute
&&
bWidthIsAbsolute
&&
bHeightIsAbsolute
)
{
return
&
basegfx
::
B2DRange
(
fX
,
fY
,
fX
+
fW
,
fY
+
fH
);
return
basegfx
::
B2DRange
(
fX
,
fY
,
fX
+
fW
,
fY
+
fH
);
}
else
// relative values could not be resolved, there exists no fallback
{
...
...
@@ -695,7 +695,7 @@ namespace svgio
double
fH
(
bHeightIsAbsolute
?
getHeight
().
solveNonPercentage
(
*
this
)
:
0.0
);
if
(
bWidthIsAbsolute
&&
bHeightIsAbsolute
)
{
return
&
basegfx
::
B2DRange
(
0.0
,
0.0
,
fW
,
fH
);
return
basegfx
::
B2DRange
(
0.0
,
0.0
,
fW
,
fH
);
}
else
// no fallback exists
{
...
...
svgio/source/svgreader/svgtools.cxx
Dosyayı görüntüle @
d41dc0bb
...
...
@@ -237,40 +237,39 @@ namespace svgio
case
Unit_percent
:
{
double
fRetval
(
mfNumber
*
0.01
);
const
basegfx
::
B2DRange
*
p
ViewPort
=
rInfoProvider
.
getCurrentViewPort
();
basegfx
::
B2DRange
a
ViewPort
=
rInfoProvider
.
getCurrentViewPort
();
if
(
!
pViewPort
)
if
(
aViewPort
.
isEmpty
()
)
{
#ifdef DBG_UTIL
myAssert
(
rtl
::
OUString
::
createFromAscii
(
"Design error, this case should have been handled in the caller"
));
#endif
// no viewPort, assume a normal page size (A4)
static
basegfx
::
B2DRange
aDinA4
Range
(
aViewPort
=
basegfx
::
B2D
Range
(
0.0
,
0.0
,
210.0
*
F_SVG_PIXEL_PER_INCH
/
2.54
,
297.0
*
F_SVG_PIXEL_PER_INCH
/
2.54
);
pViewPort
=
&
aDinA4Range
;
}
if
(
pViewPort
)
if
(
!
aViewPort
.
isEmpty
()
)
{
if
(
xcoordinate
==
aNumberType
)
{
// it's a x-coordinate, relative to current width (w)
fRetval
*=
pViewPort
->
getWidth
();
fRetval
*=
aViewPort
.
getWidth
();
}
else
if
(
ycoordinate
==
aNumberType
)
{
// it's a y-coordinate, relative to current height (h)
fRetval
*=
pViewPort
->
getHeight
();
fRetval
*=
aViewPort
.
getHeight
();
}
else
// length
{
// it's a length, relative to sqrt(w*w + h*h)/sqrt(2)
const
double
fCurrentWidth
(
pViewPort
->
getWidth
());
const
double
fCurrentHeight
(
pViewPort
->
getHeight
());
const
double
fCurrentWidth
(
aViewPort
.
getWidth
());
const
double
fCurrentHeight
(
aViewPort
.
getHeight
());
const
double
fCurrentLength
(
sqrt
(
fCurrentWidth
*
fCurrentWidth
+
fCurrentHeight
*
fCurrentHeight
)
/
sqrt
(
2.0
));
...
...
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