Continue C++ rewrite.
This commit is contained in:
42
display.h
Normal file
42
display.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef DISPLAY_HPP
|
||||
#define DISPLAY_HPP
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
// Forward declarations
|
||||
struct editor_t;
|
||||
|
||||
namespace ke {
|
||||
class abuf; // Forward declaration of ke::abuf
|
||||
|
||||
/**
|
||||
* Display class for screen rendering and refresh operations.
|
||||
*/
|
||||
class Display {
|
||||
public:
|
||||
Display() = default;
|
||||
~Display() = default;
|
||||
|
||||
// Deleted copy constructor and assignment
|
||||
Display(const Display&) = delete;
|
||||
Display& operator=(const Display&) = delete;
|
||||
|
||||
// Main display operations
|
||||
static void refresh(editor_t* editor);
|
||||
static void clear(ke::abuf* ab);
|
||||
|
||||
// Drawing operations
|
||||
static void draw_rows(editor_t* editor, ke::abuf* ab);
|
||||
static void draw_status_bar(editor_t* editor, ke::abuf* ab);
|
||||
static void draw_message_line(editor_t* editor, ke::abuf* ab);
|
||||
|
||||
// Scrolling
|
||||
static void scroll(editor_t* editor);
|
||||
|
||||
private:
|
||||
static char status_mode_char(int mode);
|
||||
};
|
||||
|
||||
} // namespace ke
|
||||
|
||||
#endif // DISPLAY_HPP
|
||||
Reference in New Issue
Block a user