dbghelp: Use RtlGetVersion() for system version detection instead.
[wine.git] / dlls / user32 / win.h
blobc9ac3b8e977074f7315f5c781020cb3b17a7049d
1 /*
2 * Window definitions
4 * Copyright 1993 Alexandre Julliard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef __WINE_WIN_H
22 #define __WINE_WIN_H
24 #include <stdarg.h>
25 #include <windef.h>
26 #include <winbase.h>
27 #include <wingdi.h>
28 #include <winuser.h>
30 #include "user_private.h"
31 #include "wine/server_protocol.h"
33 struct tagCLASS;
34 struct tagDIALOGINFO;
36 /* Window functions */
37 extern HWND get_hwnd_message_parent(void) DECLSPEC_HIDDEN;
38 extern BOOL is_desktop_window( HWND hwnd ) DECLSPEC_HIDDEN;
39 extern WND *WIN_GetPtr( HWND hwnd ) DECLSPEC_HIDDEN;
40 extern HWND WIN_GetFullHandle( HWND hwnd ) DECLSPEC_HIDDEN;
41 extern HWND WIN_IsCurrentProcess( HWND hwnd ) DECLSPEC_HIDDEN;
42 extern HWND WIN_IsCurrentThread( HWND hwnd ) DECLSPEC_HIDDEN;
43 extern ULONG WIN_SetStyle( HWND hwnd, ULONG set_bits, ULONG clear_bits ) DECLSPEC_HIDDEN;
44 extern BOOL WIN_GetRectangles( HWND hwnd, enum coords_relative relative, RECT *rectWindow, RECT *rectClient ) DECLSPEC_HIDDEN;
45 extern HWND WIN_CreateWindowEx( CREATESTRUCTW *cs, LPCWSTR className, HINSTANCE module, BOOL unicode ) DECLSPEC_HIDDEN;
46 extern BOOL WIN_IsWindowDrawable( HWND hwnd, BOOL ) DECLSPEC_HIDDEN;
47 extern HWND *WIN_ListChildren( HWND hwnd ) DECLSPEC_HIDDEN;
48 extern void MDI_CalcDefaultChildPos( HWND hwndClient, INT total, LPPOINT lpPos, INT delta, UINT *id ) DECLSPEC_HIDDEN;
49 extern HDESK open_winstation_desktop( HWINSTA hwinsta, LPCWSTR name, DWORD flags, BOOL inherit, ACCESS_MASK access ) DECLSPEC_HIDDEN;
51 /* user lock */
52 extern void USER_Lock(void) DECLSPEC_HIDDEN;
53 extern void USER_Unlock(void) DECLSPEC_HIDDEN;
55 /* to release pointers retrieved by WIN_GetPtr */
56 static inline void WIN_ReleasePtr( WND *ptr )
58 USER_Unlock();
61 extern LRESULT HOOK_CallHooks( INT id, INT code, WPARAM wparam, LPARAM lparam, BOOL unicode ) DECLSPEC_HIDDEN;
63 extern HWND WINPOS_WindowFromPoint( HWND hwndScope, POINT pt, INT *hittest ) DECLSPEC_HIDDEN;
64 extern void WINPOS_ActivateOtherWindow( HWND hwnd ) DECLSPEC_HIDDEN;
65 extern void WINPOS_SysCommandSizeMove( HWND hwnd, WPARAM wParam ) DECLSPEC_HIDDEN;
67 extern UINT get_monitor_dpi( HMONITOR monitor ) DECLSPEC_HIDDEN;
68 extern UINT get_win_monitor_dpi( HWND hwnd ) DECLSPEC_HIDDEN;
69 extern UINT get_thread_dpi(void) DECLSPEC_HIDDEN;
70 extern POINT map_dpi_point( POINT pt, UINT dpi_from, UINT dpi_to ) DECLSPEC_HIDDEN;
71 extern POINT point_win_to_phys_dpi( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
72 extern POINT point_phys_to_win_dpi( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
73 extern POINT point_win_to_thread_dpi( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
74 extern POINT point_thread_to_win_dpi( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
75 extern RECT map_dpi_rect( RECT rect, UINT dpi_from, UINT dpi_to ) DECLSPEC_HIDDEN;
76 extern RECT rect_win_to_thread_dpi( HWND hwnd, RECT rect ) DECLSPEC_HIDDEN;
77 extern RECT rect_thread_to_win_dpi( HWND hwnd, RECT rect ) DECLSPEC_HIDDEN;
79 static inline void mirror_rect( const RECT *window_rect, RECT *rect )
81 int width = window_rect->right - window_rect->left;
82 int tmp = rect->left;
83 rect->left = width - rect->right;
84 rect->right = width - tmp;
87 #endif /* __WINE_WIN_H */