acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
console.h
1
// 2026.3 API Created by camilo on 2026-03-25 18:27 <3ThomasBorregaardSørensen!!
2
#pragma once
3
4
5
#include "acme/operating_system/_const_console.h"
6
#include "acme/filesystem/file/string_buffer.h"
7
8
9
void
RedirectIOToConsole();
10
11
12
class
CLASS_DECL_ACME std_out_buffer:
13
virtual
public
::string_buffer_base
14
{
15
public
:
16
17
18
std_out_buffer();
19
~std_out_buffer()
override
;
20
21
22
void
write(
const
void
* pdata,memsize nCount)
override
;
23
24
25
26
};
27
28
//class console_ostream:
29
// virtual public ::text_stream
30
//{
31
//public:
32
//
33
// console_ostream(): ::text_stream(::as(___new std_out_buffer())){}
34
// virtual ~console_ostream(){}
35
//
36
//};
37
38
39
namespace
console
40
{
41
42
enum
enum_response
43
{
44
45
e_response_no = -1,
46
e_response_cancel = 0,
47
e_response_yes = 1,
48
49
};
50
51
class
CLASS_DECL_ACME console:
52
virtual
public
::particle
53
{
54
public
:
55
56
57
58
::write_text_stream
m_cout;
59
::i32 m_iTextColor;
60
61
62
console(const ::pointer < ::string_buffer_base > & pstringbuffer =
nullptr
);
63
~console()
override
;
64
65
66
// 2025 API
67
inline ::write_text_stream & cout() {
return
m_cout; }
68
virtual
void
redirect_io();
69
virtual
void
SetWindowSize(::i32 iHeight,::i32 iWidth);
70
virtual
void
SetCursorVisibility(
bool
show);
71
virtual
void
SetCursorPosition(::i32 y,::i32 x);
72
virtual
void
SetTextColor(::i32 color);
73
inline ::i32 GetTextColor() {
return
m_iTextColor; }
74
virtual
void
SetScreenColor(::enum_dos_color color,::i32 iLineStart = 0,::i32 iLineCount = -1);
75
virtual
void
write(const ::scoped_string & scopedstr);
76
virtual ::i32_rectangle get_position_rectangle(::i32 y, ::i32 x);
77
78
79
80
// 2026.3 API
81
virtual
void
defer_non_root();
82
virtual
void
start_input();
83
virtual ::i32 getch(
void
);
84
virtual ::i32 get_thoughtful_character();
85
virtual
enum_response yes_no(const_char_pointer pszPrompt);
86
virtual
enum_response yes_no_default_yes(const_char_pointer pszPrompt);
87
virtual ::string prompt_line(const_char_pointer pszPrompt);
88
89
90
};
91
92
93
}
// namespace console
94
95
96
CLASS_DECL_ACME ::i32 current_getch();
97
CLASS_DECL_ACME ::i32 current_getch_utf8(::string &strChar);
98
99
100
write_text_stream
Definition
write_text_stream.h:43
operating_system
console.h
Generated by
1.17.0