13 #ifndef _MGNCS_BTNPANELPIECE_H
14 #define _MGNCS_BTNPANELPIECE_H
20 typedef struct _mButtonPanelPiece mButtonPanelPiece;
21 typedef struct _mButtonPanelPieceClass mButtonPanelPieceClass;
23 enum mButtonPanelPieceState{
31 typedef struct _mStateTable {
35 DWORD propertyValue[2];
38 #define MSG_BTNPANELPIECE_STATE_CHANGED (MSG_USER + 100)
41 #define mButtonPanelPieceHeader(clss) \
42 mPanelPieceHeader(clss) \
43 enum mButtonPanelPieceState state; \
44 mColorTable gradientBackgroundColorTable[2]; \
47 struct _mButtonPanelPiece
49 mButtonPanelPieceHeader(mButtonPanelPiece)
53 #define mButtonPanelPieceClassHeader(clss, superCls) \
54 mPanelPieceClassHeader(clss, superCls) \
55 void (*setStateTable)(clss*, mHotPiece*, int, DWORD, DWORD); \
56 void (*setGradientBackgroundColor)(clss*,\
57 ARGB*, float*, unsigned int, \
58 ARGB*, float*, unsigned int); \
59 void (*clearGradientBackgroundColor)(clss*, BOOL, BOOL); \
60 void (*setStates)(clss*); \
61 void (*useStateChange)(clss*, BOOL); \
62 void (*setGradientBorderColor)(clss*, \
63 ARGB*, float*, unsigned int);
65 struct _mButtonPanelPieceClass
67 mButtonPanelPieceClassHeader(mButtonPanelPiece, mPanelPiece)
70 MGNCS_EXPORT
extern mButtonPanelPieceClass g_stmButtonPanelPieceCls;