Source code of Windows XP (NT5)
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.

74 lines
2.2 KiB

  1. #define XBMPOFFSET 2
  2. typedef struct _HierFileStruct {
  3. HDC hdcMem1;
  4. HDC hdcMem2;
  5. HBITMAP hbmIcons1;
  6. HBITMAP hbmMem1;
  7. int nBitmapHeight1;
  8. int nBitmapWidth1;
  9. HBITMAP hbmIcons2;
  10. HBITMAP hbmMem2;
  11. int nBitmapHeight2;
  12. int nBitmapWidth2;
  13. int nTextHeight;
  14. int nLineHeight;
  15. BOOL bLines;
  16. int NumOpened;
  17. DWORD_PTR *Opened;
  18. } HEIRDRAWSTRUCT;
  19. typedef HEIRDRAWSTRUCT FAR * LPHEIRDRAWSTRUCT ;
  20. //
  21. // Interface functions
  22. //
  23. VOID HierFile_DrawTerm(LPHEIRDRAWSTRUCT lpHierFileStruct);
  24. VOID HierFile_DrawSetTextHeight (HWND hwnd, HFONT hFont, LPHEIRDRAWSTRUCT lpHierFileStruct );
  25. BOOL HierFile_DrawInit(HINSTANCE hInstance,
  26. int nBitmap1,
  27. int nBitmap2,
  28. int nRows,
  29. int nColumns,
  30. BOOL bLines,
  31. LPHEIRDRAWSTRUCT lpHierFileStruct,
  32. BOOL bInit);
  33. VOID HierFile_OnDrawItem(HWND hwnd,
  34. const DRAWITEMSTRUCT FAR* lpDrawItem,
  35. int nLevel,
  36. DWORD dwConnectLevel,
  37. TCHAR *szText,
  38. int nRow,
  39. int nColumn,
  40. int nColumn2,
  41. LPHEIRDRAWSTRUCT lpHierFileStruct);
  42. VOID HierFile_OnMeasureItem(HWND hwnd, MEASUREITEMSTRUCT FAR* lpMeasureItem,
  43. LPHEIRDRAWSTRUCT lpHierFileStruct);
  44. BOOL HierFile_IsOpened(LPHEIRDRAWSTRUCT lpHierFileStruct, DWORD_PTR dwData);
  45. VOID HierFile_OpenItem(LPHEIRDRAWSTRUCT lpHierFileStruct, DWORD_PTR dwData);
  46. VOID HierFile_CloseItem(LPHEIRDRAWSTRUCT lpHierFileStruct, DWORD_PTR dwData);
  47. VOID HierFile_DrawCloseAll(LPHEIRDRAWSTRUCT lpHierFileStruct );
  48. VOID HierFile_ShowKids(LPHEIRDRAWSTRUCT lpHierFileStruct,
  49. HWND hwndList, WORD wCurrentSelection, WORD wKids);
  50. BOOL HierFile_InCheck(int nLevel, int xPos, LPHEIRDRAWSTRUCT lpHierFileStruct);
  51. //
  52. // Support functions
  53. //
  54. static VOID near FastRect(HDC hDC, int x, int y, int cx, int cy);
  55. static DWORD near RGB2BGR(DWORD rgb);