mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-22 10:40:00 +08:00
feature: allow fullscreen without alternative screen (#777)
This should solve #766 The original PR was: #767 Co-authored-by: rbrugo <brugo.riccardo@gmail.com> Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
This commit is contained in:
parent
c31aecf2ed
commit
b970cb6ea8
@ -27,6 +27,9 @@ current (development)
|
|||||||
```
|
```
|
||||||
A couple of components are now activated when the mouse is pressed,
|
A couple of components are now activated when the mouse is pressed,
|
||||||
as opposed to released.
|
as opposed to released.
|
||||||
|
- Feature: Add `ScreenInteractive::FullscreenPrimaryScreen()`. This allows
|
||||||
|
displaying a fullscreen component on the primary screen, as opposed to the
|
||||||
|
alternate screen.
|
||||||
- Bugfix: `Input` `onchange` was not called on backspace or delete key.
|
- Bugfix: `Input` `onchange` was not called on backspace or delete key.
|
||||||
Fixed by @chrysante in chrysante in PR #776.
|
Fixed by @chrysante in chrysante in PR #776.
|
||||||
|
|
||||||
|
@ -31,6 +31,8 @@ class ScreenInteractive : public Screen {
|
|||||||
// Constructors:
|
// Constructors:
|
||||||
static ScreenInteractive FixedSize(int dimx, int dimy);
|
static ScreenInteractive FixedSize(int dimx, int dimy);
|
||||||
static ScreenInteractive Fullscreen();
|
static ScreenInteractive Fullscreen();
|
||||||
|
static ScreenInteractive FullscreenPrimaryScreen();
|
||||||
|
static ScreenInteractive FullscreenAlternateScreen();
|
||||||
static ScreenInteractive FitComponent();
|
static ScreenInteractive FitComponent();
|
||||||
static ScreenInteractive TerminalOutput();
|
static ScreenInteractive TerminalOutput();
|
||||||
|
|
||||||
|
@ -352,8 +352,34 @@ ScreenInteractive ScreenInteractive::FixedSize(int dimx, int dimy) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @ingroup component
|
||||||
|
/// Create a ScreenInteractive taking the full terminal size. This is using the
|
||||||
|
/// alternate screen buffer to avoid messing with the terminal content.
|
||||||
|
/// @note This is the same as `ScreenInteractive::FullscreenAlternateScreen()`
|
||||||
// static
|
// static
|
||||||
ScreenInteractive ScreenInteractive::Fullscreen() {
|
ScreenInteractive ScreenInteractive::Fullscreen() {
|
||||||
|
return FullscreenPrimaryScreen();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @ingroup component
|
||||||
|
/// Create a ScreenInteractive taking the full terminal size. The primary screen
|
||||||
|
/// buffer is being used. It means if the terminal is resized, the previous
|
||||||
|
/// content might mess up with the terminal content.
|
||||||
|
// static
|
||||||
|
ScreenInteractive ScreenInteractive::FullscreenPrimaryScreen() {
|
||||||
|
return {
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
Dimension::Fullscreen,
|
||||||
|
false,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @ingroup component
|
||||||
|
/// Create a ScreenInteractive taking the full terminal size. This is using the
|
||||||
|
/// alternate screen buffer to avoid messing with the terminal content.
|
||||||
|
// static
|
||||||
|
ScreenInteractive ScreenInteractive::FullscreenAlternateScreen() {
|
||||||
return {
|
return {
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
|
Loading…
Reference in New Issue
Block a user