Kernel: Implement fast scrolling for TTY
This commit is contained in:
@@ -17,6 +17,10 @@ namespace Kernel
|
||||
|
||||
void set_pixel(uint32_t x, uint32_t y, uint32_t rgb);
|
||||
|
||||
// positive rows -> empty pixels on bottom
|
||||
// negative rows -> empty pixels on top
|
||||
void scroll(int32_t rows, uint32_t rgb);
|
||||
|
||||
void sync_pixels_full();
|
||||
void sync_pixels_linear(uint32_t first_pixel, uint32_t pixel_count);
|
||||
void sync_pixels_rectangle(uint32_t top_right_x, uint32_t top_right_y, uint32_t width, uint32_t height);
|
||||
|
||||
@@ -15,6 +15,7 @@ namespace Kernel
|
||||
virtual uint32_t height() const override { return m_framebuffer_device->height() / font().height(); }
|
||||
|
||||
virtual void putchar_at(uint16_t, uint32_t, uint32_t, Color, Color) override;
|
||||
virtual bool scroll(Color) override;
|
||||
virtual void clear(Color) override;
|
||||
|
||||
virtual void set_cursor_position(uint32_t, uint32_t) override;
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Kernel
|
||||
virtual uint32_t height() const = 0;
|
||||
|
||||
virtual void putchar_at(uint16_t, uint32_t, uint32_t, Color, Color) = 0;
|
||||
virtual bool scroll(Color) { return false; }
|
||||
virtual void clear(Color) = 0;
|
||||
|
||||
virtual void set_cursor_position(uint32_t, uint32_t) = 0;
|
||||
|
||||
Reference in New Issue
Block a user