]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/tui/tui-disasm.h
Turn tui_erase_source_content into a method
[thirdparty/binutils-gdb.git] / gdb / tui / tui-disasm.h
CommitLineData
f377b406 1/* Disassembly display.
65f05602 2
42a4f53d 3 Copyright (C) 1998-2019 Free Software Foundation, Inc.
65f05602 4
f377b406
SC
5 Contributed by Hewlett-Packard Company.
6
7 This file is part of GDB.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
a9762ec7 11 the Free Software Foundation; either version 3 of the License, or
f377b406
SC
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
a9762ec7 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
f377b406 21
1a5c2598
TT
22#ifndef TUI_TUI_DISASM_H
23#define TUI_TUI_DISASM_H
c906108c 24
88f7e873
TT
25#include "tui/tui.h"
26#include "tui/tui-data.h"
5104fe36 27#include "tui-winsource.h"
88f7e873
TT
28
29/* A TUI disassembly window. */
30
31struct tui_disasm_window : public tui_source_window_base
32{
33 tui_disasm_window ()
34 : tui_source_window_base (DISASSEM_WIN)
35 {
36 }
37
38 DISABLE_COPY_AND_ASSIGN (tui_disasm_window);
39
40 const char *name () const override
41 {
42 return DISASSEM_NAME;
43 }
44
45 bool location_matches_p (struct bp_location *loc, int line_no) override;
46
a54700c6
TT
47 void maybe_update (struct frame_info *fi, symtab_and_line sal,
48 int line_no, CORE_ADDR addr)
49 override;
50
e25d2004
TT
51 void erase_source_content () override
52 {
53 do_erase_source_content (NO_DISASSEM_STRING);
54 }
55
88f7e873
TT
56protected:
57
58 void do_scroll_vertical (int num_to_scroll) override;
088f37dd
TT
59
60private:
61 /* Answer whether a particular line number or address is displayed
62 in the current source window. */
63 bool addr_is_displayed (CORE_ADDR addr) const;
88f7e873 64};
c906108c 65
9d391078
TT
66extern enum tui_status tui_set_disassem_content (tui_source_window_base *,
67 struct gdbarch *, CORE_ADDR);
13274fc3
UW
68extern void tui_show_disassem (struct gdbarch *, CORE_ADDR);
69extern void tui_show_disassem_and_update_source (struct gdbarch *, CORE_ADDR);
13274fc3 70extern void tui_get_begin_asm_address (struct gdbarch **, CORE_ADDR *);
c906108c 71
1a5c2598 72#endif /* TUI_TUI_DISASM_H */