30 lines
689 B
C++
30 lines
689 B
C++
#ifndef TERML_TERML_WINDOWS_H
|
|
#define TERML_TERML_WINDOWS_H
|
|
|
|
#include "terml_private.h"
|
|
|
|
#ifdef _WIN32
|
|
|
|
#define WIN32_LEAN_AND_MEAN
|
|
#include <Windows.h>
|
|
|
|
class terml_windows : public terml
|
|
{
|
|
protected:
|
|
virtual void set_console_settings_impl() override;
|
|
virtual void reset_console_settings_impl() override;
|
|
virtual void read_stdin(char* buffer, unsigned int buffer_size) override;
|
|
virtual unsigned long long timer() override;
|
|
virtual unsigned long long timer_frequency() override;
|
|
virtual void process_events() override;
|
|
|
|
private:
|
|
DWORD previous_input_mode;
|
|
DWORD previous_output_mode;
|
|
UINT previous_codepage;
|
|
HANDLE handle_stdin;
|
|
};
|
|
|
|
#endif//_WIN32
|
|
|
|
#endif//TERML_TERML_WINDOWS_H
|