#ifndef MSGWIN_H #define MSGWIN_H #include "../include/osw-x.h" #include "../include/widget.h" typedef struct _xsw_msg_win_struct xsw_msg_win_struct; #define XSW_MESG_WIN(p) ((xsw_msg_win_struct *)(p)) #define MSG_WIN_MARGIN 10 /* * Message column wrap: */ #define MESG_WIN_COL_WRAP 110 /* Characters */ /* * Message Window: */ struct _xsw_msg_win_struct { bool_t map_state, has_focus, disabled; int freeze_count, busy_count; visibility_t visibility_state; int x, y; unsigned int width, height; font_t *font; win_t toplevel; pixmap_t toplevel_buf; int line_spacing; int char_width; int longest_line; scroll_bar_struct sb; prompt_struct prompt; /* Selection in progress values (in window coordiantes) */ bool_t sel_in_progress; int sel_start_x, sel_start_y; }; /* msgwin.cpp */ extern "C" void MsgWinMapPromptMode( xsw_msg_win_struct *mw, const char *label, const char *val, const int mode ); extern "C" xsw_msg_win_struct *MsgWinNew(void); extern "C" void MsgWinResize(xsw_msg_win_struct *mw); extern "C" void MsgWinQueueResize(xsw_msg_win_struct *mw); extern "C" void MsgWinDraw(xsw_msg_win_struct *mw); extern "C" void MsgWinQueueDraw(xsw_msg_win_struct *mw); extern "C" int MsgWinManage( xsw_msg_win_struct *mw, event_t *event, const time_t cur_ms, const time_t cur_sec, const float tc ); extern "C" void MsgWinMap(xsw_msg_win_struct *mw); extern "C" void MsgWinUnmap(xsw_msg_win_struct *mw); extern "C" void MsgWinDelete(xsw_msg_win_struct *mw); #endif /* MSGWIN_H */