|
|
#define XBMPOFFSET 2
typedef struct _HierFileStruct { HDC hdcMem1; HDC hdcMem2; HBITMAP hbmIcons1; HBITMAP hbmMem1; int nBitmapHeight1; int nBitmapWidth1; HBITMAP hbmIcons2; HBITMAP hbmMem2; int nBitmapHeight2; int nBitmapWidth2; int nTextHeight; int nLineHeight; BOOL bLines; int NumOpened; DWORD_PTR *Opened;
} HEIRDRAWSTRUCT;
typedef HEIRDRAWSTRUCT FAR * LPHEIRDRAWSTRUCT ;
//
// Interface functions
//
VOID HierFile_DrawTerm(LPHEIRDRAWSTRUCT lpHierFileStruct);
VOID HierFile_DrawSetTextHeight (HWND hwnd, HFONT hFont, LPHEIRDRAWSTRUCT lpHierFileStruct );
BOOL HierFile_DrawInit(HINSTANCE hInstance, int nBitmap1, int nBitmap2, int nRows, int nColumns, BOOL bLines, LPHEIRDRAWSTRUCT lpHierFileStruct, BOOL bInit);
VOID HierFile_OnDrawItem(HWND hwnd, const DRAWITEMSTRUCT FAR* lpDrawItem, int nLevel, DWORD dwConnectLevel, TCHAR *szText, int nRow, int nColumn, int nColumn2, LPHEIRDRAWSTRUCT lpHierFileStruct);
VOID HierFile_OnMeasureItem(HWND hwnd, MEASUREITEMSTRUCT FAR* lpMeasureItem, LPHEIRDRAWSTRUCT lpHierFileStruct);
BOOL HierFile_IsOpened(LPHEIRDRAWSTRUCT lpHierFileStruct, DWORD_PTR dwData);
VOID HierFile_OpenItem(LPHEIRDRAWSTRUCT lpHierFileStruct, DWORD_PTR dwData);
VOID HierFile_CloseItem(LPHEIRDRAWSTRUCT lpHierFileStruct, DWORD_PTR dwData);
VOID HierFile_DrawCloseAll(LPHEIRDRAWSTRUCT lpHierFileStruct );
VOID HierFile_ShowKids(LPHEIRDRAWSTRUCT lpHierFileStruct, HWND hwndList, WORD wCurrentSelection, WORD wKids);
BOOL HierFile_InCheck(int nLevel, int xPos, LPHEIRDRAWSTRUCT lpHierFileStruct);
//
// Support functions
//
static VOID near FastRect(HDC hDC, int x, int y, int cx, int cy); static DWORD near RGB2BGR(DWORD rgb);
|