Add a display coord to buffer coord method to Window
This commit is contained in:
parent
d3738b858b
commit
3e28539b81
|
@ -234,7 +234,7 @@ ByteCoord find_buffer_coord(const DisplayLine& line, const Buffer& buffer,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CharCoord Window::display_position(ByteCoord coord)
|
CharCoord Window::display_position(ByteCoord coord) const
|
||||||
{
|
{
|
||||||
LineCount l = 0;
|
LineCount l = 0;
|
||||||
for (auto& line : m_display_buffer.lines())
|
for (auto& line : m_display_buffer.lines())
|
||||||
|
@ -247,6 +247,13 @@ CharCoord Window::display_position(ByteCoord coord)
|
||||||
return { 0, 0 };
|
return { 0, 0 };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ByteCoord Window::buffer_coord(CharCoord coord) const
|
||||||
|
{
|
||||||
|
if (0_line <= coord.line and coord.line < m_display_buffer.lines().size())
|
||||||
|
return find_buffer_coord(m_display_buffer.lines()[(int)coord.line], buffer(), coord.column);
|
||||||
|
return { 0, 0 };
|
||||||
|
}
|
||||||
|
|
||||||
ByteCoord Window::offset_coord(ByteCoord coord, CharCount offset)
|
ByteCoord Window::offset_coord(ByteCoord coord, CharCount offset)
|
||||||
{
|
{
|
||||||
return buffer().offset_coord(coord, offset);
|
return buffer().offset_coord(coord, offset);
|
||||||
|
|
|
@ -31,7 +31,8 @@ public:
|
||||||
void scroll(CharCount offset);
|
void scroll(CharCount offset);
|
||||||
void update_display_buffer(const Context& context);
|
void update_display_buffer(const Context& context);
|
||||||
|
|
||||||
CharCoord display_position(ByteCoord coord);
|
CharCoord display_position(ByteCoord coord) const;
|
||||||
|
ByteCoord buffer_coord(CharCoord coord) const;
|
||||||
|
|
||||||
Highlighter& highlighters() { return m_highlighters; }
|
Highlighter& highlighters() { return m_highlighters; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user