mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1320014 Part 4 - Remove eNumCorners and rewrite NS_FOR_CSS_CORNERS. r=mats
Also, change Corner's operator++ from postfix to prefix version. MozReview-Commit-ID: CpBXOZmQtJ9 --HG-- extra : rebase_source : c8bacec1de52109a17a9cb18687094cef56387c0
This commit is contained in:
parent
7577c40539
commit
f3987ac8db
@ -421,26 +421,28 @@ enum Corner {
|
||||
eCornerTopLeft = 0,
|
||||
eCornerTopRight = 1,
|
||||
eCornerBottomRight = 2,
|
||||
eCornerBottomLeft = 3,
|
||||
eNumCorners = 4
|
||||
eCornerBottomLeft = 3
|
||||
};
|
||||
|
||||
#define NS_CORNER_TOP_LEFT mozilla::eCornerTopLeft
|
||||
#define NS_CORNER_TOP_RIGHT mozilla::eCornerTopRight
|
||||
#define NS_CORNER_BOTTOM_RIGHT mozilla::eCornerBottomRight
|
||||
#define NS_CORNER_BOTTOM_LEFT mozilla::eCornerBottomLeft
|
||||
#define NS_NUM_CORNERS mozilla::eNumCorners
|
||||
|
||||
#define NS_FOR_CSS_CORNERS(var_) \
|
||||
for (mozilla::Corner var_ = NS_CORNER_TOP_LEFT; \
|
||||
var_ <= NS_CORNER_BOTTOM_LEFT; \
|
||||
var_++)
|
||||
// Creates a for loop that walks over the four mozilla::Corner values. This
|
||||
// implementation uses the same technique as NS_FOR_CSS_SIDES.
|
||||
#define NS_FOR_CSS_CORNERS(var_) \
|
||||
int32_t MOZ_CONCAT(var_,__LINE__) = mozilla::eCornerTopLeft; \
|
||||
for (mozilla::Corner var_; \
|
||||
MOZ_CONCAT(var_,__LINE__) <= mozilla::eCornerBottomLeft && \
|
||||
(var_ = mozilla::Corner(MOZ_CONCAT(var_,__LINE__)), true); \
|
||||
++MOZ_CONCAT(var_,__LINE__))
|
||||
|
||||
static inline Corner operator++(Corner& corner, int) {
|
||||
MOZ_ASSERT(corner >= NS_CORNER_TOP_LEFT &&
|
||||
corner < NS_NUM_CORNERS, "Out of range corner");
|
||||
corner = Corner(corner + 1);
|
||||
return corner;
|
||||
static inline Corner operator++(Corner& aCorner) {
|
||||
MOZ_ASSERT(aCorner >= eCornerTopLeft && aCorner <= eCornerBottomLeft,
|
||||
"Out of range corner!");
|
||||
aCorner = Corner(aCorner + 1);
|
||||
return aCorner;
|
||||
}
|
||||
|
||||
} // namespace mozilla
|
||||
|
@ -51,9 +51,6 @@ struct gfxRect :
|
||||
case NS_CORNER_TOP_RIGHT: return TopRight();
|
||||
case NS_CORNER_BOTTOM_RIGHT: return BottomRight();
|
||||
case NS_CORNER_BOTTOM_LEFT: return BottomLeft();
|
||||
default:
|
||||
NS_ERROR("Invalid corner!");
|
||||
break;
|
||||
}
|
||||
return gfxPoint(0.0, 0.0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user