* fhandler.h (dev_console::is_fullscreen): Delete.

(dev_console::scroll_window): Return bool indicating success.
(dev_console::scroll_screen): New function.
(dev_console::clear_screen): New function.
(fhandler_console::clear_screen): Make __reg3.
(fhandler_console::cursor_set): Ditto.
(fhandler_console::cursor_get): Ditto.
(fhandler_console::cursor_rel): Ditto.
* fhandler_console.cc (dev_console::scroll_buffer): Adapt from
fhandler_console.
(fhandler_console::scroll_buffer): Use dev_console function.
(dev_console::is_fullscreen): Delete.
(dev_console::scroll_window): Return true if we cleared the screen.
Shrink/grow buffer first before scrolling to ensure that there is sufficient
space after scrolling.
(fhandler_console::clear_screen): Make reg3, use dev_console function.
(dev_console::clear_screen): New function adapted from fhandler_console.
(fhandler_console::cursor_set): Make __reg3.
(fhandler_console::cursor_rel): Ditto.
(fhandler_console::cursor_get): Ditto.
(fhandler_console::write): Fix "reverse index".
This commit is contained in:
Christopher Faylor
2014-02-23 03:38:52 +00:00
parent b211f4c17e
commit f1d9e96c44
3 changed files with 105 additions and 61 deletions

View File

@ -1327,8 +1327,9 @@ class dev_console
int set_cl_x (cltype);
int set_cl_y (cltype);
bool fillin (HANDLE);
bool is_fullscreen (int, int, int, int);
void scroll_window (HANDLE);
bool __reg3 scroll_window (HANDLE, int, int, int, int);
void __reg3 scroll_buffer (HANDLE, int, int, int, int, int, int);
void __reg3 clear_screen (HANDLE, int, int, int, int);
friend class fhandler_console;
};
@ -1358,11 +1359,11 @@ private:
/* Output calls */
void set_default_attr ();
void clear_screen (cltype, cltype, cltype, cltype);
void scroll_buffer (int, int, int, int, int, int);
void cursor_set (bool, int, int);
void cursor_get (int *, int *);
void cursor_rel (int, int);
void __reg3 clear_screen (cltype, cltype, cltype, cltype);
void __reg3 cursor_set (bool, int, int);
void __reg3 cursor_get (int *, int *);
void __reg3 cursor_rel (int, int);
inline void write_replacement_char ();
inline bool write_console (PWCHAR, DWORD, DWORD&);
const unsigned char *write_normal (unsigned const char*, unsigned const char *);