X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fncurses%2Fnc-scr.h;h=50cce33106838428e1be7e2d867e397eee4f5eff;hp=f18753a4a74c128a3d04ffffb38bcb4c308936d1;hb=a685c78f33418c109313a6fc4ea25bb8b90a8111;hpb=a610837ff38f5cc80bcbad465a80ab920e67927d diff --git a/ui/ncurses/nc-scr.h b/ui/ncurses/nc-scr.h index f18753a..50cce33 100644 --- a/ui/ncurses/nc-scr.h +++ b/ui/ncurses/nc-scr.h @@ -20,29 +20,35 @@ #define _PB_NC_SCR_H #include /* This must be included before ncurses.h */ -#include - -#ifdef DEBUG -#define DBG(fmt, args...) pb_log("DBG: " fmt, ## args) -#define DBGS(fmt, args...) \ - pb_log("DBG:%s:%d: " fmt, __func__, __LINE__, ## args) +#if defined HAVE_NCURSESW_CURSES_H +# include +#elif defined HAVE_NCURSESW_H +# include +#elif defined HAVE_NCURSES_CURSES_H +# include +#elif defined HAVE_NCURSES_H +# include +#elif defined HAVE_CURSES_H +# include #else -#define DBG(fmt, args...) -#define DBGS(fmt, args...) +# error "Curses header file not found." #endif +#define DBG(fmt, args...) pb_debug("DBG: " fmt, ## args) +#define DBGS(fmt, args...) \ + pb_debug("DBG:%s:%d: " fmt, __func__, __LINE__, ## args) + enum pb_nc_sig { - pb_cui_sig = 111, - pb_pmenu_sig = 222, - pb_item_sig = 333, - pb_boot_editor_sig = 444, - pb_removed_sig = -555, + pb_cui_sig = 111, + pb_pmenu_sig = 222, + pb_item_sig = 333, + pb_boot_editor_sig = 444, + pb_text_screen_sig = 555, + pb_config_screen_sig = 666, + pb_removed_sig = -777, }; -void nc_start(void); -void nc_atexit(void); - static inline void nc_flush_keys(void) { while (getch() != ERR) @@ -52,6 +58,7 @@ static inline void nc_flush_keys(void) enum nc_scr_pos { nc_scr_pos_title = 0, nc_scr_pos_title_sep = 1, + nc_scr_pos_lrtitle_space = 2, nc_scr_pos_sub = 2, nc_scr_pos_help_sep = 3, @@ -59,10 +66,12 @@ enum nc_scr_pos { nc_scr_pos_status = 1, nc_scr_frame_lines = 5, + nc_scr_frame_cols = 1, }; struct nc_frame { - char *title; + char *ltitle; + char *rtitle; char *help; char *status; }; @@ -89,4 +98,7 @@ void nc_scr_status_free(struct nc_scr *scr); void nc_scr_status_printf(struct nc_scr *scr, const char *format, ...); void nc_scr_frame_draw(struct nc_scr *scr); +int nc_scr_post(struct nc_scr *src); +int nc_scr_unpost(struct nc_scr *src); + #endif