Annotate rect.c

svn path=/trunk/; revision=66648
This commit is contained in:
Timo Kreuzer 2015-03-10 00:13:17 +00:00
parent b673073aa1
commit af94181e04
2 changed files with 51 additions and 18 deletions

View file

@ -15,7 +15,10 @@
BOOL BOOL
FASTCALL FASTCALL
RECTL_bUnionRect(RECTL *prclDst, const RECTL *prcl1, const RECTL *prcl2) RECTL_bUnionRect(
_Out_ RECTL *prclDst,
_In_ const RECTL *prcl1,
_In_ const RECTL *prcl2)
{ {
if (RECTL_bIsEmptyRect(prcl1)) if (RECTL_bIsEmptyRect(prcl1))
{ {
@ -47,10 +50,12 @@ RECTL_bUnionRect(RECTL *prclDst, const RECTL *prcl1, const RECTL *prcl2)
return TRUE; return TRUE;
} }
BOOL BOOL
FASTCALL FASTCALL
RECTL_bIntersectRect(RECTL* prclDst, const RECTL* prcl1, const RECTL* prcl2) RECTL_bIntersectRect(
_Out_ RECTL* prclDst,
_In_ const RECTL* prcl1,
_In_ const RECTL* prcl2)
{ {
prclDst->left = max(prcl1->left, prcl2->left); prclDst->left = max(prcl1->left, prcl2->left);
prclDst->right = min(prcl1->right, prcl2->right); prclDst->right = min(prcl1->right, prcl2->right);
@ -73,7 +78,8 @@ RECTL_bIntersectRect(RECTL* prclDst, const RECTL* prcl1, const RECTL* prcl2)
VOID VOID
FASTCALL FASTCALL
RECTL_vMakeWellOrdered(RECTL *prcl) RECTL_vMakeWellOrdered(
_Inout_ RECTL *prcl)
{ {
LONG lTmp; LONG lTmp;
if (prcl->left > prcl->right) if (prcl->left > prcl->right)
@ -92,7 +98,10 @@ RECTL_vMakeWellOrdered(RECTL *prcl)
VOID VOID
FASTCALL FASTCALL
RECTL_vInflateRect(RECTL *rect, INT dx, INT dy) RECTL_vInflateRect(
_Inout_ RECTL *rect,
_In_ INT dx,
_In_ INT dy)
{ {
rect->left -= dx; rect->left -= dx;
rect->top -= dy; rect->top -= dy;

View file

@ -2,7 +2,12 @@
FORCEINLINE FORCEINLINE
VOID VOID
RECTL_vSetRect(RECTL *prcl, LONG left, LONG top, LONG right, LONG bottom) RECTL_vSetRect(
_Out_ RECTL *prcl,
_In_ LONG left,
_In_ LONG top,
_In_ LONG right,
_In_ LONG bottom)
{ {
prcl->left = left; prcl->left = left;
prcl->top = top; prcl->top = top;
@ -12,7 +17,8 @@ RECTL_vSetRect(RECTL *prcl, LONG left, LONG top, LONG right, LONG bottom)
FORCEINLINE FORCEINLINE
VOID VOID
RECTL_vSetEmptyRect(RECTL *prcl) RECTL_vSetEmptyRect(
_Out_ RECTL *prcl)
{ {
prcl->left = 0; prcl->left = 0;
prcl->top = 0; prcl->top = 0;
@ -22,7 +28,10 @@ RECTL_vSetEmptyRect(RECTL *prcl)
FORCEINLINE FORCEINLINE
VOID VOID
RECTL_vOffsetRect(RECTL *prcl, INT cx, INT cy) RECTL_vOffsetRect(
_Inout_ RECTL *prcl,
_In_ INT cx,
_In_ INT cy)
{ {
prcl->left += cx; prcl->left += cx;
prcl->right += cx; prcl->right += cx;
@ -32,14 +41,18 @@ RECTL_vOffsetRect(RECTL *prcl, INT cx, INT cy)
FORCEINLINE FORCEINLINE
BOOL BOOL
RECTL_bIsEmptyRect(const RECTL *prcl) RECTL_bIsEmptyRect(
_In_ const RECTL *prcl)
{ {
return (prcl->left >= prcl->right || prcl->top >= prcl->bottom); return (prcl->left >= prcl->right || prcl->top >= prcl->bottom);
} }
FORCEINLINE FORCEINLINE
BOOL BOOL
RECTL_bPointInRect(const RECTL *prcl, INT x, INT y) RECTL_bPointInRect(
_In_ const RECTL *prcl,
_In_ INT x,
_In_ INT y)
{ {
return (x >= prcl->left && x < prcl->right && return (x >= prcl->left && x < prcl->right &&
y >= prcl->top && y < prcl->bottom); y >= prcl->top && y < prcl->bottom);
@ -47,7 +60,8 @@ RECTL_bPointInRect(const RECTL *prcl, INT x, INT y)
FORCEINLINE FORCEINLINE
BOOL BOOL
RECTL_bIsWellOrdered(const RECTL *prcl) RECTL_bIsWellOrdered(
_In_ const RECTL *prcl)
{ {
return ((prcl->left <= prcl->right) && return ((prcl->left <= prcl->right) &&
(prcl->top <= prcl->bottom)); (prcl->top <= prcl->bottom));
@ -55,16 +69,26 @@ RECTL_bIsWellOrdered(const RECTL *prcl)
BOOL BOOL
FASTCALL FASTCALL
RECTL_bUnionRect(RECTL *prclDst, const RECTL *prcl1, const RECTL *prcl2); RECTL_bUnionRect(
_Out_ RECTL *prclDst,
_In_ const RECTL *prcl1,
_In_ const RECTL *prcl2);
BOOL BOOL
FASTCALL FASTCALL
RECTL_bIntersectRect(RECTL *prclDst, const RECTL *prcl1, const RECTL *prcl2); RECTL_bIntersectRect(
_Out_ RECTL* prclDst,
_In_ const RECTL* prcl1,
_In_ const RECTL* prcl2);
VOID VOID
FASTCALL FASTCALL
RECTL_vMakeWellOrdered(RECTL *prcl); RECTL_vMakeWellOrdered(
_Inout_ RECTL *prcl);
VOID VOID
FASTCALL FASTCALL
RECTL_vInflateRect(RECTL *rect, INT dx, INT dy); RECTL_vInflateRect(
_Inout_ RECTL *rect,
_In_ INT dx,
_In_ INT dy);