⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i_pwin.h

📁 Very very small GUI. Usefull for small system, without OS or small OS. Event driven, support user m
💻 H
📖 第 1 页 / 共 3 页
字号:
                   _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 + -