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);
|
void handle_key(uint32_t keyval);
|
||||||
size_t display_line() const { return m_iterator->line() + 1u; }
|
size_t display_line() const { return m_iterator->line() + 1u; }
|
||||||
size_t display_column() const;
|
size_t display_column() const;
|
||||||
|
std::shared_ptr<Buffer> buffer() const { return m_buffer; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
enum class CursorMovement : uint8_t
|
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());
|
sprintf(cursor_position, "%zu, %zu", m_buffer_pane->display_line(), m_buffer_pane->display_column());
|
||||||
int cursor_position_length = strlen(cursor_position);
|
int cursor_position_length = strlen(cursor_position);
|
||||||
int x = m_width - m_font->get_advance() * cursor_position_length;
|
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++)
|
for (int i = 0; i < cursor_position_length; i++)
|
||||||
{
|
{
|
||||||
m_gl->draw_character(win_x(x), win_y(0), cursor_position[i], *m_font);
|
m_gl->draw_character(win_x(x), win_y(0), cursor_position[i], *m_font);
|
||||||
x += m_font->get_advance();
|
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