#ifndef _WINDEFS_H_ #define _WINDEFS_H_ // USER DEFINED MESSAGES #define WM_TOKEDIT WM_USER + 2 #define WM_UPDSTATLINE WM_USER + 2 #define WM_FMTSTATLINE WM_USER + 3 #define WM_READMPJDATA WM_USER + 3 #define WM_LOADPROJECT WM_USER + 3 #define WM_LOADTOKENS WM_USER + 4 #define WM_SAVEPROJECT WM_USER + 5 #define WM_EDITER_CLOSED WM_USER + 6 #define WM_VIEW WM_USER + 7 #define WM_TRANSLATE WM_USER + 8 #define WM_SAVETOKENS WM_USER + 9 #define ID_ICON 1 /* Windows macros */ #pragma message("Using the WIN translation of the common macros.") #ifdef RLWIN32 #ifdef _DEBUG FILE * MyFopen( char *, char *, char *, int); int MyClose( FILE **, char *, int); #define FALLOC(n) MyAlloc( (size_t)(n), __FILE__, __LINE__) #define FREALLOC(p,n) MyReAlloc( (p),(n), __FILE__, __LINE__) #define FOPEN(f,m) MyFopen( (f), (m), __FILE__, __LINE__) #define FCLOSE(p) MyClose( &(p), __FILE__, __LINE__) #else // _DEBUG FILE *MyFopen( char *, char *); int MyClose( FILE **); #define FALLOC(n) MyAlloc( (size_t)(n)) #define FREALLOC(p,n) MyReAlloc( (p),(n)) #define FOPEN(f,m) fopen( (f),(m)) //#define FOPEN(f,m) MyFopen( (f),(m)) //#define FCLOSE(p) MyClose( &(p)) //#define FCLOSE(p) {if(p){fclose( p);p=NULL;}} #define FCLOSE(p) fclose( p); #endif // _DEBUG //#define RLFREE(p) if(p){GlobalFree(p);p=NULL;} #define RLFREE(p) MyFree(&p) #define ALLOC(n) FALLOC(n) #define REALLOC(p,n) FREALLOC( (p),(n)) #define FMEMMOVE( szDst, szSrc, uSize) memmove( (szDst), (szSrc), (uSize)) #define FSTRNCPY( szDst, szSrc, uSize) strncpy( (szDst), (szSrc), (uSize)) #else // RLWIN32 #define FALLOC(n) (VOID FAR *)MAKELONG( 0, GlobalAlloc(GPTR, (DWORD)n)) #define FFREE(n) GlobalFree((HANDLE)HIWORD( (LONG)n)) #define FREALLOC(p,n) (VOID FAR *)MAKELONG( 0, GlobalReAlloc( (HANDLE)HIWORD( (LONG)n),n,GPTR)) #define ALLOC(n) (VOID NEAR *)LocalAlloc( LPTR,n) #define FREE(p) LocalFree( (LOCALHANDLE) p) #define REALLOC(p,n) LocalRealloc( p, n, LMEM_MOVEABLE) #define FMEMMOVE( szDst, szSrc, uSize) _fmemmove( szDst, szSrc, uSize ) #define FSTRNCPY( szDst, szSrc, uSize) _fstrncpy( szDst, szSrc, uSize ) #endif // RLWIN32 #ifndef UNICODE #define MessageBoxA MessageBox #define SetWindowTextA SetWindowText #define WinHelpA WinHelp #define SetDlgItemTextA SetDlgItemText #define GetDlgItemTextA GetDlgItemText #define GetOpenFileNameA GetOpenFileName #define OPENFILENAMEA OPENFILENAME #define DragQueryFileA DragQueryFile #endif #ifndef RLWIN32 #ifndef CONST #define CONST const #endif #define CHAR char typedef CHAR *LPSTR; typedef CONST CHAR *LPCSTR, *PCSTR; #ifndef _WCHAR_T_DEFINED typedef unsigned short wchar_t; #define _WCHAR_T_DEFINED #endif #define WCHAR wchar_t typedef WCHAR *PWCHAR; typedef WCHAR *LPWSTR, *PWSTR; typedef LPSTR LPTCH, PTCH; typedef LPSTR PTSTR, LPTSTR; typedef LPCSTR LPCTSTR; #define TEXT(quote) quote typedef unsigned char UCHAR; typedef char *PCHAR; #define UNALIGNED #endif #ifdef CAIRO #define OPENFILENAMEA OPENFILENAME #define GetOpenFileNameA GetOpenFileName #define HDROP HANDLE #endif #ifndef RLWIN32 #define _MBSTOWCS(ds,ss,dc,sc) mbstowcs(ds,ss,sc) #define _WCSTOMBS(ds,ss,dc,sc) wcstombs(ds,ss,sc) #else //RLWIN32 UINT _MBSTOWCS( WCHAR*, CHAR*, UINT, UINT); UINT _WCSTOMBS( CHAR*, WCHAR*, UINT, UINT); #endif // RLWIN32 #ifndef MAKEINTRESOURCE #define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i))) #define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i))) #ifdef UNICODE #define MAKEINTRESOURCE MAKEINTRESOURCEW #else #define MAKEINTRESOURCE MAKEINTRESOURCEA #endif // UNICODE #endif // !MAKEINTRESOURCE #endif // _WINDEFS_H_