24 lines
638 B
C++
24 lines
638 B
C++
#include "BufferView.h"
|
|
|
|
BufferView::BufferView(std::shared_ptr<Buffer> buffer,
|
|
std::shared_ptr<Buffer::Iterator> iterator,
|
|
CharacterWidthDeterminer & character_width_determiner)
|
|
: m_iterator(iterator)
|
|
{
|
|
m_height = 1;
|
|
m_scroll_offset = 0;
|
|
m_cursor_screen_row = 0;
|
|
m_buffer_line_walker = std::make_shared<BufferLineWalker>(buffer, character_width_determiner);
|
|
}
|
|
|
|
void BufferView::resize(int width, int height)
|
|
{
|
|
m_buffer_line_walker->set_width(width);
|
|
m_height = std::max(1, height);
|
|
}
|
|
|
|
void BufferView::set_scroll_offset(int scroll_offset)
|
|
{
|
|
m_scroll_offset = std::max(0, scroll_offset);
|
|
}
|