зеркало из https://github.com/mozilla/gecko-dev.git
Bug 289289 - using clipPath on a markable shape causes all subsequent
drawing to be clipped. r=jwatt, a=mkaply.
This commit is contained in:
Родитель
d1d8a2f415
Коммит
e2f4a18dcb
|
@ -246,26 +246,25 @@ nsSVGPathGeometryFrame::Paint(nsISVGRendererCanvas* canvas, const nsRect& dirtyR
|
|||
nsSVGMarkerFrame *markerEnd, *markerMid, *markerStart;
|
||||
GetMarkerFrames(&markerStart, &markerMid, &markerEnd);
|
||||
|
||||
if (!markerEnd && !markerMid && !markerStart)
|
||||
return NS_OK;
|
||||
if (markerEnd || markerMid || markerStart) {
|
||||
float strokeWidth;
|
||||
GetStrokeWidth(&strokeWidth);
|
||||
|
||||
nsVoidArray marks;
|
||||
markable->GetMarkPoints(&marks);
|
||||
|
||||
PRUint32 num = marks.Count();
|
||||
|
||||
if (markerStart)
|
||||
markerStart->PaintMark(canvas, this, (nsSVGMark *)marks[0], strokeWidth);
|
||||
|
||||
if (markerMid)
|
||||
for (PRUint32 i = 1; i < num - 1; i++)
|
||||
markerMid->PaintMark(canvas, this, (nsSVGMark *)marks[i], strokeWidth);
|
||||
|
||||
float strokeWidth;
|
||||
GetStrokeWidth(&strokeWidth);
|
||||
|
||||
nsVoidArray marks;
|
||||
markable->GetMarkPoints(&marks);
|
||||
|
||||
PRUint32 num = marks.Count();
|
||||
|
||||
if (markerStart)
|
||||
markerStart->PaintMark(canvas, this, (nsSVGMark *)marks[0], strokeWidth);
|
||||
|
||||
if (markerMid)
|
||||
for (PRUint32 i = 1; i < num - 1; i++)
|
||||
markerMid->PaintMark(canvas, this, (nsSVGMark *)marks[i], strokeWidth);
|
||||
|
||||
if (markerEnd)
|
||||
markerEnd->PaintMark(canvas, this, (nsSVGMark *)marks[num-1], strokeWidth);
|
||||
if (markerEnd)
|
||||
markerEnd->PaintMark(canvas, this, (nsSVGMark *)marks[num-1], strokeWidth);
|
||||
}
|
||||
}
|
||||
|
||||
if (clip)
|
||||
|
|
Загрузка…
Ссылка в новой задаче