1 1.1 christos /* General window behavior. 2 1.1 christos 3 1.1.1.8 christos Copyright (C) 1998-2024 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 32 1.1.1.6 christos /* An RAII class that suppresses output on construction (calling 33 1.1.1.6 christos wnoutrefresh on the existing windows), and then flushes the output 34 1.1.1.6 christos (via doupdate) when destroyed. */ 35 1.1.1.6 christos 36 1.1.1.6 christos class tui_suppress_output 37 1.1.1.6 christos { 38 1.1.1.6 christos public: 39 1.1.1.6 christos 40 1.1.1.6 christos tui_suppress_output (); 41 1.1.1.6 christos ~tui_suppress_output (); 42 1.1.1.6 christos 43 1.1.1.6 christos DISABLE_COPY_AND_ASSIGN (tui_suppress_output); 44 1.1.1.6 christos 45 1.1.1.6 christos private: 46 1.1.1.6 christos 47 1.1.1.6 christos /* Save the state of the suppression global. */ 48 1.1.1.6 christos bool m_saved_suppress; 49 1.1.1.6 christos }; 50 1.1.1.6 christos 51 1.1.1.6 christos /* Call wrefresh on the given window. However, if output is being 52 1.1.1.6 christos suppressed via tui_suppress_output, do not call wrefresh. */ 53 1.1.1.6 christos extern void tui_wrefresh (WINDOW *win); 54 1.1 christos 55 1.1.1.5 christos #endif /* TUI_TUI_WINGENERAL_H */ 56