mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-29 20:07:30 +09:00
Issue #1925 - Convert half-corner index macros to an enum.
This commit is contained in:
parent
d73f8c2e84
commit
8dc8875db6
9 changed files with 138 additions and 135 deletions
|
|
@ -203,49 +203,49 @@ DisplayItemClip::IsRectClippedByRoundedCorner(const nsRect& aRect) const
|
|||
i < iEnd; ++i) {
|
||||
const RoundedRect &rr = mRoundedClipRects[i];
|
||||
// top left
|
||||
if (rect.x < rr.mRect.x + rr.mRadii[NS_CORNER_TOP_LEFT_X] &&
|
||||
rect.y < rr.mRect.y + rr.mRadii[NS_CORNER_TOP_LEFT_Y]) {
|
||||
if (!IsInsideEllipse(rr.mRadii[NS_CORNER_TOP_LEFT_X],
|
||||
rr.mRect.x + rr.mRadii[NS_CORNER_TOP_LEFT_X],
|
||||
if (rect.x < rr.mRect.x + rr.mRadii[eCornerTopLeftX] &&
|
||||
rect.y < rr.mRect.y + rr.mRadii[eCornerTopLeftY]) {
|
||||
if (!IsInsideEllipse(rr.mRadii[eCornerTopLeftX],
|
||||
rr.mRect.x + rr.mRadii[eCornerTopLeftX],
|
||||
rect.x,
|
||||
rr.mRadii[NS_CORNER_TOP_LEFT_Y],
|
||||
rr.mRect.y + rr.mRadii[NS_CORNER_TOP_LEFT_Y],
|
||||
rr.mRadii[eCornerTopLeftY],
|
||||
rr.mRect.y + rr.mRadii[eCornerTopLeftY],
|
||||
rect.y)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// top right
|
||||
if (rect.XMost() > rr.mRect.XMost() - rr.mRadii[NS_CORNER_TOP_RIGHT_X] &&
|
||||
rect.y < rr.mRect.y + rr.mRadii[NS_CORNER_TOP_RIGHT_Y]) {
|
||||
if (!IsInsideEllipse(rr.mRadii[NS_CORNER_TOP_RIGHT_X],
|
||||
rr.mRect.XMost() - rr.mRadii[NS_CORNER_TOP_RIGHT_X],
|
||||
if (rect.XMost() > rr.mRect.XMost() - rr.mRadii[eCornerTopRightX] &&
|
||||
rect.y < rr.mRect.y + rr.mRadii[eCornerTopRightY]) {
|
||||
if (!IsInsideEllipse(rr.mRadii[eCornerTopRightX],
|
||||
rr.mRect.XMost() - rr.mRadii[eCornerTopRightX],
|
||||
rect.XMost(),
|
||||
rr.mRadii[NS_CORNER_TOP_RIGHT_Y],
|
||||
rr.mRect.y + rr.mRadii[NS_CORNER_TOP_RIGHT_Y],
|
||||
rr.mRadii[eCornerTopRightY],
|
||||
rr.mRect.y + rr.mRadii[eCornerTopRightY],
|
||||
rect.y)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// bottom left
|
||||
if (rect.x < rr.mRect.x + rr.mRadii[NS_CORNER_BOTTOM_LEFT_X] &&
|
||||
rect.YMost() > rr.mRect.YMost() - rr.mRadii[NS_CORNER_BOTTOM_LEFT_Y]) {
|
||||
if (!IsInsideEllipse(rr.mRadii[NS_CORNER_BOTTOM_LEFT_X],
|
||||
rr.mRect.x + rr.mRadii[NS_CORNER_BOTTOM_LEFT_X],
|
||||
if (rect.x < rr.mRect.x + rr.mRadii[eCornerBottomLeftX] &&
|
||||
rect.YMost() > rr.mRect.YMost() - rr.mRadii[eCornerBottomLeftY]) {
|
||||
if (!IsInsideEllipse(rr.mRadii[eCornerBottomLeftX],
|
||||
rr.mRect.x + rr.mRadii[eCornerBottomLeftX],
|
||||
rect.x,
|
||||
rr.mRadii[NS_CORNER_BOTTOM_LEFT_Y],
|
||||
rr.mRect.YMost() - rr.mRadii[NS_CORNER_BOTTOM_LEFT_Y],
|
||||
rr.mRadii[eCornerBottomLeftY],
|
||||
rr.mRect.YMost() - rr.mRadii[eCornerBottomLeftY],
|
||||
rect.YMost())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// bottom right
|
||||
if (rect.XMost() > rr.mRect.XMost() - rr.mRadii[NS_CORNER_BOTTOM_RIGHT_X] &&
|
||||
rect.YMost() > rr.mRect.YMost() - rr.mRadii[NS_CORNER_BOTTOM_RIGHT_Y]) {
|
||||
if (!IsInsideEllipse(rr.mRadii[NS_CORNER_BOTTOM_RIGHT_X],
|
||||
rr.mRect.XMost() - rr.mRadii[NS_CORNER_BOTTOM_RIGHT_X],
|
||||
if (rect.XMost() > rr.mRect.XMost() - rr.mRadii[eCornerBottomRightX] &&
|
||||
rect.YMost() > rr.mRect.YMost() - rr.mRadii[eCornerBottomRightY]) {
|
||||
if (!IsInsideEllipse(rr.mRadii[eCornerBottomRightX],
|
||||
rr.mRect.XMost() - rr.mRadii[eCornerBottomRightX],
|
||||
rect.XMost(),
|
||||
rr.mRadii[NS_CORNER_BOTTOM_RIGHT_Y],
|
||||
rr.mRect.YMost() - rr.mRadii[NS_CORNER_BOTTOM_RIGHT_Y],
|
||||
rr.mRadii[eCornerBottomRightY],
|
||||
rr.mRect.YMost() - rr.mRadii[eCornerBottomRightY],
|
||||
rect.YMost())) {
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -632,14 +632,14 @@ nsCSSRendering::ComputePixelRadii(const nscoord *aAppUnitsRadii,
|
|||
NS_FOR_CSS_HALF_CORNERS(corner)
|
||||
radii[corner] = Float(aAppUnitsRadii[corner]) / aAppUnitsPerPixel;
|
||||
|
||||
(*oBorderRadii)[C_TL] = Size(radii[NS_CORNER_TOP_LEFT_X],
|
||||
radii[NS_CORNER_TOP_LEFT_Y]);
|
||||
(*oBorderRadii)[C_TR] = Size(radii[NS_CORNER_TOP_RIGHT_X],
|
||||
radii[NS_CORNER_TOP_RIGHT_Y]);
|
||||
(*oBorderRadii)[C_BR] = Size(radii[NS_CORNER_BOTTOM_RIGHT_X],
|
||||
radii[NS_CORNER_BOTTOM_RIGHT_Y]);
|
||||
(*oBorderRadii)[C_BL] = Size(radii[NS_CORNER_BOTTOM_LEFT_X],
|
||||
radii[NS_CORNER_BOTTOM_LEFT_Y]);
|
||||
(*oBorderRadii)[C_TL] = Size(radii[eCornerTopLeftX],
|
||||
radii[eCornerTopLeftY]);
|
||||
(*oBorderRadii)[C_TR] = Size(radii[eCornerTopRightX],
|
||||
radii[eCornerTopRightY]);
|
||||
(*oBorderRadii)[C_BR] = Size(radii[eCornerBottomRightX],
|
||||
radii[eCornerBottomRightY]);
|
||||
(*oBorderRadii)[C_BL] = Size(radii[eCornerBottomLeftX],
|
||||
radii[eCornerBottomLeftY]);
|
||||
}
|
||||
|
||||
DrawResult
|
||||
|
|
|
|||
|
|
@ -4129,19 +4129,19 @@ nsDisplayBorder::CalculateBounds(const nsStyleBorder& aStyleBorder)
|
|||
nscoord radii[8];
|
||||
if (mFrame->GetBorderRadii(radii)) {
|
||||
if (border.left > 0 || border.top > 0) {
|
||||
nsSize cornerSize(radii[NS_CORNER_TOP_LEFT_X], radii[NS_CORNER_TOP_LEFT_Y]);
|
||||
nsSize cornerSize(radii[eCornerTopLeftX], radii[eCornerTopLeftY]);
|
||||
result.UnionRect(result, nsRect(borderBounds.TopLeft(), cornerSize));
|
||||
}
|
||||
if (border.top > 0 || border.right > 0) {
|
||||
nsSize cornerSize(radii[NS_CORNER_TOP_RIGHT_X], radii[NS_CORNER_TOP_RIGHT_Y]);
|
||||
nsSize cornerSize(radii[eCornerTopRightX], radii[eCornerTopRightY]);
|
||||
result.UnionRect(result, nsRect(borderBounds.TopRight() - nsPoint(cornerSize.width, 0), cornerSize));
|
||||
}
|
||||
if (border.right > 0 || border.bottom > 0) {
|
||||
nsSize cornerSize(radii[NS_CORNER_BOTTOM_RIGHT_X], radii[NS_CORNER_BOTTOM_RIGHT_Y]);
|
||||
nsSize cornerSize(radii[eCornerBottomRightX], radii[eCornerBottomRightY]);
|
||||
result.UnionRect(result, nsRect(borderBounds.BottomRight() - nsPoint(cornerSize.width, cornerSize.height), cornerSize));
|
||||
}
|
||||
if (border.bottom > 0 || border.left > 0) {
|
||||
nsSize cornerSize(radii[NS_CORNER_BOTTOM_LEFT_X], radii[NS_CORNER_BOTTOM_LEFT_Y]);
|
||||
nsSize cornerSize(radii[eCornerBottomLeftX], radii[eCornerBottomLeftY]);
|
||||
result.UnionRect(result, nsRect(borderBounds.BottomLeft() - nsPoint(0, cornerSize.height), cornerSize));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2412,18 +2412,18 @@ nsLayoutUtils::RoundedRectIntersectRect(const nsRect& aRoundedRect,
|
|||
// rectFullHeight and rectFullWidth together will approximately contain
|
||||
// the total area of the frame minus the rounded corners.
|
||||
nsRect rectFullHeight = aRoundedRect;
|
||||
nscoord xDiff = std::max(aRadii[NS_CORNER_TOP_LEFT_X], aRadii[NS_CORNER_BOTTOM_LEFT_X]);
|
||||
nscoord xDiff = std::max(aRadii[eCornerTopLeftX], aRadii[eCornerBottomLeftX]);
|
||||
rectFullHeight.x += xDiff;
|
||||
rectFullHeight.width -= std::max(aRadii[NS_CORNER_TOP_RIGHT_X],
|
||||
aRadii[NS_CORNER_BOTTOM_RIGHT_X]) + xDiff;
|
||||
rectFullHeight.width -= std::max(aRadii[eCornerTopRightX],
|
||||
aRadii[eCornerBottomRightX]) + xDiff;
|
||||
nsRect r1;
|
||||
r1.IntersectRect(rectFullHeight, aContainedRect);
|
||||
|
||||
nsRect rectFullWidth = aRoundedRect;
|
||||
nscoord yDiff = std::max(aRadii[NS_CORNER_TOP_LEFT_Y], aRadii[NS_CORNER_TOP_RIGHT_Y]);
|
||||
nscoord yDiff = std::max(aRadii[eCornerTopLeftY], aRadii[eCornerTopRightY]);
|
||||
rectFullWidth.y += yDiff;
|
||||
rectFullWidth.height -= std::max(aRadii[NS_CORNER_BOTTOM_LEFT_Y],
|
||||
aRadii[NS_CORNER_BOTTOM_RIGHT_Y]) + yDiff;
|
||||
rectFullWidth.height -= std::max(aRadii[eCornerBottomLeftY],
|
||||
aRadii[eCornerBottomRightY]) + yDiff;
|
||||
nsRect r2;
|
||||
r2.IntersectRect(rectFullWidth, aContainedRect);
|
||||
|
||||
|
|
@ -2505,17 +2505,17 @@ nsLayoutUtils::RoundedRectIntersectsRect(const nsRect& aRoundedRect,
|
|||
// top left corner of aBounds when rounded by aRadii, etc. If any
|
||||
// corner is not, then fail; otherwise succeed.
|
||||
return CheckCorner(insets.left, insets.top,
|
||||
aRadii[NS_CORNER_TOP_LEFT_X],
|
||||
aRadii[NS_CORNER_TOP_LEFT_Y]) &&
|
||||
aRadii[eCornerTopLeftX],
|
||||
aRadii[eCornerTopLeftY]) &&
|
||||
CheckCorner(insets.right, insets.top,
|
||||
aRadii[NS_CORNER_TOP_RIGHT_X],
|
||||
aRadii[NS_CORNER_TOP_RIGHT_Y]) &&
|
||||
aRadii[eCornerTopRightX],
|
||||
aRadii[eCornerTopRightY]) &&
|
||||
CheckCorner(insets.right, insets.bottom,
|
||||
aRadii[NS_CORNER_BOTTOM_RIGHT_X],
|
||||
aRadii[NS_CORNER_BOTTOM_RIGHT_Y]) &&
|
||||
aRadii[eCornerBottomRightX],
|
||||
aRadii[eCornerBottomRightY]) &&
|
||||
CheckCorner(insets.left, insets.bottom,
|
||||
aRadii[NS_CORNER_BOTTOM_LEFT_X],
|
||||
aRadii[NS_CORNER_BOTTOM_LEFT_Y]);
|
||||
aRadii[eCornerBottomLeftX],
|
||||
aRadii[eCornerBottomLeftY]);
|
||||
}
|
||||
|
||||
nsRect
|
||||
|
|
@ -6805,14 +6805,14 @@ static bool IsCornerAdjacentToSide(uint8_t aCorner, Side aSide)
|
|||
nsLayoutUtils::HasNonZeroCornerOnSide(const nsStyleCorners& aCorners,
|
||||
Side aSide)
|
||||
{
|
||||
static_assert(NS_CORNER_TOP_LEFT_X/2 == eCornerTopLeft, "Check for Non Zero on side");
|
||||
static_assert(NS_CORNER_TOP_LEFT_Y/2 == eCornerTopLeft, "Check for Non Zero on side");
|
||||
static_assert(NS_CORNER_TOP_RIGHT_X/2 == eCornerTopRight, "Check for Non Zero on side");
|
||||
static_assert(NS_CORNER_TOP_RIGHT_Y/2 == eCornerTopRight, "Check for Non Zero on side");
|
||||
static_assert(NS_CORNER_BOTTOM_RIGHT_X/2 == eCornerBottomRight, "Check for Non Zero on side");
|
||||
static_assert(NS_CORNER_BOTTOM_RIGHT_Y/2 == eCornerBottomRight, "Check for Non Zero on side");
|
||||
static_assert(NS_CORNER_BOTTOM_LEFT_X/2 == eCornerBottomLeft, "Check for Non Zero on side");
|
||||
static_assert(NS_CORNER_BOTTOM_LEFT_Y/2 == eCornerBottomLeft, "Check for Non Zero on side");
|
||||
static_assert(eCornerTopLeftX/2 == eCornerTopLeft, "Check for Non Zero on side");
|
||||
static_assert(eCornerTopLeftY/2 == eCornerTopLeft, "Check for Non Zero on side");
|
||||
static_assert(eCornerTopRightX/2 == eCornerTopRight, "Check for Non Zero on side");
|
||||
static_assert(eCornerTopRightY/2 == eCornerTopRight, "Check for Non Zero on side");
|
||||
static_assert(eCornerBottomRightX/2 == eCornerBottomRight, "Check for Non Zero on side");
|
||||
static_assert(eCornerBottomRightY/2 == eCornerBottomRight, "Check for Non Zero on side");
|
||||
static_assert(eCornerBottomLeftX/2 == eCornerBottomLeft, "Check for Non Zero on side");
|
||||
static_assert(eCornerBottomLeftY/2 == eCornerBottomLeft, "Check for Non Zero on side");
|
||||
|
||||
NS_FOR_CSS_HALF_CORNERS(corner) {
|
||||
// corner is a "half corner" value, so dividing by two gives us a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue