mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 11:15:34 +00:00
Backed out changeset f8d2cc53a4d6 (bug 382721)
--HG-- extra : rebase_source : 988aaf02e7ffadca0ebb0be350d25ff8a8e5a4e3
This commit is contained in:
parent
776001bc91
commit
b2bf590342
@ -22,6 +22,4 @@
|
||||
#define C_BR NS_CORNER_BOTTOM_RIGHT
|
||||
#define C_BL NS_CORNER_BOTTOM_LEFT
|
||||
|
||||
#define BORDER_SEGMENT_COUNT_MAX 100
|
||||
|
||||
#endif /* mozilla_BorderConsts_h_ */
|
||||
|
@ -2103,19 +2103,10 @@ nsCSSBorderRenderer::DrawDottedSideSlow(mozilla::css::Side aSide)
|
||||
}
|
||||
|
||||
RefPtr<PathBuilder> builder = mDrawTarget->CreatePathBuilder();
|
||||
size_t segmentCount = 0;
|
||||
for (size_t i = from; i <= to; i += 2) {
|
||||
if (segmentCount > BORDER_SEGMENT_COUNT_MAX) {
|
||||
RefPtr<Path> path = builder->Finish();
|
||||
mDrawTarget->Fill(path, ColorPattern(ToDeviceColor(borderColor)));
|
||||
builder = mDrawTarget->CreatePathBuilder();
|
||||
segmentCount = 0;
|
||||
}
|
||||
|
||||
Point P = (start * (count - i) + end * i) / count;
|
||||
builder->MoveTo(Point(P.x + radius, P.y));
|
||||
builder->Arc(P, radius, 0.0f, Float(2.0 * M_PI));
|
||||
segmentCount++;
|
||||
}
|
||||
RefPtr<Path> path = builder->Finish();
|
||||
mDrawTarget->Fill(path, ColorPattern(ToDeviceColor(borderColor)));
|
||||
@ -2253,20 +2244,11 @@ nsCSSBorderRenderer::DrawDottedCornerSlow(mozilla::css::Side aSide,
|
||||
C0, R0, Cn, Rn, mBorderCornerDimensions[aCorner]);
|
||||
|
||||
RefPtr<PathBuilder> builder = mDrawTarget->CreatePathBuilder();
|
||||
size_t segmentCount = 0;
|
||||
while (finder.HasMore()) {
|
||||
if (segmentCount > BORDER_SEGMENT_COUNT_MAX) {
|
||||
RefPtr<Path> path = builder->Finish();
|
||||
mDrawTarget->Fill(path, ColorPattern(ToDeviceColor(borderColor)));
|
||||
builder = mDrawTarget->CreatePathBuilder();
|
||||
segmentCount = 0;
|
||||
}
|
||||
|
||||
DottedCornerFinder::Result result = finder.Next();
|
||||
|
||||
builder->MoveTo(Point(result.C.x + result.r, result.C.y));
|
||||
builder->Arc(result.C, result.r, 0, Float(2.0 * M_PI));
|
||||
segmentCount++;
|
||||
}
|
||||
RefPtr<Path> path = builder->Finish();
|
||||
mDrawTarget->Fill(path, ColorPattern(ToDeviceColor(borderColor)));
|
||||
@ -2297,15 +2279,7 @@ nsCSSBorderRenderer::DrawDashedCornerSlow(mozilla::css::Side aSide,
|
||||
mBorderCornerDimensions[aCorner]);
|
||||
|
||||
RefPtr<PathBuilder> builder = mDrawTarget->CreatePathBuilder();
|
||||
size_t segmentCount = 0;
|
||||
while (finder.HasMore()) {
|
||||
if (segmentCount > BORDER_SEGMENT_COUNT_MAX) {
|
||||
RefPtr<Path> path = builder->Finish();
|
||||
mDrawTarget->Fill(path, ColorPattern(ToDeviceColor(borderColor)));
|
||||
builder = mDrawTarget->CreatePathBuilder();
|
||||
segmentCount = 0;
|
||||
}
|
||||
|
||||
DashedCornerFinder::Result result = finder.Next();
|
||||
|
||||
builder->MoveTo(result.outerSectionBezier.mPoints[0]);
|
||||
@ -2317,7 +2291,6 @@ nsCSSBorderRenderer::DrawDashedCornerSlow(mozilla::css::Side aSide,
|
||||
result.innerSectionBezier.mPoints[1],
|
||||
result.innerSectionBezier.mPoints[0]);
|
||||
builder->LineTo(result.outerSectionBezier.mPoints[0]);
|
||||
segmentCount++;
|
||||
}
|
||||
|
||||
if (outerBezier.mPoints[0].x != innerBezier.mPoints[0].x) {
|
||||
|
Loading…
Reference in New Issue
Block a user