mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-02-07 11:01:57 +08:00
tune for 64 bits
This commit is contained in:
204
include/common.h
204
include/common.h
@@ -256,6 +256,20 @@ MGUI_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
|
||||
* @{
|
||||
*/
|
||||
|
||||
|
||||
#if defined(_WIN64)
|
||||
# define SIZEOF_PTR 8
|
||||
#elif defined(__LP64__)
|
||||
# define SIZEOF_PTR 8
|
||||
#else
|
||||
# define SIZEOF_PTR 4
|
||||
#endif
|
||||
/**
|
||||
* \var PVOID
|
||||
* \brief A type definition for a pointer to any type.
|
||||
*/
|
||||
typedef void *PVOID;
|
||||
|
||||
/**
|
||||
* \var typedef int BOOL
|
||||
* \brief A type definition for boolean value.
|
||||
@@ -265,6 +279,7 @@ MGUI_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
|
||||
typedef int BOOL;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \def FALSE
|
||||
* \brief FALSE value, defined as 0 by MiniGUI.
|
||||
@@ -318,55 +333,55 @@ typedef int BOOL;
|
||||
*/
|
||||
|
||||
/**
|
||||
* \var typedef unsigned int GHANDLE
|
||||
* \var GHANDLE
|
||||
* \brief General handle.
|
||||
*/
|
||||
typedef unsigned int GHANDLE;
|
||||
typedef PVOID GHANDLE;
|
||||
/**
|
||||
* \var typedef unsigned int HWND
|
||||
* \var HWND
|
||||
* \brief Handle to main window or control.
|
||||
*/
|
||||
typedef unsigned int HWND;
|
||||
typedef GHANDLE HWND;
|
||||
/**
|
||||
* \var typedef unsigned int HDC
|
||||
* \var HDC
|
||||
* \brief Handle to device context.
|
||||
*/
|
||||
typedef unsigned int HDC;
|
||||
typedef GHANDLE HDC;
|
||||
/**
|
||||
* \var typedef unsigned int HPALETTE
|
||||
* \var HPALETTE
|
||||
* \brief Handle to a logical palette.
|
||||
*/
|
||||
typedef unsigned int HPALETTE;
|
||||
typedef GHANDLE HPALETTE;
|
||||
/**
|
||||
* \var typedef unsigned int HCURSOR
|
||||
* \var HCURSOR
|
||||
* \brief Handle to cursor.
|
||||
*/
|
||||
typedef unsigned int HCURSOR;
|
||||
typedef GHANDLE HCURSOR;
|
||||
/**
|
||||
* \var typedef unsigned int HICON
|
||||
* \var HICON
|
||||
* \brief Handle to icon.
|
||||
*/
|
||||
typedef unsigned int HICON;
|
||||
typedef GHANDLE HICON;
|
||||
/**
|
||||
* \var typedef unsigned int HMENU
|
||||
* \var HMENU
|
||||
* \brief Handle to menu.
|
||||
*/
|
||||
typedef unsigned int HMENU;
|
||||
typedef GHANDLE HMENU;
|
||||
/**
|
||||
* \var typedef unsigned int HACCEL
|
||||
* \var HACCEL
|
||||
* \brief Handle to accelarator.
|
||||
*/
|
||||
typedef unsigned int HACCEL;
|
||||
typedef GHANDLE HACCEL;
|
||||
/**
|
||||
* \var typedef unsigned int HDLG
|
||||
* \var HDLG
|
||||
* \brief Handle to dialog box, same as HWND.
|
||||
*/
|
||||
typedef unsigned int HDLG;
|
||||
typedef GHANDLE HDLG;
|
||||
/**
|
||||
* \var typedef unsigned int HHOOK
|
||||
* \var HHOOK
|
||||
* \brief Handle to keyboard or mouse event hook.
|
||||
*/
|
||||
typedef unsigned int HHOOK;
|
||||
typedef GHANDLE HHOOK;
|
||||
|
||||
/** @} end of handles */
|
||||
|
||||
@@ -376,73 +391,158 @@ typedef unsigned int HHOOK;
|
||||
*/
|
||||
|
||||
/**
|
||||
* \var typedef unsigned char BYTE
|
||||
* \brief A type definition for unsigned character (byte).
|
||||
* \var BYTE
|
||||
* \brief A type definition for an 8-bit unsigned character (byte).
|
||||
*/
|
||||
#ifndef _HAVE_TYPE_BYTE
|
||||
typedef unsigned char BYTE;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \var typedef signed char SBYTE
|
||||
* \brief A type definition for signed character.
|
||||
* \var SBYTE
|
||||
* \brief A type definition for an 8-bit signed character.
|
||||
*/
|
||||
typedef signed char SBYTE;
|
||||
|
||||
/**
|
||||
* \var typedef unsigned short WORD
|
||||
* \brief A type definition for unsigned short integer (word).
|
||||
* \var WORD_HPTR
|
||||
* \brief An unsigned int (word) type in half pointer precision.
|
||||
*/
|
||||
#ifndef _HAVE_TYPE_WORD
|
||||
typedef unsigned short WORD;
|
||||
#if defined(_WIN64)
|
||||
typedef unsigned int WORD_HPTR;
|
||||
#elif defined(__LP64__)
|
||||
typedef unsigned int WORD_HPTR;
|
||||
#else
|
||||
typedef unsigned short WORD_HPTR;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \var typedef signed short SWORD
|
||||
* \brief A type definition for signed short integer.
|
||||
* \var SWORD_HPTR
|
||||
* \brief An signed int type in half pointer precision.
|
||||
*/
|
||||
typedef signed short SWORD;
|
||||
|
||||
/**
|
||||
* \var typedef unsigned long DWORD
|
||||
* \brief A type definition for unsigned long integer (double word).
|
||||
*/
|
||||
#ifndef _HAVE_TYPE_DWORD
|
||||
typedef unsigned long DWORD;
|
||||
#if defined(_WIN64)
|
||||
typedef signed int SWORD_HPTR;
|
||||
#elif defined(__LP64__)
|
||||
typedef signed int SWORD_HPTR;
|
||||
#else
|
||||
typedef signed short SWORD_HPTR;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \var typedef signed long SDWORD
|
||||
* \brief A type definition for signed long integer.
|
||||
* \var WORD
|
||||
* \brief A type definition for an unsigned integer (word).
|
||||
*/
|
||||
typedef signed long SDWORD;
|
||||
typedef WORD_HPTR WORD;
|
||||
|
||||
/**
|
||||
* \var typedef unsigned int UINT
|
||||
* \var SWORD
|
||||
* \brief A type definition for a signed integer.
|
||||
*/
|
||||
typedef SWORD_HPTR SWORD;
|
||||
|
||||
/**
|
||||
* \var WORD16
|
||||
* \brief A type definition for a 16-bit unsigned integer (word).
|
||||
*/
|
||||
typedef unsigned short WORD16;
|
||||
|
||||
/**
|
||||
* \var SWORD16
|
||||
* \brief A type definition for a 16-bit signed integer.
|
||||
*/
|
||||
typedef signed short SWORD16;
|
||||
|
||||
/**
|
||||
* \var DWORD_PTR
|
||||
* \brief An unsigned long type for pointer precision.
|
||||
*
|
||||
* Commonly used for general 32-bit parameters that have been extended
|
||||
* to 64 bits in 64-bit platform.
|
||||
*/
|
||||
#if defined(_WIN64)
|
||||
typedef unsigned __int64 DWORD_PTR;
|
||||
#elif defined(__LP64__)
|
||||
typedef unsigned long DWORD_PTR;
|
||||
#else
|
||||
typedef unsigned int DWORD_PTR;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \var DWORD
|
||||
* \brief A unsigned long type definition for pointer precision.
|
||||
*/
|
||||
typedef DWORD_PTR DWORD;
|
||||
|
||||
/**
|
||||
* \var DWORD32
|
||||
* \brief A type definition for a 32-bit unsigned integer.
|
||||
*/
|
||||
typedef unsigned short DWORD32;
|
||||
|
||||
/**
|
||||
* \var SDWORD32
|
||||
* \brief A type definition for a 32-bit signed integer.
|
||||
*/
|
||||
typedef signed short SDWORD32;
|
||||
|
||||
/**
|
||||
* \var UINT
|
||||
* \brief A type definition for unsigned integer.
|
||||
*/
|
||||
#ifndef _HAVE_TYPE_UINT
|
||||
typedef unsigned int UINT;
|
||||
typedef unsigned int UINT;
|
||||
|
||||
/**
|
||||
* \var INT_PTR
|
||||
* \brief A signed integer type for pointer precision.
|
||||
*/
|
||||
#if defined(_WIN64)
|
||||
typedef __int64 INT_PTR;
|
||||
#elif defined(__LP64__)
|
||||
typedef long INT_PTR;
|
||||
#else
|
||||
typedef int INT_PTR;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \var typedef long LONG
|
||||
* \var UINT_PTR
|
||||
* \brief A unsigned integer type for pointer precision.
|
||||
*/
|
||||
#if defined(_WIN64)
|
||||
typedef unsigned __int64 UINT_PTR;
|
||||
#elif defined(__LP64__)
|
||||
typedef unsigned long UINT_PTR;
|
||||
#else
|
||||
typedef unsigned int UINT_PTR;
|
||||
#endif
|
||||
|
||||
#if SIZEOF_PTR == 8
|
||||
# define INT_PTR_MIN (-9223372036854775807L-1)
|
||||
# define INT_PTR_MAX (9223372036854775807L)
|
||||
# define UINT_PTR_MAX (18446744073709551615UL)
|
||||
#else
|
||||
# error 64bit arrives 32bit.
|
||||
# define INT_PTR_MIN (-2147483647-1)
|
||||
# define INT_PTR_MAX (2147483647)
|
||||
# define UINT_PTR_MAX (4294967295U)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \var typedef LONG
|
||||
* \brief A type definition for long integer.
|
||||
*/
|
||||
#ifndef _HAVE_TYPE_LONG
|
||||
typedef long LONG;
|
||||
typedef long LONG;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \var typedef unsigned int WPARAM
|
||||
* \var WPARAM
|
||||
* \brief A type definition for the first message paramter.
|
||||
*/
|
||||
typedef unsigned int WPARAM;
|
||||
typedef UINT_PTR WPARAM;
|
||||
|
||||
/**
|
||||
* \var typedef unsigned long LPARAM
|
||||
* \var LPARAM
|
||||
* \brief A type definition for the second message paramter.
|
||||
*/
|
||||
typedef unsigned long LPARAM;
|
||||
typedef UINT_PTR LPARAM;
|
||||
|
||||
/**
|
||||
* \def LOBYTE(w)
|
||||
|
||||
@@ -1090,19 +1090,19 @@ MG_EXPORT BOOL GUIAPI InitPolygonRegion (PCLIPRGN dst,
|
||||
* \note MiniGUI does not do any clipping operation for this DC,
|
||||
* so use this DC may make a mess of other windows.
|
||||
*/
|
||||
#define HDC_SCREEN 0
|
||||
#define HDC_SCREEN (HDC)0
|
||||
|
||||
/*
|
||||
* This is a system screen DC create for MiniGUI internal usage, for example,
|
||||
* menu and z-order operations
|
||||
*/
|
||||
#define HDC_SCREEN_SYS 1
|
||||
#define HDC_SCREEN_SYS (HDC)1
|
||||
|
||||
/**
|
||||
* \def HDC_INVALID
|
||||
* \brief Indicates an invalid handle to device context.
|
||||
*/
|
||||
#define HDC_INVALID 0xFFFFFFFF
|
||||
#define HDC_INVALID (HDC)UINT_PTR_MAX
|
||||
|
||||
#define GDCAP_COLORNUM 0
|
||||
#define GDCAP_HPIXEL 1
|
||||
|
||||
@@ -209,9 +209,9 @@
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER < 1300 || defined(__DMC__)
|
||||
/*
|
||||
* VC++6.0 or early compiler's header has no DWORD_PTR type.
|
||||
* VC++6.0 or early compiler's header has no DWORD type.
|
||||
*/
|
||||
typedef unsigned long DWORD_PTR;
|
||||
typedef unsigned long DWORD;
|
||||
#endif
|
||||
/*
|
||||
* -----------------
|
||||
|
||||
@@ -4893,15 +4893,15 @@ extern MG_EXPORT HWND __mg_hwnd_desktop;
|
||||
* \def HWND_NULL
|
||||
* \brief Null window handle.
|
||||
*/
|
||||
#define HWND_NULL 0
|
||||
#define HWND_NULL (HWND)0
|
||||
|
||||
/**
|
||||
* \def HWND_INVALID
|
||||
* \brief Invalid window handle.
|
||||
*/
|
||||
#define HWND_INVALID 0xFFFFFFFF
|
||||
#define HWND_INVALID (HWND)UINT_PTR_MAX
|
||||
|
||||
#define HWND_OTHERPROC 0xFFFFFFFE
|
||||
#define HWND_OTHERPROC (HWND)UINT_PTR_MAX
|
||||
|
||||
/**
|
||||
* Structure defines a main window.
|
||||
@@ -8426,10 +8426,10 @@ typedef struct _MENUITEMINFO {
|
||||
PBITMAP checkedbmp;
|
||||
|
||||
/** The private data attached to the menu item */
|
||||
DWORD itemdata;
|
||||
DWORD itemdata;
|
||||
|
||||
/** The data of this menu item, used to pass the string or the pointer to the BITMAP object of the menu item */
|
||||
DWORD typedata;
|
||||
DWORD typedata;
|
||||
|
||||
/**
|
||||
* Used by \a GetMenuItemInfo function to indicate the maximal length
|
||||
@@ -9056,7 +9056,7 @@ typedef struct _CTRLDATA
|
||||
/** Control caption */
|
||||
const char* caption;
|
||||
/** Additional data */
|
||||
DWORD dwAddData;
|
||||
DWORD dwAddData;
|
||||
/** Control extended style */
|
||||
DWORD dwExStyle;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user