65 lines
1.3 KiB
C++
65 lines
1.3 KiB
C++
/***
|
|
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: ConsoleStd.hpp
|
|
Date: 2021-6-8
|
|
Author: Reece
|
|
***/
|
|
#pragma once
|
|
|
|
namespace Aurora::Console::ConsoleStd
|
|
{
|
|
void Init();
|
|
void Pump();
|
|
void Exit();
|
|
void Flush();
|
|
void Start();
|
|
|
|
AuSPtr<AuLoop::ILoopSource> GetLoopSource();
|
|
|
|
AuUInt32 WriteStdOutBlocking2(const void *data, AuUInt32 length);
|
|
|
|
void Lock();
|
|
void Unlock();
|
|
AuUInt32 WriteStdOutNonBlocking(const void *data, AuUInt32 length);
|
|
void FlushStdOutNb();
|
|
|
|
AuUInt32 ReadStdIn(void *data, AuUInt32 length);
|
|
AuUInt32 WriteStdOut(const void *data, AuUInt32 length);
|
|
|
|
void WriteStdOut(AuUInt8 level, const ConsoleMessage &msg);
|
|
|
|
AUE_DEFINE(ECanonicalInput,
|
|
(
|
|
eInput,
|
|
eArrowUp,
|
|
eArrowDown,
|
|
eArrowRight,
|
|
eArrowLeft,
|
|
eHome,
|
|
eBackspace,
|
|
ePageUp,
|
|
ePageDown,
|
|
eScroll,
|
|
eEnter
|
|
));
|
|
|
|
struct CanonicalInput
|
|
{
|
|
ECanonicalInput type;
|
|
AuString keyUp;
|
|
int scrollDeltaY;
|
|
};
|
|
|
|
|
|
bool EnterCanMode();
|
|
void LeaveCanMode();
|
|
|
|
AuList<CanonicalInput> DebufferCanonicalInput();
|
|
|
|
void ProcessCanonical();
|
|
|
|
#if defined(AURORA_IS_MODERNNT_DERIVED)
|
|
void ProcessCanonical(HANDLE h);
|
|
#endif
|
|
} |