mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-15 08:47:56 +01:00
cleanup vtable/method macros
This commit is contained in:
parent
e1ebba4d24
commit
2a5fb95dac
1 changed files with 156 additions and 207 deletions
|
@ -230,100 +230,50 @@ struct DrawCtx {
|
|||
};
|
||||
|
||||
/* Franklin's compiler is too old to support __VA_ARGS__... */
|
||||
#ifdef DRAW_LINK_DIRECT
|
||||
# define CALL_DRAW_NAME0(name,dc) linked##_draw_##name(dc)
|
||||
# define CALL_DRAW_NAME1(name,dc,p1) linked##_draw_##name(dc,(p1))
|
||||
# define CALL_DRAW_NAME2(name,dc,p1,p2) \
|
||||
linked##_draw_##name(dc,(p1),(p2))
|
||||
# define CALL_DRAW_NAME3(name,dc,p1,p2,p3) \
|
||||
linked##_draw_##name(dc,(p1),(p2),(p3))
|
||||
# define CALL_DRAW_NAME4(name,dc,p1,p2,p3,p4) \
|
||||
linked##_draw_##name(dc,(p1),(p2),(p3),(p4))
|
||||
# define CALL_DRAW_NAME5(name,dc,p1,p2,p3,p4,p5) \
|
||||
linked##_draw_##name(dc,(p1),(p2),(p3),(p4),(p5))
|
||||
# define CALL_DRAW_NAME6(name,dc,p1,p2,p3,p4,p5,p6) \
|
||||
linked##_draw_##name(dc,(p1),(p2),(p3),(p4),(p5),(p6))
|
||||
# define CALL_DRAW_NAME8(name,dc,p1,p2,p3,p4,p5,p6,p7,p8) \
|
||||
linked##_draw_##name(dc,(p1),(p2),(p3),(p4),(p5),(p6),(p7),(p8))
|
||||
# define CALL_DRAW_NAME9(name,dc,p1,p2,p3,p4,p5,p6,p7,p8,p9) \
|
||||
linked##_draw_##name(dc,(p1),(p2),(p3),(p4),(p5),(p6),(p7),(p8),(p9))
|
||||
# define CALL_DRAW_NAME10(name,dc,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) \
|
||||
linked##_draw_##name(dc,(p1),(p2),(p3),(p4),(p5),(p6),(p7),\
|
||||
(p8),(p9),(p10))
|
||||
#else
|
||||
# define CALL_DRAW_NAME0(name,dc,e) ((dc)->vtable->m_draw_##name)((dc), (e))
|
||||
# define CALL_DRAW_NAME1(name,dc,e,p1) ((dc)->vtable->m_draw_##name)((dc),(e),(p1))
|
||||
# define CALL_DRAW_NAME2(name,dc,e,p1,p2) \
|
||||
((dc)->vtable->m_draw_##name)(dc,(e),(p1),(p2))
|
||||
# define CALL_DRAW_NAME3(name,dc,e,p1,p2,p3) \
|
||||
((dc)->vtable->m_draw_##name)((dc),(e),(p1),(p2),(p3))
|
||||
# define CALL_DRAW_NAME4(name,dc,e,p1,p2,p3,p4) \
|
||||
((dc)->vtable->m_draw_##name)((dc),(e),(p1),(p2),(p3),(p4))
|
||||
# define CALL_DRAW_NAME5(name,dc,e,p1,p2,p3,p4,p5) \
|
||||
((dc)->vtable->m_draw_##name)((dc),(e),(p1),(p2),(p3),(p4),(p5))
|
||||
# define CALL_DRAW_NAME6(name,dc,e,p1,p2,p3,p4,p5,p6) \
|
||||
((dc)->vtable->m_draw_##name)((dc),(e),(p1),(p2),(p3),(p4),(p5),(p6))
|
||||
# define CALL_DRAW_NAME8(name,dc,e,p1,p2,p3,p4,p5,p6,p7,p8) \
|
||||
((dc)->vtable->m_draw_##name)((dc),(e),(p1),(p2),(p3),(p4),(p5),(p6),(p7), \
|
||||
(p8))
|
||||
# define CALL_DRAW_NAME9(name,dc,e,p1,p2,p3,p4,p5,p6,p7,p8,p9) \
|
||||
((dc)->vtable->m_draw_##name)((dc),(e),(p1),(p2),(p3),(p4),(p5),(p6),(p7), \
|
||||
(p8),(p9))
|
||||
# define CALL_DRAW_NAME10(name,dc,e,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) \
|
||||
((dc)->vtable->m_draw_##name)((dc),(e),(p1),(p2),(p3),(p4),(p5),(p6),(p7), \
|
||||
(p8),(p9),(p10))
|
||||
#endif
|
||||
# define DRAW_CALL(name, dc, ...) ((dc)->vtable->m_draw_##name)((dc), __VA_ARGS__)
|
||||
|
||||
#define draw_destroyCtxt(dc,e) CALL_DRAW_NAME0(destroyCtxt, (dc), (e))
|
||||
#define draw_dictChanged( dc, e, n, d ) CALL_DRAW_NAME2(dictChanged, (dc),(e),(n),(d))
|
||||
#define draw_beginDraw( dc,e ) CALL_DRAW_NAME0(beginDraw, (dc), (e))
|
||||
#define draw_endDraw( dc,e ) CALL_DRAW_NAME0(endDraw, (dc), (e))
|
||||
#define draw_boardBegin( dc,e,r,h,v,f,tvt ) CALL_DRAW_NAME5(boardBegin, (dc), (e), \
|
||||
(r),(h),(v),(f), (tvt))
|
||||
#define draw_objFinished( dc, e, t, r, d ) \
|
||||
CALL_DRAW_NAME3(objFinished, (dc),(e), (t), (r), (d))
|
||||
#define draw_trayBegin( dc, e, r, o, s, f ) \
|
||||
CALL_DRAW_NAME4(trayBegin, dc, e, r, o, s, f)
|
||||
#define draw_vertScrollBoard( dc, e, r, d, f ) \
|
||||
CALL_DRAW_NAME3(vertScrollBoard, (dc),(e),(r),(d),(f))
|
||||
#define draw_scoreBegin( dc, e, r, t, s, c, f ) \
|
||||
CALL_DRAW_NAME5( scoreBegin,(dc),(e), (r), (t), (s), (c), (f))
|
||||
#define draw_destroyCtxt(dc,...) DRAW_CALL(destroyCtxt, dc, __VA_ARGS__)
|
||||
#define draw_dictChanged(dc, ...) DRAW_CALL(dictChanged, dc,__VA_ARGS__)
|
||||
#define draw_beginDraw(dc,...) DRAW_CALL(beginDraw, dc, __VA_ARGS__)
|
||||
#define draw_endDraw(dc, ...) DRAW_CALL(endDraw, dc, __VA_ARGS__)
|
||||
#define draw_boardBegin(dc, ...) DRAW_CALL(boardBegin, dc, __VA_ARGS__)
|
||||
|
||||
#define draw_objFinished(dc, ...) DRAW_CALL(objFinished, dc, __VA_ARGS__)
|
||||
#define draw_trayBegin(dc, ...) DRAW_CALL(trayBegin, dc, __VA_ARGS__)
|
||||
#define draw_vertScrollBoard(dc, ...) DRAW_CALL(vertScrollBoard, (dc),__VA_ARGS__)
|
||||
#define draw_scoreBegin(dc, ...) DRAW_CALL(scoreBegin,(dc), __VA_ARGS__)
|
||||
#ifdef XWFEATURE_SCOREONEPASS
|
||||
# define draw_drawRemText( dc, e, nt, f, ro ) \
|
||||
CALL_DRAW_NAME3(drawRemText, (dc),(e), (nt), (f), (ro) )
|
||||
# define draw_score_drawPlayers( dc, e, r, np, pd, pr ) \
|
||||
CALL_DRAW_NAME4(score_drawPlayers, (dc),(e), (r), (np), (pd), (pr) )
|
||||
# define draw_drawRemText(dc, ...) DRAW_CALL(drawRemText, dc,__VA_ARGS__)
|
||||
# define draw_score_drawPlayers(dc, ...) DRAW_CALL(score_drawPlayers, dc,__VA_ARGS__)
|
||||
#else
|
||||
# define draw_measureRemText( dc, e, r, n, wp, hp ) \
|
||||
CALL_DRAW_NAME4(measureRemText, (dc),(e), (r), (n), (wp), (hp) )
|
||||
# define draw_drawRemText( dc, e, ri, ro, n, f ) \
|
||||
CALL_DRAW_NAME4(drawRemText, (dc),(e), (ri), (ro), (n), (f) )
|
||||
# define draw_measureScoreText(dc, e, r, dsi, wp, hp) \
|
||||
CALL_DRAW_NAME4(measureScoreText,(dc),(e),(r),(dsi),(wp),(hp))
|
||||
# define draw_score_drawPlayer(dc, e, ri, ro, gp, dsi) \
|
||||
CALL_DRAW_NAME4(score_drawPlayer,(dc),(e),(ri),(ro),(gp),(dsi))
|
||||
# define draw_measureRemText(dc, ...) \
|
||||
DRAW_CALL(measureRemText, (dc),__VA_ARGS__)
|
||||
# define draw_drawRemText(dc, ...) \
|
||||
DRAW_CALL(drawRemText, (dc),__VA_ARGS__)
|
||||
# define draw_measureScoreText(dc, ...) \
|
||||
DRAW_CALL(measureScoreText,(dc),__VA_ARGS__)
|
||||
# define draw_score_drawPlayer(dc, ...) \
|
||||
DRAW_CALL(score_drawPlayer,(dc),__VA_ARGS__)
|
||||
#endif
|
||||
#define draw_score_pendingScore(dc, e, r, s, p, t, f ) \
|
||||
CALL_DRAW_NAME5(score_pendingScore,(dc),(e), (r), (s), (p), (t), (f))
|
||||
#define draw_drawTimer( dc, e, r, plyr, sec, dm ) \
|
||||
CALL_DRAW_NAME4(drawTimer,(dc),(e),(r),(plyr),(sec), (dm))
|
||||
#define draw_drawCell( dc, e, rect, txt, bmap, t, v,o, bon, hi, f ) \
|
||||
CALL_DRAW_NAME9(drawCell,(dc),(e),(rect),(txt),(bmap),(t),(v),(o),(bon),(hi), \
|
||||
(f))
|
||||
#define draw_invertCell( dc, e, rect ) CALL_DRAW_NAME1(invertCell,(dc),(e),(rect))
|
||||
#define draw_drawTile( dc, e, rect, text, bmp, val, hil ) \
|
||||
CALL_DRAW_NAME5(drawTile,(dc),(e),(rect),(text),(bmp),(val),(hil))
|
||||
#define draw_score_pendingScore(dc, ...) \
|
||||
DRAW_CALL(score_pendingScore,(dc),__VA_ARGS__)
|
||||
#define draw_drawTimer(dc, ...) \
|
||||
DRAW_CALL(drawTimer,(dc),__VA_ARGS__)
|
||||
#define draw_drawCell(dc, ...) DRAW_CALL(drawCell,(dc),__VA_ARGS__)
|
||||
#define draw_invertCell(dc, ...) DRAW_CALL(invertCell,(dc),__VA_ARGS__)
|
||||
#define draw_drawTile(dc, ...) \
|
||||
DRAW_CALL(drawTile,(dc),__VA_ARGS__)
|
||||
#ifdef POINTER_SUPPORT
|
||||
#define draw_drawTileMidDrag( dc, e, rect, text, bmp, val, ownr, hil ) \
|
||||
CALL_DRAW_NAME6(drawTileMidDrag,(dc),(e),(rect),(text),(bmp),(val),(ownr),(hil))
|
||||
#define draw_drawTileMidDrag(dc, ...) \
|
||||
DRAW_CALL(drawTileMidDrag,(dc),__VA_ARGS__)
|
||||
#endif /* POINTER_SUPPORT */
|
||||
#define draw_drawTileBack( dc, e, rect, f ) \
|
||||
CALL_DRAW_NAME2(drawTileBack, (dc),(e), (rect), (f) )
|
||||
#define draw_drawTrayDivider( dc, e, rect, s ) \
|
||||
CALL_DRAW_NAME2(drawTrayDivider,(dc),(e),(rect), (s))
|
||||
#define draw_clearRect( dc, e, rect ) CALL_DRAW_NAME1(clearRect,(dc),(e),(rect))
|
||||
#define draw_drawBoardArrow( dc, e, r, b, v, h, f ) \
|
||||
CALL_DRAW_NAME5(drawBoardArrow,(dc),(e),(r),(b), (v), (h), (f))
|
||||
#define draw_drawTileBack(dc, ...) \
|
||||
DRAW_CALL(drawTileBack, (dc),__VA_ARGS__)
|
||||
#define draw_drawTrayDivider(dc, ...) \
|
||||
DRAW_CALL(drawTrayDivider,(dc),__VA_ARGS__)
|
||||
#define draw_clearRect(dc, ...) DRAW_CALL(clearRect,(dc),__VA_ARGS__)
|
||||
#define draw_drawBoardArrow(dc, ...) \
|
||||
DRAW_CALL(drawBoardArrow,(dc),__VA_ARGS__)
|
||||
|
||||
#ifdef XWFEATURE_MINIWIN
|
||||
# define draw_getMiniWText(dc, e, b) CALL_DRAW_NAME1(getMiniWText, (dc),(e),(b))
|
||||
|
@ -347,5 +297,4 @@ struct DrawCtx {
|
|||
void InitDrawDefaults(DrawCtxVTable* vtable);
|
||||
#endif /* DRAW_WITH_PRIMITIVES */
|
||||
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue