[PATCH] include/winuser: Add CopyRect and PtInRect as inline versions of common RECT helpers

Gabriel Ivăncescu gabrielopcode at gmail.com
Wed Dec 26 05:21:18 CST 2018


Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---

There shouldn't be a reason they aren't there like the rest, since they're
very simple functions.

 include/winuser.h | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/include/winuser.h b/include/winuser.h
index 693965a..c9e90c2 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -3549,7 +3549,6 @@ WINUSERAPI INT         WINAPI CopyAcceleratorTableW(HACCEL,LPACCEL,INT);
 #define                       CopyCursor(cur) ((HCURSOR)CopyIcon((HICON)(cur)))
 WINUSERAPI HICON       WINAPI CopyIcon(HICON);
 WINUSERAPI HANDLE      WINAPI CopyImage(HANDLE,UINT,INT,INT,UINT);
-WINUSERAPI BOOL        WINAPI CopyRect(RECT*,const RECT*);
 WINUSERAPI INT         WINAPI CountClipboardFormats(void);
 WINUSERAPI HACCEL      WINAPI CreateAcceleratorTableA(LPACCEL,INT);
 WINUSERAPI HACCEL      WINAPI CreateAcceleratorTableW(LPACCEL,INT);
@@ -4049,7 +4048,6 @@ WINUSERAPI UINT        WINAPI PrivateExtractIconExA(LPCSTR,int,HICON*,HICON*,UIN
 WINUSERAPI UINT        WINAPI PrivateExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
 WINUSERAPI UINT        WINAPI PrivateExtractIconsA(LPCSTR,int,int,int,HICON*,UINT*,UINT,UINT);
 WINUSERAPI UINT        WINAPI PrivateExtractIconsW(LPCWSTR,int,int,int,HICON*,UINT*,UINT,UINT);
-WINUSERAPI BOOL        WINAPI PtInRect(const RECT*,POINT);
 WINUSERAPI HWND        WINAPI RealChildWindowFromPoint(HWND,POINT);
 WINUSERAPI UINT        WINAPI RealGetWindowClassA(HWND,LPSTR,UINT);
 WINUSERAPI UINT        WINAPI RealGetWindowClassW(HWND,LPWSTR,UINT);
@@ -4274,10 +4272,12 @@ WINUSERAPI INT         WINAPI wvsprintfW(LPWSTR,LPCWSTR,__ms_va_list);
 
 #if !defined(__WINESRC__) || defined(WINE_NO_INLINE_RECT)
 
+WINUSERAPI BOOL        WINAPI CopyRect(RECT*,const RECT*);
 WINUSERAPI BOOL        WINAPI EqualRect(const RECT*,const RECT*);
 WINUSERAPI BOOL        WINAPI InflateRect(LPRECT,INT,INT);
 WINUSERAPI BOOL        WINAPI IsRectEmpty(const RECT*);
 WINUSERAPI BOOL        WINAPI OffsetRect(LPRECT,INT,INT);
+WINUSERAPI BOOL        WINAPI PtInRect(const RECT*,POINT);
 WINUSERAPI BOOL        WINAPI SetRect(LPRECT,INT,INT,INT,INT);
 WINUSERAPI BOOL        WINAPI SetRectEmpty(LPRECT);
 
@@ -4285,6 +4285,13 @@ WINUSERAPI BOOL        WINAPI SetRectEmpty(LPRECT);
 
 /* Inline versions of common RECT helpers */
 
+static inline BOOL WINAPI CopyRect(RECT *dest, const RECT *src)
+{
+    if (!dest || !src) return FALSE;
+    *dest = *src;
+    return TRUE;
+}
+
 static inline BOOL WINAPI EqualRect(const RECT *rect1, const RECT *rect2)
 {
     if (!rect1 || !rect2) return FALSE;
@@ -4318,6 +4325,13 @@ static inline BOOL WINAPI OffsetRect(LPRECT rect, INT x, INT y)
     return TRUE;
 }
 
+static inline BOOL WINAPI PtInRect(const RECT *rect, POINT pt)
+{
+    if (!rect) return FALSE;
+    return ((pt.x >= rect->left) && (pt.x < rect->right) &&
+            (pt.y >= rect->top) && (pt.y < rect->bottom));
+}
+
 static inline BOOL WINAPI SetRect(LPRECT rect, INT left, INT top, INT right, INT bottom)
 {
     if (!rect) return FALSE;
-- 
2.19.1




More information about the wine-devel mailing list