diff options
Diffstat (limited to 'private/sdktools/perfmon/utils.h')
-rw-r--r-- | private/sdktools/perfmon/utils.h | 377 |
1 files changed, 377 insertions, 0 deletions
diff --git a/private/sdktools/perfmon/utils.h b/private/sdktools/perfmon/utils.h new file mode 100644 index 000000000..20d7b668d --- /dev/null +++ b/private/sdktools/perfmon/utils.h @@ -0,0 +1,377 @@ +//==========================================================================// +// Constants // +//==========================================================================// + + +#define ThreeDPad 2 +#define NOCHANGE -1 + +#define MENUCLOSING (0xFFFF0000) + +#define WM_DLGSETFOCUS (WM_USER + 0x201) +#define WM_DLGKILLFOCUS (WM_USER + 0x202) + + + +//==========================================================================// +// Macros // +//==========================================================================// + + +#define PinInclusive(x, lo, hi) \ + (max (lo, min (x, hi))) + + +#define PinExclusive(x, lo, hi) \ + (max ((lo) + 1, min (x, (hi) - 1))) + + +#define BoolEqual(a, b) \ + ((a == 0) == (b == 0)) + + +//=============================// +// Window Instance Accessors // +//=============================// + +#define WindowParent(hWnd) \ + ((HWND) GetWindowLong (hWnd, GWL_HWNDPARENT)) + +#define WindowID(hWnd) \ + GetWindowLong (hWnd, GWL_ID) + +#define WindowInstance(hWnd) \ + GetWindowWord (hWnd, GWW_HINSTANCE) + +#define WindowStyle(hWnd) \ + GetWindowLong (hWnd, GWL_STYLE) + +#define WindowSetStyle(hWnd, lStyle) \ + SetWindowLong (hWnd, GWL_STYLE, lStyle) + +#define WindowExStyle(hWnd) \ + GetWindowLong (hWnd, GWL_EXSTYLE) + +#define WindowSetID(hWnd, wID) \ + SetWindowLong (hWnd, GWL_ID, wID) + + +// All modeless dialogs need to be dispatched separately in the WinMain +// message loop, but only if the dialog exists. + + +#define ModelessDispatch(hDlg, lpMsg) \ + (hDlg ? IsDialogMessage (hDlg, lpMsg) : FALSE) + + +#define strclr(szString) \ + (szString [0] = TEXT('\0')) + + +#define strempty(lpszString) \ + (!(lpszString) || !(lpszString[0])) + +#define pstrsame(lpsz1, lpsz2) \ + ((!lpsz1 && !lpsz2) || (lpsz1 && lpsz2 && strsame (lpsz1, lpsz2))) + +#define pstrsamei(lpsz1, lpsz2) \ + ((!lpsz1 && !lpsz2) || (lpsz1 && lpsz2 && strsamei (lpsz1, lpsz2))) + +#define StringLoad(wID, szText) \ + (LoadString (hInstance, wID, \ + szText, sizeof (szText) - sizeof(TCHAR))) + + +#define WindowInvalidate(hWnd) \ + (InvalidateRect (hWnd, NULL, TRUE)) + + +#define WindowShow(hWnd, bShow) \ + (ShowWindow (hWnd, (bShow) ? SW_SHOW : SW_HIDE)) + + +#define MenuCheck(hMenu, wID, bCheck) \ + (CheckMenuItem (hMenu, wID, (bCheck) ? \ + (MF_BYCOMMAND | MF_CHECKED) : (MF_BYCOMMAND | MF_UNCHECKED))) + +#define DeleteFont(hFont) \ + (DeleteObject (hFont)) + +#define DeleteBitmap(hBitmap) \ + (DeleteObject (hBitmap)) + +#define DialogControl(hDlg, wControlID) \ + GetDlgItem (hDlg, wControlID) + + +#define DialogSetInt(hDlg, wControlID, iValue) \ + (SetDlgItemInt (hDlg, wControlID, iValue, TRUE)) + + +#define DialogText(hDlg, wControlID, szText) \ + (GetDlgItemText (hDlg, wControlID, szText, sizeof (szText) / sizeof(TCHAR) - 1)) + +#define DialogInt(hDlg, wControlID) \ + (GetDlgItemInt (hDlg, wControlID, NULL, TRUE)) + +#define strsame(szText1, szText2) \ + (!lstrcmp (szText1, szText2)) + +#define strsamei(szText1, szText2) \ + (!lstrcmpi (szText1, szText2)) + +#define strnsame(szText1, szText2, iLen) \ + (!lstrncmp (szText1, szText2, iLen)) + + +#define CreateScreenDC() \ + CreateDC (TEXT("DISPLAY"), NULL, NULL, NULL) + + + +#define RectContract(lpRect, xAmt, yAmt) \ + { \ + (lpRect)->left += (xAmt) ; \ + (lpRect)->top += (yAmt) ; \ + (lpRect)->right -= (xAmt) ; \ + (lpRect)->bottom -= (yAmt) ; \ + } + +#define IsBW(hDC) \ + (DeviceNumColors (hDC) <= 2) + +#ifdef KEEP_PRINT +#define IsPrinterDC(hDC) \ + (GetDeviceCaps (hDC, TECHNOLOGY) != DT_RASDISPLAY) +#else +#define IsPrinterDC(hDC) \ + (FALSE) +#endif + +#define VertInchPixels(hDC, iNumerator, iDenominator) \ + ((iNumerator * GetDeviceCaps (hDC, LOGPIXELSY)) / iDenominator) + + +#define HorzInchPixels(hDC, iNumerator, iDenominator) \ + ((iNumerator * GetDeviceCaps (hDC, LOGPIXELSX)) / iDenominator) + + +#define VertPointPixels(hDC, iPoints) \ + ((iPoints * GetDeviceCaps (hDC, LOGPIXELSY)) / 72) + + + +#define SimulateButtonPush(hDlg, wControlID) \ + (PostMessage (hDlg, WM_COMMAND, \ + (WPARAM) MAKELONG (wControlID, BN_CLICKED), \ + (LPARAM) DialogControl (hDlg, wControlID))) + + +// convert an unicode string to OEM string +#define ConvertUnicodeStr(pOemStr, pUnicodeStr) \ + CharToOemBuff(pUnicodeStr, pOemStr, lstrlen(pUnicodeStr) + 1) + +#define CallWinHelp(ContextID) \ + WinHelp(hWndMain, pszHelpFile, HELP_CONTEXT, ContextID) ; + +//==========================================================================// +// Exported Functions // +//==========================================================================// + +void Fill (HDC hDC, + DWORD rgbColor, + LPRECT lpRect) ; + +void ScreenRectToClient (HWND hWnd, + LPRECT lpRect) ; + +int TextWidth (HDC hDC, LPTSTR lpszText) ; + + +void ThreeDConcave (HDC hDC, + int x1, int y1, + int x2, int y2, + BOOL bFace) ; + + +void ThreeDConvex (HDC hDC, + int x1, int y1, + int x2, int y2) ; + + +void ThreeDConcave1 (HDC hDC, + int x1, int y1, + int x2, int y2) ; + + +void ThreeDConvex1 (HDC hDC, + int x1, int y1, + int x2, int y2) ; + + +int _cdecl mike (TCHAR *szFormat, ...) ; + +int _cdecl DlgErrorBox (HWND hDlg, UINT id, ...) ; + +int _cdecl mike1 (TCHAR *szFormat, ...) ; +int _cdecl mike2 (TCHAR *szFormat, ...) ; + +int FontHeight (HDC hDC, + BOOL bIncludeLeading) ; + + +int TextAvgWidth (HDC hDC, + int iNumChars) ; + + + +void WindowCenter (HWND hWnd) ; + + + +BOOL DialogMove (HDLG hDlg, + WORD wControlID, + int xPos, + int yPos, + int xWidth, + int yHeight) ; + + +int DialogWidth (HDLG hDlg, + WORD wControlID) ; + + +int DialogXPos (HDLG hDlg, + WORD wControlID) ; + +int DialogYPos (HDLG hDlg, + WORD wControlID) ; + + +void DialogShow (HDLG hDlg, + WORD wID, + BOOL bShow) ; + + +BOOL _cdecl DialogSetText (HDLG hDlg, + WORD wControlID, + WORD wStringID, + ...) ; +#if 0 +BOOL _cdecl DialogSetString (HDLG hDlg, + WORD wControlID, + LPTSTR lpszFormat, + ...) ; +#endif +#define DialogSetString(hDlg, wControlID, lpszFormat) \ + SetDlgItemText (hDlg, wControlID, lpszFormat) + +LPTSTR LongToCommaString (LONG lNumber, + LPTSTR lpszText) ; + + +BOOL MenuSetPopup (HWND hWnd, + int iPosition, + WORD wControlID, + LPTSTR lpszResourceID) ; + +void DialogEnable (HDLG hDlg, + WORD wID, + BOOL bEnable) ; + + +LPTSTR FileCombine (LPTSTR lpszFileSpec, + LPTSTR lpszFileDirectory, + LPTSTR lpszFileName) ; + +LPTSTR ExtractFileName (LPTSTR pFileSpec) ; + +int CBAddInt (HWND hWndCB, + int iValue) ; + +FLOAT DialogFloat (HDLG hDlg, + WORD wControlID, + BOOL *pbOK) ; + + +LPTSTR StringAllocate (LPTSTR lpszText1) ; + + +int DivRound (int iNumerator, int iDenominator) ; + + + +BOOL MenuEnableItem (HMENU hMenu, + WORD wID, + BOOL bEnable) ; + + + +void DrawBitmap (HDC hDC, + HBITMAP hBitmap, + int xPos, + int yPos, + LONG lROPCode) ; + +void BitmapDimemsion (HBITMAP hBitmap, int *pHeight, int *pWidth) ; + + +void WindowResize (HWND hWnd, + int xWidth, + int yHeight) ; + + +int WindowHeight (HWND hWnd) ; + + + +void WindowSetTopmost (HWND hWnd, BOOL bTopmost) ; + + +void WindowEnableTitle (HWND hWnd, BOOL bTitle) ; + + +void Line (HDC hDC, + HPEN hPen, + int x1, int y1, + int x2, int y2) ; + + + +#define HLine(hDC, hPen, x1, x2, y) \ + Line (hDC, hPen, x1, y, x2, y) ; + + +#define VLine(hDC, hPen, x, y1, y2) \ + Line (hDC, hPen, x, y1, x, y2) ; + + +int DialogHeight (HDLG hDlg, + WORD wControlID) ; + + + +void DialogSetFloat (HDLG hDlg, + WORD wControlID, + FLOAT eValue) ; + +void DialogSetInterval (HDLG hDlg, + WORD wControlID, + int IntervalMSec ) ; + +int MessageBoxResource (HWND hWndParent, + WORD wTextID, + WORD wTitleID, + UINT uiStyle) ; + +void WindowPlacementToString (PWINDOWPLACEMENT pWP, + LPTSTR lpszText) ; + +void StringToWindowPlacement (LPTSTR lpszText, + PWINDOWPLACEMENT pWP) ; + +DWORD MenuIDToHelpID (DWORD MenuID) ; + + + + |