Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.9 KiB

  1. //---------------------------------------------------------------------------
  2. // Info.h - implements the information services of the CRenderObj object
  3. //---------------------------------------------------------------------------
  4. #ifndef _INFO_H
  5. #define _INFO_H
  6. #include <loader.h>
  7. //---------------------------------------------------------------------------
  8. class CRenderObj; // forward
  9. //---------------------------------------------------------------------------
  10. HRESULT GetHwndThemeFile(HWND hwnd, LPCWSTR pszClassIdList,
  11. CUxThemeFile **ppThemeFile);
  12. HRESULT MatchThemeClass(LPCTSTR pszAppName, LPCTSTR pszClassId,
  13. CUxThemeFile *pThemeFile, int *piOffset, int *piClassNameOffset);
  14. HRESULT MatchThemeClassList(HWND hwnd, LPCTSTR pstClassIdList,
  15. CUxThemeFile *pThemeFile, int *piOffset, int *piClassNameOffset);
  16. HTHEME _OpenThemeDataFromFile(HTHEMEFILE hLoadedThemeFile, HWND hwnd, LPCWSTR pszClassList, DWORD dwFlags);
  17. HTHEME _OpenThemeData(HWND hwnd, LPCWSTR pszClassIdList, DWORD dwFlags);
  18. HRESULT _ApplyTheme(CUxThemeFile *pThemeFile, DWORD dwApplyFlags,
  19. OPTIONAL LPCWSTR pszTargetApp, OPTIONAL HWND hwndTarget);
  20. HRESULT _OpenThemeFileFromData(CRenderObj *pRender, HTHEMEFILE *phThemeFile);
  21. void ClearExStyleBits(HWND hwnd);
  22. //---------------------------------------------------------------------------
  23. BOOL EnumProcessWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam);
  24. void WindowDump(LPCWSTR pszWhere);
  25. //---------------------------------------------------------------------------
  26. inline THEMEMETRICS *GetThemeMetricsPtr(CUxThemeFile *pThemeFile)
  27. {
  28. THEMEHDR *hdr = (THEMEHDR *)(pThemeFile->_pbThemeData);
  29. return (THEMEMETRICS *)(pThemeFile->_pbThemeData + hdr->iSysMetricsOffset + ENTRYHDR_SIZE);
  30. }
  31. //---------------------------------------------------------------------------
  32. #endif // _INFO_H
  33. //---------------------------------------------------------------------------