32 #ifndef _MGUI_NCSCTRL_GRIDBOXPIECE_H 33 #define _MGUI_NCSCTRL_GRIDBOXPIECE_H 39 typedef struct _mGridBoxPieceClass mGridBoxPieceClass;
40 typedef struct _mGridBoxPiece mGridBoxPiece;
42 #define CELL_POINT_ISNULL(cp) ((cp).row == 0xFFFF || (cp).col == 0xFFFF) 43 #define NULL_CELL_POINT { 0xFFFF, 0xFFFF} 44 typedef struct _CELL_POINT{
49 #define mGridBoxPieceClassHeader(clss, superCls) \ 50 mRenderablePieceClassHeader(clss, superCls) \ 51 CELL_POINT (* hitCell)(clss *, int x, int y); \ 52 RECT * (*getCellRect)(clss *, int row, int col, RECT *prc); \ 53 void (*updateNewCell)(clss *, CELL_POINT old_cell, CELL_POINT new_cell, int old_mask, int new_mask, mWidget *owner); 55 struct _mGridBoxPieceClass
57 mGridBoxPieceClassHeader(mGridBoxPiece, mRenderablePiece)
60 MGNCS_EXPORT
extern mGridBoxPieceClass g_stmGridBoxPieceCls;
62 #define mGridBoxPieceHeader(clss) \ 63 mRenderablePieceHeader(clss) \ 64 unsigned short rows; \ 69 mGridBoxPieceHeader(mGridBoxPiece)
73 #define NCS_GRIDBOXPIECE_PAINT_MASK_DRAWSEL 0x01 74 #define NCS_GRIDBOXPIECE_PAINT_MASK_HOT 0x02 75 #define NCS_GRIDBOXPIECE_PAINT_MASK_REDRAW 0x04 76 #define NCS_GRIDBOXPIECE_PAINT_MASK_ALL_CELLS 0x10 77 typedef struct mGridBoxPiecePaintData{
82 }mGridBoxPiecePaintData;
84 enum mGridBoxPieceProps{
85 NCSP_GRIDBOXPIECE_ROWS = GRIDBOXPIECE_PROP_BEGIN,
86 NCSP_GRIDBOXPIECE_COLS
89 #define mGridBoxPiece_makeCell(col, row) (DWORD)(((col)&0xFF)|(((row)&0xFF)<<8)) 90 #define mGridBoxPiece_getRow(cell) (((cell)&0xFF00)>>8) 91 #define mGridBoxPiece_getCol(cell) ((cell)&0xFF)