32 #ifndef _MGNCS_HOT_PIECEC_H 33 #define _MGNCS_HOT_PIECEC_H 41 typedef struct _mHotPieceClass mHotPieceClass;
42 typedef struct _mHotPiece mHotPiece;
44 #define mHotPieceClassHeader(clss, superCls) \ 45 mObjectClassHeader(clss, superCls) \ 46 mHotPiece* (*hitTest)(clss *, int x, int y); \ 47 void (*paint)(clss *, HDC hdc, mObject * owner, DWORD add_data); \ 48 LRESULT (*processMessage)(clss *, UINT message, WPARAM, LPARAM, mObject *owner); \ 49 BOOL (*setProperty)(clss *, int id, DWORD value); \ 50 DWORD(*getProperty)(clss *, int id); \ 51 BOOL (*enable)(clss *, BOOL benable); \ 52 BOOL (*isEnabled)(clss *); \ 53 BOOL (*setRenderer)(clss *, const char* rdr_name); \ 54 BOOL (*setRect)(clss *, const RECT * prc); \ 55 BOOL (*getRect)(clss *, RECT * prc); \ 56 BOOL (*autoSize)(clss *, mObject *owner, const SIZE *pszMin, const SIZE *pszMax); 58 struct _mHotPieceClass
60 mHotPieceClassHeader(mHotPiece,
mObject)
63 MGNCS_EXPORT
extern mHotPieceClass g_stmHotPieceCls;
65 #define mHotPieceHeader(clss) \ 71 mHotPieceHeader(mHotPiece)
74 typedef void (*PHotPieceRdrFunc)(mHotPiece*, HDC hdc,
mObject* owner, DWORD add_data);
77 #define SET_BIT(flag, mask) ((flag)|=(mask)) 78 #define IS_BIT_SET(flag, mask) (((flag)&(mask)) == (mask)) 79 #define CLEAR_BIT(flag, mask) ((flag)&=~(mask)) 82 MGNCS_EXPORT mHotPiece * ncsNewPiece(mHotPieceClass *_class, DWORD add_data);
83 #define NEWPIECEEX(Piece,add_data) (Piece*)(ncsNewPiece((mHotPieceClass*)((void *)&(Class(Piece))),(DWORD)(add_data))) 84 #define NEWPIECE(Piece) NEWPIECEEX(Piece, 0) 85 MGNCS_EXPORT
void ncsDelPiece(mHotPiece* piece);
86 #define DELPIECE(p) ncsDelPiece((mHotPiece*)p) 89 MGNCS_EXPORT
void mHotPiece_update(mHotPiece *
self,
mObject *onwer, BOOL bUpdate);