display buffer name in buffer status pane
This commit is contained in:
parent
64ed3174ac
commit
c059cd8c09
@ -17,6 +17,7 @@ public:
|
||||
void handle_key(uint32_t keyval);
|
||||
size_t display_line() const { return m_iterator->line() + 1u; }
|
||||
size_t display_column() const;
|
||||
std::shared_ptr<Buffer> buffer() const { return m_buffer; }
|
||||
|
||||
protected:
|
||||
enum class CursorMovement : uint8_t
|
||||
|
@ -8,9 +8,21 @@ void BufferStatusPane::draw()
|
||||
sprintf(cursor_position, "%zu, %zu", m_buffer_pane->display_line(), m_buffer_pane->display_column());
|
||||
int cursor_position_length = strlen(cursor_position);
|
||||
int x = m_width - m_font->get_advance() * cursor_position_length;
|
||||
m_gl->draw_rect(win_x(x - 2), win_y(0), 1, m_height, 0.5, 0.5, 0.5, 1.0);
|
||||
std::string filename = m_buffer_pane->buffer()->filename();
|
||||
if (filename == "")
|
||||
{
|
||||
filename = "[No Name]";
|
||||
}
|
||||
int filename_x = std::min(0, x - 3 - (int)filename.size() * m_font->get_advance());
|
||||
for (int i = 0; i < cursor_position_length; i++)
|
||||
{
|
||||
m_gl->draw_character(win_x(x), win_y(0), cursor_position[i], *m_font);
|
||||
x += m_font->get_advance();
|
||||
}
|
||||
for (size_t i = 0; i < filename.size(); i++)
|
||||
{
|
||||
m_gl->draw_character(win_x(filename_x), win_y(0), filename[i], *m_font);
|
||||
filename_x += m_font->get_advance();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user