📄 i_pwin.h
字号:
_a_, _b_, _c_, _d_, _e_, _f_); \ IPW_MACRO_END#define IPW_TRACE(_DTYPE_, _args_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE_F(_args_)) #define IPW_TRACE1(_DTYPE_, _t_, _a_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE1_F(_t_, _a_)) #define IPW_TRACE2(_DTYPE_, _t_, _a_, _b_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE2_F(_t_, _a_, _b_)) #define IPW_TRACE3(_DTYPE_, _t_, _a_, _b_, _c_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE3_F(_t_, _a_, _b_, _c_)) #define IPW_TRACE4(_DTYPE_, _t_, _a_, _b_, _c_, _d_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE4_F(_t_, _a_, _b_, _c_, _d_)) #define IPW_TRACE5(_DTYPE_, _t_, _a_, _b_, _c_, _d_, _e_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE5_F(_t_, _a_, _b_, _c_, _d_, _e_)) #define IPW_TRACE6(_DTYPE_, _t_, _a_, _b_, _c_, _d_, _e_, _f_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE6_F(_t_, _a_, _b_, _c_, _d_, _e_, _f_)) #define IPW_TRACE1M(_DTYPE_, _ta_, _a_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE1M_F(_ta_, _a_)) #define IPW_TRACE2M(_DTYPE_, _ta_, _a_, _tb_, _b_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE2M_F(_ta_, _a_, _tb_, _b_)) #define IPW_TRACE3M(_DTYPE_, _ta_, _a_, _tb_, _b_, _tc_, _c_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE3M_F(_ta_, _a_, _tb_, _b_, _tc_, _c_)) #define IPW_TRACE4M(_DTYPE_, _ta_, _a_, _tb_, _b_, _tc_, _c_, _td_, _d_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE4M_F(_ta_, _a_, _tb_, _b_, \ _tc_, _c_, _td_, _d_)) \#define IPW_TRACE5M(_DTYPE_, _ta_, _a_, _tb_, _b_, _tc_, _c_, \ _td_, _d_, _te_, _e_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE5M_F(_ta_, _a_, _tb_, _b_, _tc_, _c_, \ _td_, _d_, _te_, _e_))#define IPW_TRACE6M(_DTYPE_, _ta_, _a_, _tb_, _b_, _tc_, _c_, \ _td_, _d_, _te_, _e_, _tf_, _f_) \ IPW_TRC_ ## _DTYPE_(IPW_TRACE6M_F(_ta_, _a_, _tb_, _b_, _tc_, _c_, \ _td_, _d_, _te_, _e_, _tf_, _f_)) #define IPW_TRACE_ENTER(_DTYPE_) \ IPW_TRACE(_DTYPE_, ("ENTER"))#define IPW_TRACE_EXIT(_DTYPE_) \ IPW_TRACE(_DTYPE_, ("EXIT"))#define IPW_TRACE_EXIT_V(_DTYPE_, _t_, _v_) \ IPW_TRACE(_DTYPE_, ("EXIT (%" # _t_ ")", _v_)); #define IPW_TRACE_RECT(_DTYPE_, _r_) \ IPW_MACRO_START \ if (PW_NULL != _r_) \ { \ IPW_TRACE(_DTYPE_, ("rect (%p) " # _r_ "=(%d, %d, %d, %d)", \ (_r_), (_r_)->x, (_r_)->y, \ (_r_)->w, (_r_)->h)); \ } \ else \ { \ IPW_TRACE(_DTYPE_, ("rect (%p) " # _r_ "=()", (_r_))); \ } \ IPW_MACRO_END#define IPW_TRACE_RECT2(_DTYPE_, _r1_, _r2_) \ IPW_MACRO_START \ IPW_TRACE_RECT(_DTYPE_, _r1_); \ IPW_TRACE_RECT(_DTYPE_, _r2_); \ IPW_MACRO_END#define IPW_TRACE_RECT3(_DTYPE_, _r1_, _r2_, _r3_) \ IPW_MACRO_START \ IPW_TRACE_RECT(_DTYPE_, _r1_); \ IPW_TRACE_RECT(_DTYPE_, _r2_); \ IPW_TRACE_RECT(_DTYPE_, _r3_); \ IPW_MACRO_END#define IPW_TRACE_RECT4(_DTYPE_, _r1_, _r2_, _r3_, _r4_) \ IPW_MACRO_START \ IPW_TRACE_RECT(_DTYPE_, _r1_); \ IPW_TRACE_RECT(_DTYPE_, _r2_); \ IPW_TRACE_RECT(_DTYPE_, _r3_); \ IPW_TRACE_RECT(_DTYPE_, _r4_); \ IPW_MACRO_END#define IPW_TRACE_REGION(_DTYPE_, _r_) \ IPW_MACRO_START \ if (PW_NULL != _r_) \ { \ IPW_TRACE(_DTYPE_, ("reg (%p) " # _r_ " " \ "next=%p area=(%d, %d, %d, %d)", \ (_r_), (_r_)->next, (_r_)->area.x, \ (_r_)->area.y, (_r_)->area.w)); \ } \ else \ { \ IPW_TRACE(_DTYPE_, ("rect (%p) " # _r_ "=()", (_r_))); \ } \ IPW_MACRO_END#define IPW_TRACE_REGION2(_DTYPE_, _r1_, _r2_) \ IPW_MACRO_START \ IPW_TRACE_REGION(_DTYPE_, _r1_); \ IPW_TRACE_REGION(_DTYPE_, _r2_); \ IPW_MACRO_END#define IPW_TRACE_REGION3(_DTYPE_, _r1_, _r2_, _r3_) \ IPW_MACRO_START \ IPW_TRACE_REGION(_DTYPE_, _r1_); \ IPW_TRACE_REGION(_DTYPE_, _r2_); \ IPW_TRACE_REGION(_DTYPE_, _r3_); \ IPW_MACRO_END#define IPW_TRACE_REGION4(_DTYPE_, _r1_, _r2_, _r3_, _r4_) \ IPW_MACRO_START \ IPW_TRACE_REGION(_DTYPE_, _r1_); \ IPW_TRACE_REGION(_DTYPE_, _r2_); \ IPW_TRACE_REGION(_DTYPE_, _r3_); \ IPW_TRACE_REGION(_DTYPE_, _r4_); \ IPW_MACRO_END#define IPW_TRACE_RLIST(_DTYPE_, _rlist_) \ IPW_MACRO_START \ if (PW_NULL != _rlist_) \ { \ IPW_TRACE(_DTYPE_, ("rlist (%p) " # _rlist_ " " \ "regs=%p num=%d bnds=(%d, %d, %d, %d)", \ (_rlist_), (_rlist_)->regs, \ (_rlist_)->regs_num, \ (_rlist_)->bounds.x, \ (_rlist_)->bounds.y, \ (_rlist_)->bounds.w, \ (_rlist_)->bounds.h)); \ } \ else \ { \ IPW_TRACE(_DTYPE_, ("rlist (%p) " # _rlist_ "=()", \ (_rlist_))); \ } \ IPW_MACRO_END#define IPW_TRACE_RLIST2(_DTYPE_, _r1_, _r2_) \ IPW_MACRO_START \ IPW_TRACE_RLIST(_DTYPE_, _r1_); \ IPW_TRACE_RLIST(_DTYPE_, _r2_); \ IPW_MACRO_END#define IPW_TRACE_RLIST3(_DTYPE_, _r1_, _r2_, _r3_) \ IPW_MACRO_START \ IPW_TRACE_RLIST(_DTYPE_, _r1_); \ IPW_TRACE_RLIST(_DTYPE_, _r2_); \ IPW_TRACE_RLIST(_DTYPE_, _r3_); \ IPW_MACRO_END#define IPW_TRACE_RLIST4(_DTYPE_, _r1_, _r2_, _r3_, _r4_) \ IPW_MACRO_START \ IPW_TRACE_RLIST(_DTYPE_, _r1_); \ IPW_TRACE_RLIST(_DTYPE_, _r2_); \ IPW_TRACE_RLIST(_DTYPE_, _r3_); \ IPW_TRACE_RLIST(_DTYPE_, _r4_); \ IPW_MACRO_END
/*#define IPW_TRACE_EN(_DTYPE_) \ (0 IPW_TRC_ ## _DTYPE_(== 0)) */
#define IPW_TRACE_EN(_DTYPE_) (1)#else /* IPW_USE_TRACE */#define IPW_TRACE(_DTYPE_, _args_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE1(_DTYPE_, _t_, _a_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE2(_DTYPE_, _t_, _a_, _b_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE3(_DTYPE_, _t_, _a_, _b_, _c_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE4(_DTYPE_, _t_, _a_, _b_, _c_, _d_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE5(_DTYPE_, _t_, _a_, _b_, _c_, _d_, _e_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE6(_DTYPE_, _t_, _a_, _b_, _c_, _d_, _e_, _f_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE1M(_DTYPE_, _ta_, _a_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE2M(_DTYPE_, _ta_, _a_, _tb_, _b_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE3M(_DTYPE_, _ta_, _a_, _tb_, _b_, _tc_, _c_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE4M(_DTYPE_, _ta_, _a_, _tb_, _b_, _tc_, _c_, _td_, _d_) \ IPW_EMPTY_STATEMENT#define IPW_TRACE5M(_DTYPE_, _ta_, _a_, _tb_, _b_, _tc_, _c_, \ _td_, _d_, _te_, _e_) \ IPW_EMPTY_STATEMENT #define IPW_TRACE6M(_DTYPE_, _ta_, _a_, _tb_, _b_, _tc_, _c_, \ _td_, _d_, _te_, _e_, _tf_, _f_) \ IPW_EMPTY_STATEMENT #define IPW_TRACE_ENTER(_DTYPE_) IPW_EMPTY_STATEMENT#define IPW_TRACE_EXIT(_DTYPE_) IPW_EMPTY_STATEMENT#define IPW_TRACE_EXIT_V(_DTYPE_, _t_, _v_) IPW_EMPTY_STATEMENT#define IPW_TRACE_RECT(_DTYPE_, _r_) IPW_EMPTY_STATEMENT#define IPW_TRACE_RECT2(_DTYPE_, _r1_, _r2_) IPW_EMPTY_STATEMENT #define IPW_TRACE_RECT3(_DTYPE_, _r1_, _r2_, _r3_) IPW_EMPTY_STATEMENT#define IPW_TRACE_RECT4(_DTYPE_, _r1_, _r2_, _r3_, _r4_) IPW_EMPTY_STATEMENT #define IPW_TRACE_REGION(_DTYPE_, _r_) IPW_EMPTY_STATEMENT#define IPW_TRACE_REGION2(_DTYPE_, _r1_, _r2_) IPW_EMPTY_STATEMENT#define IPW_TRACE_REGION3(_DTYPE_, _r1_, _r2_, _r3_) IPW_EMPTY_STATEMENT#define IPW_TRACE_REGION4(_DTYPE_, _r1_, _r2_, _r3_, _r4_) IPW_EMPTY_STATEMENT #define IPW_TRACE_RLIST(_DTYPE_, _r_) IPW_EMPTY_STATEMENT#define IPW_TRACE_RLIST2(_DTYPE_, _r1_, _r2_) IPW_EMPTY_STATEMENT #define IPW_TRACE_RLIST3(_DTYPE_, _r1_, _r2_, _r3_) IPW_EMPTY_STATEMENT#define IPW_TRACE_RLIST4(_DTYPE_, _r1_, _r2_, _r3_, _r4_) IPW_EMPTY_STATEMENT #define IPW_TRACE_EN(_DTYPE_) 0#endif /* not IPW_USE_TRACE *//* -------------------------------------------------------------------------- */#ifdef IPW_USE_CHECKS#define IPW_CHECK(_CTYPE_, _code_) \ IPW_CHK_ ## _CTYPE_(_code_)#define IPW_CHECK_EN(_CTYPE_) \ (0 IPW_CHK_ ## _CTYPE_(== 0))#else /* IPW_USE_CHECKS */#define IPW_CHECK(_CTYPE_, _code_) IPW_EMPTY_STATEMENT#define IPW_CHECK_EN(_CTYPE_) 0#endif /* not IPW_USE_CHECKS *//* -------------------------------------------------------------------------- */#if IPW_CHECK_EN(BITMAP_STRUCT)Pw_Bool IPw_BitmapCheck(Pw_Bitmap* bitmap);
#define IPW_CHECK_BITMAP(_bitmap_) /*#define IPW_CHECK_BITMAP(_bitmap_) \ IPW_MACRO_START \ IPW_ASSERT(IPw_BitmapCheck(_bitmap_), \ ("Bitmap (%p) check failed!", _bitmap_)); \ IPW_MACRO_END */#else /* IPW_CHECK_EN(BITMAP_STRUCT) */#define IPW_CHECK_BITMAP(_bitmap_) IPW_EMPTY_STATEMENT#endif /* not IPW_CHECK_EN(BITMAP_STRUCT) */#if IPW_CHECK_EN(GC_STRUCT)Pw_Bool IPw_GCCheck(Pw_GC* bitmap);#define IPW_CHECK_GC(_gc_) \ IPW_MACRO_START \ IPW_ASSERT(IPw_GCCheck(_gc_), \ ("GC (%p) check failed!", _gc_)); \ IPW_MACRO_END#else /* IPW_CHECK_EN(GC_STRUCT) */#define IPW_CHECK_GC(_gc_) IPW_EMPTY_STATEMENT#endif /* not IPW_CHECK_EN(GC_STRUCT) */#if IPW_CHECK_EN(WINDOW_STRUCT)Pw_Bool IPw_WindowCheck(Pw_Window* window);#define IPW_CHECK_WINDOW(_win_) \ IPW_MACRO_START \ IPW_ASSERT(IPw_WindowCheck(_win_), \ ("Window (%p) check failed!", _win_)); \ IPW_MACRO_END#else /* IPW_CHECK_EN(WINDOW_STRUCT) */#define IPW_CHECK_WINDOW(_win_) IPW_EMPTY_STATEMENT#endif /* not IPW_CHECK_EN(WINDOW_STRUCT) */#if IPW_CHECK_EN(REGION_LIST)Pw_Bool IPw_RegionListCheck(Pw_RegionList* rlist, Pw_Bool hard);#define IPW_CHECK_RLIST(_rlist_) \ IPW_MACRO_START \ IPW_ASSERT(IPw_RegionListCheck(_rlist_, FALSE), \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -