Module: wine Branch: master Commit: 5f494bfeb4df0ccec6f7853860de24b2eeab0670 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5f494bfeb4df0ccec6f7853860...
Author: Michael Stefaniuc mstefani@redhat.de Date: Mon May 16 02:49:34 2016 +0200
include: Use inline functions for common RECT helpers.
Signed-off-by: Michael Stefaniuc mstefani@redhat.de Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/user32/tests/uitools.c | 1 + dlls/user32/uitools.c | 1 + include/winuser.h | 38 +++++++++++++++++++++++++++++++++++--- 3 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/dlls/user32/tests/uitools.c b/dlls/user32/tests/uitools.c index e1ddf2b..1be709c 100644 --- a/dlls/user32/tests/uitools.c +++ b/dlls/user32/tests/uitools.c @@ -17,6 +17,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#define WINE_NO_INLINE_RECT #include "wine/test.h" #include "winbase.h" #include "wingdi.h" diff --git a/dlls/user32/uitools.c b/dlls/user32/uitools.c index 68c3c8e..efaf356 100644 --- a/dlls/user32/uitools.c +++ b/dlls/user32/uitools.c @@ -21,6 +21,7 @@
#include <stdarg.h>
+#define WINE_NO_INLINE_RECT #include "windef.h" #include "winbase.h" #include "wingdi.h" diff --git a/include/winuser.h b/include/winuser.h index 0c527fb..2b56a0c 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -3771,7 +3771,6 @@ WINUSERAPI BOOL WINAPI IsGUIThread(BOOL); WINUSERAPI BOOL WINAPI IsHungAppWindow(HWND); WINUSERAPI BOOL WINAPI IsIconic(HWND); WINUSERAPI BOOL WINAPI IsMenu(HMENU); -WINUSERAPI BOOL WINAPI IsRectEmpty(const RECT*); WINUSERAPI BOOL WINAPI IsTouchWindow(HWND,PULONG); WINUSERAPI BOOL WINAPI IsWinEventHookInstalled(DWORD); WINUSERAPI BOOL WINAPI IsWindow(HWND); @@ -3982,8 +3981,6 @@ WINUSERAPI HWND WINAPI SetParent(HWND,HWND); WINUSERAPI BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE); WINUSERAPI BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE); #define SetProp WINELIB_NAME_AW(SetProp) -WINUSERAPI BOOL WINAPI SetRect(LPRECT,INT,INT,INT,INT); -WINUSERAPI BOOL WINAPI SetRectEmpty(LPRECT); WINUSERAPI INT WINAPI SetScrollInfo(HWND,INT,const SCROLLINFO*,BOOL); WINUSERAPI INT WINAPI SetScrollPos(HWND,INT,INT,BOOL); WINUSERAPI BOOL WINAPI SetScrollRange(HWND,INT,INT,INT,BOOL); @@ -4092,6 +4089,41 @@ WINUSERAPI INT WINAPI wvsprintfA(LPSTR,LPCSTR,__ms_va_list); WINUSERAPI INT WINAPI wvsprintfW(LPWSTR,LPCWSTR,__ms_va_list); #define wvsprintf WINELIB_NAME_AW(wvsprintf)
+#if !defined(__WINESRC__) || defined(WINE_NO_INLINE_RECT) + +WINUSERAPI BOOL WINAPI IsRectEmpty(const RECT*); +WINUSERAPI BOOL WINAPI SetRect(LPRECT,INT,INT,INT,INT); +WINUSERAPI BOOL WINAPI SetRectEmpty(LPRECT); + +#else + +/* Inline versions of common RECT helpers */ + +static inline BOOL WINAPI IsRectEmpty(const RECT *rect) +{ + if (!rect) return TRUE; + return ((rect->left >= rect->right) || (rect->top >= rect->bottom)); +} + +static inline BOOL WINAPI SetRect(LPRECT rect, INT left, INT top, INT right, INT bottom) +{ + if (!rect) return FALSE; + rect->left = left; + rect->right = right; + rect->top = top; + rect->bottom = bottom; + return TRUE; +} + +static inline BOOL WINAPI SetRectEmpty(LPRECT rect) +{ + if (!rect) return FALSE; + rect->left = rect->right = rect->top = rect->bottom = 0; + return TRUE; +} + +#endif /* !defined(__WINESRC__) || defined(WINE_NO_INLINE_RECT) */ + /* Undocumented functions */
/* NOTE: This is SYSTEM.3, not USER.182, which is also named KillSystemTimer */