xtd - Reference Guide  0.1.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
Loading...
Searching...
No Matches
console.h
Go to the documentation of this file.
1
4#pragma once
6#include "console_color.h"
7#include "console_key_info.h"
9#include "event.h"
10#include "static.h"
11#include "types.h"
12#include "ustring.h"
13
15namespace xtd {
26 class console final static_ {
27 public:
29 static std::ostream error;
34 static std::istream in;
39 static std::ostream out;
40
48
62 static void background_color(console_color color);
63
69 static void beep();
76 static void beep(uint32_t frequency, uint32_t duration);
77
83 static int32_t buffer_height();
89 static void buffer_height(int32_t height);
90
96 static int32_t buffer_width();
102 static void buffer_width(int32_t width);
103
106 static bool caps_lock();
107
118 static void clear();
119
125 static int32_t cursor_left();
132 static void cursor_left(int32_t left);
133
139 static int32_t cursor_size();
145 static void cursor_size(int32_t size);
146
152 static int32_t cursor_top();
159 static void cursor_top(int32_t top);
160
166 static bool cursor_visible();
172 static void cursor_visible(bool visible);
173
185 static bool foreground_color(console_color color);
186
189 static int32_t input_code_page();
193 static bool input_code_page(int32_t code_page);
194
197 static bool is_error_redirected();
200 static bool is_in_redirected();
203 static bool is_out_redirected();
204
209 static bool key_available();
210
213 static int32_t largest_window_height();
216 static int32_t largest_window_width();
217
220 static bool number_lock();
221
225 static std::ostream open_standard_error();
229 static std::istream open_standard_input();
233 static std::ostream open_standard_output();
234
237 static int32_t output_code_page();
241 static bool output_code_page(int32_t code_page);
242
254 static console_key_info read_key(bool intercept);
255
258 static bool reset_color();
259
265 static void set_cursor_position(int32_t left, int32_t top);
266
271 static void set_error(const std::ostream& os);
276 static void set_in(const std::istream& is);
281 static void set_out(const std::ostream& os);
282
288 static void title(const xtd::ustring& title);
289
300
303 static int32_t window_height();
306 static void window_height(int32_t height);
307
310 static int32_t window_left();
313 static void window_left(int32_t left);
314
317 static int32_t window_top();
320 static void window_top(int32_t top);
321
324 static int32_t window_width();
327 static void window_width(int32 width);
328
332 template<typename arg_t>
333 static void write(arg_t&& value) {write_(xtd::ustring::format("{}", value));}
334
336 template<typename type_t>
337 static void write(std::initializer_list<type_t>&& il) {write_(xtd::ustring::format("{}", il));}
339
343 template<typename ... args_t>
344 static void write(const xtd::ustring& fmt, args_t&& ... values) {write_(xtd::ustring::format(fmt, std::forward<args_t>(values)...));}
345
347 static void write_line();
348
352 template<typename arg_t>
353 static void write_line(arg_t&& value) {write_line_(xtd::ustring::format("{}", value));}
354
356 template<typename type_t>
357 static void write_line(const std::initializer_list<type_t>& il) {write_line_(xtd::ustring::format("{}", il));}
359
363 template<typename ... args_t>
364 static void write_line(const xtd::ustring& fmt, args_t&& ... values) {write_line_(xtd::ustring::format(fmt, std::forward<args_t>(values)...));}
365
367 static void __internal_cancel_key_press__(xtd::console_cancel_event_args& e);
369 private:
370 static void write_(const ustring& value);
371 static void write_line_(const ustring& value);
372 };
373}
Provides data for the console::cancel_key_press event. This class cannot be inherited.
Definition: console_cancel_event_args.h:18
Specifies the standard keys on a console.
Definition: console_key_info.h:20
Represents the standard input, output, and error streams for console applications.
Definition: console.h:26
static void set_cursor_position(int32_t left, int32_t top)
Sets the position of the cursor.
static event< console, console_cancel_event_handler > cancel_key_press
Occurs when the Control modifier key (Ctrl) and either the ConsoleKey.C console key (C) or the Break ...
Definition: console.h:47
static std::ostream error
Gets the error output stream. A std::basic_ostream<char_t> that represents the error output stream.
Definition: console.h:29
static int32_t output_code_page()
Gets the code page the console uses to write output.
static std::ostream open_standard_error()
Acquires the standard error stream.
static void window_height(int32_t height)
Sets the height of the console window area.
static void background_color(console_color color)
Sets the background color of the console.
static console_key_info read_key(bool intercept)
Obtains the next character or function key pressed by the user. The pressed key is optionally display...
static void set_error(const std::ostream &os)
Sets the error property to the specified std::ostream object.
static bool caps_lock()
Gets a value indicating whether the CAPS LOCK keyboard toggle is turned on or turned off.
static int32_t input_code_page()
Gets the code page the console uses to read input.
static int32_t buffer_height()
Gets the height of the buffer area.
static bool treat_control_c_as_input()
Gets a value indicating whether the combination of the Control modifier key and C console key (Ctrl+C...
static void cursor_left(int32_t left)
Sets the column position of the cursor within the buffer area.
static bool is_error_redirected()
Gets a value that indicates whether the error output stream has been redirected from the standard err...
static void window_top(int32_t top)
Sets the top of the console window area.
static void buffer_height(int32_t height)
Sets or sets the height of the buffer area.
static void cursor_visible(bool visible)
Sets a value indicating whether the cursor is visible.
static bool input_code_page(int32_t code_page)
Sets the code page the console uses to read input.
static void cursor_top(int32_t top)
Sets the row position of the cursor within the buffer area.
static std::istream open_standard_input()
Acquires the standard input stream.
static void write(arg_t &&value)
Writes the text representation of the specified value to the standard output stream.
Definition: console.h:333
static void write_line(arg_t &&value)
Writes the text representation of the specified value, followed by the current line terminator,...
Definition: console.h:353
static console_color background_color()
Gets the background color of the console.
static void title(const xtd::ustring &title)
Sets the title to display in the console title bar.
static void window_width(int32 width)
Sets the width of the console window area.
static console_color foreground_color()
Gets the foreground color of the console.
static bool is_in_redirected()
Gets a value that indicates whether the input stream has been redirected from the standard input stre...
static std::istream in
Gets the standard input stream. A std::basic_istream<char_t> that represents the standard input strea...
Definition: console.h:34
static void treat_control_c_as_input(bool treat_control_c_as_input)
Sets a value indicating whether the combination of the Control modifier key and C console key (Ctrl+C...
static int32_t window_height()
Gets the height of the console window area.
static void set_out(const std::ostream &os)
Sets the out property to the specified std::ostream object.
static void clear()
Clears the console buffer and corresponding console window of display information.
static std::ostream out
Gets the standard output stream. A std::basic_ostream<char_t> that represents the standard output str...
Definition: console.h:39
static xtd::ustring title()
Gets the title to display in the console title bar.
static int32_t largest_window_height()
Gets the largest possible number of console window rows, based on the current font and screen resolut...
static bool output_code_page(int32_t code_page)
Sets the code page the console uses to write output.
static void write(const xtd::ustring &fmt, args_t &&... values)
Writes the text representation of the specified list of values to the standard output stream using th...
Definition: console.h:344
static bool number_lock()
Gets a value indicating whether the NUM LOCK keyboard toggle is turned on or turned off.
static bool reset_color()
Sets the foreground and background console colors to their defaults.
static xtd::ustring read_line()
Reads the next line of characters from the standard input stream.
static void write_line(const xtd::ustring &fmt, args_t &&... values)
Writes the text representation of the specified list of values, followed by the current line terminat...
Definition: console.h:364
static void beep()
Plays the sound of a beep through the console speaker.
static int32_t cursor_left()
Gets the column position of the cursor within the buffer area.
static bool foreground_color(console_color color)
Sets the foreground color of the console.
static int32_t largest_window_width()
Gets the largest possible number of console window columns, based on the current font and screen reso...
static console_key_info read_key()
Obtains the next character or function key pressed by the user. The pressed key is displayed in the c...
static int32_t window_left()
Gets the left of the console window area.
static std::ostream open_standard_output()
Acquires the standard output stream.
static void beep(uint32_t frequency, uint32_t duration)
Plays the sound of a beep of a specified frequency and duration through the console speaker.
static void buffer_width(int32_t width)
Sets the width of the buffer area.
static bool is_out_redirected()
Gets a value that indicates whether the output stream has been redirected from the standard output st...
static void window_left(int32_t left)
Sets the left of the console window area.
static void cursor_size(int32_t size)
Sets the height of the cursor within a character cell.
static void set_in(const std::istream &is)
Sets the int property to the specified std::istream object.
static bool key_available()
Gets a value indicating whether a key press is available in the input stream.
static int32_t window_width()
Gets the width of the console window area.
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
static int32_t window_top()
Gets the top of the console window area.
static bool cursor_visible()
Gets a value indicating whether the cursor is visible.
static int32_t cursor_size()
Gets or sets the height of the cursor within a character cell.
static int32_t cursor_top()
Gets the row position of the cursor within the buffer area.
static int32_t buffer_width()
Gets the width of the buffer area.
Represents an event.
Definition: event.h:21
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:48
Contains xtd::console_cancel_event_handler event handler.
Contains xtd::console_color enum class.
Contains xtd::console_key_info class.
Contains xtd::console_special_key enum class.
Contains xtd::event event.
static ustring format(const ustring &fmt, args_t &&... args)
Writes the text representation of the specified arguments list, to string using the specified format ...
Definition: ustring.h:689
#define static_
This keyword is use to represent a static object. A static object can't be instantiated (constructors...
Definition: static.h:38
int32_t int32
Represents a 32-bit signed integer.
Definition: types.h:129
size_t size
Represents a size of any object in bytes.
Definition: types.h:171
bool is(std::any value)
Checks if the result of an expression is compatible with a given type.
Definition: is.h:305
console_color
Specifies constants that define foreground and background colors for the console.
Definition: console_color.h:17
@ e
The E key.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17
Contains xtd::static_object class.
Contains xtd fundamental types.
Contains xtd::ustring class.