#include <winapifamily.h>
#ifndef _WINDEF_
#define _WINDEF_
#pragma once
#ifdef __cplusplus
extern
"C"
{
#endif
#ifdef _M_CEE_PURE
#define WINAPI_INLINE __clrcall
#endif
#include <minwindef.h>
#ifndef WINVER
#define WINVER 0x0500
#endif /* WINVER */
#ifndef NT_INCLUDED
#include <winnt.h>
#endif /* NT_INCLUDED */
#ifndef WIN_INTERNAL
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
DECLARE_HANDLE (HWND);
struct
{
int
;};
typedef
struct
*
;
DECLARE_HANDLE (HHOOK);
struct
{
int
;};
typedef
struct
*
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#ifdef WINABLE
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
DECLARE_HANDLE (HEVENT);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif
#endif
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if !defined(_MAC) || !defined(GDI_INTERNAL)
#ifdef STRICT
typedef void NEAR* HGDIOBJ;
#else
DECLARE_HANDLE(HGDIOBJ);
#endif
#endif
#if !defined(_MAC) || !defined(WIN_INTERNAL)
DECLARE_HANDLE(HACCEL);
#endif
struct
{
int
;};
typedef
struct
*
;
#if !defined(_MAC) || !defined(GDI_INTERNAL)
DECLARE_HANDLE(HBITMAP);
struct
{
int
;};
typedef
struct
*
;
DECLARE_HANDLE(HBRUSH);
#endif
struct
{
int
;};
typedef
struct
*
;
#if(WINVER >= 0x0400)
DECLARE_HANDLE(HCOLORSPACE);
#endif /* WINVER >= 0x0400 */
struct
{
int
;};
typedef
struct
*
;
#if !defined(_MAC) || !defined(GDI_INTERNAL)
DECLARE_HANDLE(HDC);
#endif
struct
{
int
;};
typedef
struct
*
;
DECLARE_HANDLE(HGLRC); // OpenGL
struct
{
int
;};
typedef
struct
*
;
DECLARE_HANDLE(HDESK);
struct
{
int
;};
typedef
struct
*
;
DECLARE_HANDLE(HENHMETAFILE);
struct
{
int
;};
typedef
struct
*
;
#if !defined(_MAC) || !defined(GDI_INTERNAL)
DECLARE_HANDLE(HFONT);
#endif
struct
{
int
;};
typedef
struct
*
;
DECLARE_HANDLE(HICON);
struct
{
int
;};
typedef
struct
*
;
#if !defined(_MAC) || !defined(WIN_INTERNAL)
DECLARE_HANDLE(HMENU);
#endif
struct
{
int
;};
typedef
struct
*;
#if !defined(_MAC) || !defined(GDI_INTERNAL)
DECLARE_HANDLE(HPALETTE);
struct
{
int
;};
typedef
struct
*
;
DECLARE_HANDLE(HPEN);
#endif
struct
{
int
;};
typedef
struct
*
;
#if(WINVER >= 0x0400)
DECLARE_HANDLE(HWINEVENTHOOK);
#endif /* WINVER >= 0x0400 */
struct
{
int
;};
typedef
struct
*
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#if(WINVER >= 0x0500)
#ifndef _MAC
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
DECLARE_HANDLE(HMONITOR);
struct
{
int
;};
typedef
struct
*
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
DECLARE_HANDLE(HUMPD);
struct
{
int
;};
typedef
struct
*
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* WINVER >= 0x0500 */
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#ifndef _MAC
typedef
;
#else
DECLARE_HANDLE(HCURSOR); /* HICONs & HCURSORs are not polymorphic */
#endif
typedef
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef
*
;
#define HFILE_ERROR ((HFILE)-1)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef
struct
{
;
;
;
;
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
typedef const RECT FAR* LPCRECT;
typedef
struct
{
;
;
;
;
}
, *
, *
;
typedef const RECTL FAR* LPCRECTL;
typedef
struct
{
;
;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;
typedef
struct
{
;
;
}
, *
;
typedef
struct
{
;
;
}
, *
, *
;
typedef
;
typedef
*
, *
;
typedef
struct
{
#ifndef _MAC
;
;
#else
SHORT y;
SHORT x;
#endif
}
, *
, *
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#define DM_UPDATE 1
#define DM_COPY 2
#define DM_PROMPT 4
#define DM_MODIFY 8
#define DM_IN_BUFFER DM_MODIFY
#define DM_IN_PROMPT DM_PROMPT
#define DM_OUT_BUFFER DM_COPY
#define DM_OUT_DEFAULT DM_UPDATE
#define DC_FIELDS 1
#define DC_PAPERS 2
#define DC_PAPERSIZE 3
#define DC_MINEXTENT 4
#define DC_MAXEXTENT 5
#define DC_BINS 6
#define DC_DUPLEX 7
#define DC_SIZE 8
#define DC_EXTRA 9
#define DC_VERSION 10
#define DC_DRIVER 11
#define DC_BINNAMES 12
#define DC_ENUMRESOLUTIONS 13
#define DC_FILEDEPENDENCIES 14
#define DC_TRUETYPE 15
#define DC_PAPERNAMES 16
#define DC_ORIENTATION 17
#define DC_COPIES 18
#ifdef __cplusplus
}
#endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#define _DPI_AWARENESS_CONTEXTS_
DECLARE_HANDLE(DPI_AWARENESS_CONTEXT);
struct
{
int
;};
typedef
struct
*
;
typedef
enum
{
= -
1
,
=
0
,
DPI_AWARENESS_SYSTEM_AWARE
=
1
,
DPI_AWARENESS_PER_MONITOR_AWARE
=
2
}
;
#define DPI_AWARENESS_CONTEXT_UNAWARE ((DPI_AWARENESS_CONTEXT)-1)
#define DPI_AWARENESS_CONTEXT_SYSTEM_AWARE ((DPI_AWARENESS_CONTEXT)-2)
#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE ((DPI_AWARENESS_CONTEXT)-3)
#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ((DPI_AWARENESS_CONTEXT)-4)
#define DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED ((DPI_AWARENESS_CONTEXT)-5)
typedef
enum
{
DPI_HOSTING_BEHAVIOR_INVALID
= -
1
,
DPI_HOSTING_BEHAVIOR_DEFAULT
=
0
,
DPI_HOSTING_BEHAVIOR_MIXED
=
1
}
;
#endif
#endif /* _WINDEF_ */