/* * ui.h - hlogin(1) user interface functions * * Copyleft (C) 2022 ~keith * * This file is part of hlogin. * * hlogin is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, version 3. * * hlogin is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. * * You should have received a copy of the GNU General Public License * along with hlogin. If not, see . */ #define _XOPEN_SOURCE 600 #ifndef __UI_H #define __UI_H #include #include extern int term_rows, term_cols; void *safe_realloc(void *ptr, size_t size, size_t new_size); void safe_free(void *ptr, size_t size); void ui_init(); void ui_end(); void paint_back(); void paint_login(); void ui_setup_dialog(char *prompt, bool password); void ui_setup_message(char *text); int ui_update(); int ui_run(); int ui_message_run(); char *ui_get_text(); void input_add_char(char ch); void input_backdel_char(); void input_del_char(); void draw_outline(WINDOW *win, int height, int width, int y, int x, bool inset); char **word_wrap(char *text, int width, int max_word, int *lines); #endif // __UI_H