blob: 9d3ada91ec49a65afbe4b61d0aeaf2714ca6c6d9 [file] [log] [blame]
/*
* Header window definitions
*
* Copyright 1998 Eric Kohl
*
*/
#ifndef __WINE_HEADER_H_
#define __WINE_HEADER_H_
typedef struct
{
INT cxy;
HBITMAP hbm;
LPWSTR pszText;
INT fmt;
LPARAM lParam;
INT iImage;
INT iOrder; /* see documentation of HD_ITEM */
BOOL bDown; /* is item pressed? (used for drawing) */
RECT rect; /* bounding rectangle of the item */
} HEADER_ITEM;
typedef struct
{
UINT uNumItem; /* number of items (columns) */
INT nHeight; /* height of the header (pixels) */
HFONT hFont; /* handle to the current font */
HCURSOR hcurArrow; /* handle to the arrow cursor */
HCURSOR hcurDivider; /* handle to a cursor (used over dividers) <-|-> */
HCURSOR hcurDivopen; /* handle to a cursor (used over dividers) <-||-> */
BOOL bCaptured; /* Is the mouse captured? */
BOOL bPressed; /* Is a header item pressed (down)? */
BOOL bTracking; /* Is in tracking mode? */
BOOL bUnicode; /* Unicode flag */
INT iMoveItem; /* index of tracked item. (Tracking mode) */
INT xTrackOffset; /* distance between the right side of the tracked item and the cursor */
INT xOldTrack; /* track offset (see above) after the last WM_MOUSEMOVE */
INT nOldWidth; /* width of a sizing item after the last WM_MOUSEMOVE */
INT iHotItem; /* index of hot item (cursor is over this item) */
HIMAGELIST himl; /* handle to a image list (may be 0) */
HEADER_ITEM *items; /* pointer to array of HEADER_ITEM's */
LPINT pOrder; /* pointer to order array */
} HEADER_INFO;
extern VOID HEADER_Register (VOID);
extern VOID HEADER_Unregister (VOID);
#endif /* __WINE_HEADER_H_ */