44 #ifndef _MGNCS_HOT_PIECEC_H
45 #define _MGNCS_HOT_PIECEC_H
53 typedef struct _mHotPieceClass mHotPieceClass;
54 typedef struct _mHotPiece mHotPiece;
56 #define mHotPieceClassHeader(clss, superCls) \
57 mObjectClassHeader(clss, superCls) \
58 mHotPiece* (*hitTest)(clss *, int x, int y); \
59 void (*paint)(clss *, HDC hdc, mObject * owner, DWORD add_data); \
60 LRESULT (*processMessage)(clss *, UINT message, WPARAM, LPARAM, mObject *owner); \
61 BOOL (*setProperty)(clss *, int id, DWORD value); \
62 DWORD(*getProperty)(clss *, int id); \
63 BOOL (*enable)(clss *, BOOL benable); \
64 BOOL (*isEnabled)(clss *); \
65 BOOL (*setRenderer)(clss *, const char* rdr_name); \
66 BOOL (*setRect)(clss *, const RECT * prc); \
67 BOOL (*getRect)(clss *, RECT * prc); \
68 BOOL (*autoSize)(clss *, mObject *owner, const SIZE *pszMin, const SIZE *pszMax);
70 struct _mHotPieceClass
72 mHotPieceClassHeader(mHotPiece,
mObject)
75 MGNCS_EXPORT
extern mHotPieceClass g_stmHotPieceCls;
77 #define mHotPieceHeader(clss) \
83 mHotPieceHeader(mHotPiece)
86 typedef void (*PHotPieceRdrFunc)(mHotPiece*, HDC hdc,
mObject* owner, DWORD add_data);
89 #define SET_BIT(flag, mask) ((flag)|=(mask))
90 #define IS_BIT_SET(flag, mask) (((flag)&(mask)) == (mask))
91 #define CLEAR_BIT(flag, mask) ((flag)&=~(mask))
94 MGNCS_EXPORT mHotPiece * ncsNewPiece(mHotPieceClass *_class, DWORD add_data);
95 #define NEWPIECEEX(Piece,add_data) (Piece*)(ncsNewPiece((mHotPieceClass*)((void *)&(Class(Piece))),(DWORD)(add_data)))
96 #define NEWPIECE(Piece) NEWPIECEEX(Piece, 0)
97 MGNCS_EXPORT
void ncsDelPiece(mHotPiece* piece);
98 #define DELPIECE(p) ncsDelPiece((mHotPiece*)p)
101 MGNCS_EXPORT
void mHotPiece_update(mHotPiece *
self,
mObject *onwer, BOOL bUpdate);