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.

65 lines
1.9 KiB

  1. #define XBMPOFFSET 2
  2. typedef struct _HierDrawStruct {
  3. HDC hdcMem;
  4. HBITMAP hbmIcons;
  5. HBITMAP hbmMem;
  6. int nBitmapHeight;
  7. int nBitmapWidth;
  8. int nTextHeight;
  9. int nLineHeight;
  10. BOOL bLines;
  11. int NumOpened;
  12. DWORD_PTR *Opened;
  13. } HEIRDRAWSTRUCT;
  14. typedef HEIRDRAWSTRUCT FAR * LPHEIRDRAWSTRUCT ;
  15. //
  16. // Interface functions
  17. //
  18. VOID HierDraw_DrawTerm(LPHEIRDRAWSTRUCT lpHierDrawStruct);
  19. VOID HierDraw_DrawSetTextHeight (HWND hwnd, HFONT hFont, LPHEIRDRAWSTRUCT lpHierDrawStruct );
  20. BOOL HierDraw_DrawInit(HINSTANCE hInstance,
  21. int nBitmap,
  22. int nRows,
  23. int nColumns,
  24. BOOL bLines,
  25. LPHEIRDRAWSTRUCT lpHierDrawStruct,
  26. BOOL bInit);
  27. VOID HierDraw_OnDrawItem(HWND hwnd,
  28. const DRAWITEMSTRUCT FAR* lpDrawItem,
  29. int nLevel,
  30. DWORD dwConnectLevel,
  31. TCHAR *szText,
  32. int nRow,
  33. int nColumn,
  34. LPHEIRDRAWSTRUCT lpHierDrawStruct);
  35. VOID HierDraw_OnMeasureItem(HWND hwnd, MEASUREITEMSTRUCT FAR* lpMeasureItem,
  36. LPHEIRDRAWSTRUCT lpHierDrawStruct);
  37. BOOL HierDraw_IsOpened(LPHEIRDRAWSTRUCT lpHierDrawStruct, DWORD_PTR dwData);
  38. VOID HierDraw_OpenItem(LPHEIRDRAWSTRUCT lpHierDrawStruct, DWORD_PTR dwData);
  39. VOID HierDraw_CloseItem(LPHEIRDRAWSTRUCT lpHierDrawStruct, DWORD_PTR dwData);
  40. VOID HierDraw_DrawCloseAll(LPHEIRDRAWSTRUCT lpHierDrawStruct );
  41. VOID HierDraw_ShowKids(LPHEIRDRAWSTRUCT lpHierDrawStruct,
  42. HWND hwndList, WORD wCurrentSelection, WORD wKids);
  43. //
  44. // Support functions
  45. //
  46. static VOID near FastRect(HDC hDC, int x, int y, int cx, int cy);
  47. static DWORD near RGB2BGR(DWORD rgb);