1 1.1 christos /* General window behavior. 2 1.1 christos 3 1.1.1.7 christos Copyright (C) 1998-2023 Free Software Foundation, Inc. 4 1.1 christos 5 1.1 christos Contributed by Hewlett-Packard Company. 6 1.1 christos 7 1.1 christos This file is part of GDB. 8 1.1 christos 9 1.1 christos This program is free software; you can redistribute it and/or modify 10 1.1 christos it under the terms of the GNU General Public License as published by 11 1.1 christos the Free Software Foundation; either version 3 of the License, or 12 1.1 christos (at your option) any later version. 13 1.1 christos 14 1.1 christos This program is distributed in the hope that it will be useful, 15 1.1 christos but WITHOUT ANY WARRANTY; without even the implied warranty of 16 1.1 christos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 1.1 christos GNU General Public License for more details. 18 1.1 christos 19 1.1 christos You should have received a copy of the GNU General Public License 20 1.1 christos along with this program. If not, see <http://www.gnu.org/licenses/>. */ 21 1.1 christos 22 1.1.1.5 christos #ifndef TUI_TUI_WINGENERAL_H 23 1.1.1.5 christos #define TUI_TUI_WINGENERAL_H 24 1.1.1.5 christos 25 1.1.1.5 christos #include "gdb_curses.h" 26 1.1 christos 27 1.1 christos struct tui_win_info; 28 1.1 christos 29 1.1 christos extern void tui_unhighlight_win (struct tui_win_info *); 30 1.1 christos extern void tui_highlight_win (struct tui_win_info *); 31 1.1.1.6 christos extern void tui_refresh_all (); 32 1.1.1.6 christos 33 1.1.1.6 christos /* An RAII class that suppresses output on construction (calling 34 1.1.1.6 christos wnoutrefresh on the existing windows), and then flushes the output 35 1.1.1.6 christos (via doupdate) when destroyed. */ 36 1.1.1.6 christos 37 1.1.1.6 christos class tui_suppress_output 38 1.1.1.6 christos { 39 1.1.1.6 christos public: 40 1.1.1.6 christos 41 1.1.1.6 christos tui_suppress_output (); 42 1.1.1.6 christos ~tui_suppress_output (); 43 1.1.1.6 christos 44 1.1.1.6 christos DISABLE_COPY_AND_ASSIGN (tui_suppress_output); 45 1.1.1.6 christos 46 1.1.1.6 christos private: 47 1.1.1.6 christos 48 1.1.1.6 christos /* Save the state of the suppression global. */ 49 1.1.1.6 christos bool m_saved_suppress; 50 1.1.1.6 christos }; 51 1.1.1.6 christos 52 1.1.1.6 christos /* Call wrefresh on the given window. However, if output is being 53 1.1.1.6 christos suppressed via tui_suppress_output, do not call wrefresh. */ 54 1.1.1.6 christos extern void tui_wrefresh (WINDOW *win); 55 1.1 christos 56 1.1.1.5 christos #endif /* TUI_TUI_WINGENERAL_H */ 57