Home | History | Annotate | Line # | Download | only in tui
tui-wingeneral.h revision 1.1.1.7
      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