mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-08-02 19:36:37 +08:00
Move pixel to its own file.
This commit is contained in:
parent
0279bed8c4
commit
9eccde5c3c
@ -9,48 +9,11 @@
|
|||||||
#include <string> // for string, basic_string, allocator
|
#include <string> // for string, basic_string, allocator
|
||||||
#include <vector> // for vector
|
#include <vector> // for vector
|
||||||
|
|
||||||
#include "ftxui/screen/color.hpp" // for Color, Color::Default
|
#include "ftxui/screen/box.hpp" // for Box
|
||||||
#include "ftxui/screen/box.hpp" // for Box
|
#include "ftxui/screen/pixel.hpp" // for Pixel
|
||||||
|
|
||||||
namespace ftxui {
|
namespace ftxui {
|
||||||
|
|
||||||
/// @brief A unicode character and its associated style.
|
|
||||||
/// @ingroup screen
|
|
||||||
struct Pixel {
|
|
||||||
Pixel()
|
|
||||||
: blink(false),
|
|
||||||
bold(false),
|
|
||||||
dim(false),
|
|
||||||
inverted(false),
|
|
||||||
underlined(false),
|
|
||||||
underlined_double(false),
|
|
||||||
strikethrough(false),
|
|
||||||
automerge(false) {}
|
|
||||||
|
|
||||||
// A bit field representing the style:
|
|
||||||
bool blink : 1;
|
|
||||||
bool bold : 1;
|
|
||||||
bool dim : 1;
|
|
||||||
bool inverted : 1;
|
|
||||||
bool underlined : 1;
|
|
||||||
bool underlined_double : 1;
|
|
||||||
bool strikethrough : 1;
|
|
||||||
bool automerge : 1;
|
|
||||||
|
|
||||||
// The hyperlink associated with the pixel.
|
|
||||||
// 0 is the default value, meaning no hyperlink.
|
|
||||||
// It's an index for accessing Screen meta data
|
|
||||||
uint8_t hyperlink = 0;
|
|
||||||
|
|
||||||
// The graphemes stored into the pixel. To support combining characters,
|
|
||||||
// like: a?, this can potentially contain multiple codepoints.
|
|
||||||
std::string character = " ";
|
|
||||||
|
|
||||||
// Colors:
|
|
||||||
Color background_color = Color::Default;
|
|
||||||
Color foreground_color = Color::Default;
|
|
||||||
};
|
|
||||||
|
|
||||||
/// @brief A rectangular grid of Pixel.
|
/// @brief A rectangular grid of Pixel.
|
||||||
/// @ingroup screen
|
/// @ingroup screen
|
||||||
class Image {
|
class Image {
|
||||||
|
48
include/ftxui/screen/pixel.hpp
Normal file
48
include/ftxui/screen/pixel.hpp
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
// Copyright 2024 Arthur Sonzogni. All rights reserved.
|
||||||
|
// Use of this source code is governed by the MIT license that can be found in
|
||||||
|
// the LICENSE file.
|
||||||
|
|
||||||
|
#include <cstdint> // for uint8_t
|
||||||
|
#include <string> // for string, basic_string, allocator
|
||||||
|
#include "ftxui/screen/color.hpp" // for Color, Color::Default
|
||||||
|
|
||||||
|
namespace ftxui {
|
||||||
|
|
||||||
|
/// @brief A Unicode character and its associated style.
|
||||||
|
/// @ingroup screen
|
||||||
|
struct Pixel {
|
||||||
|
Pixel()
|
||||||
|
: blink(false),
|
||||||
|
bold(false),
|
||||||
|
dim(false),
|
||||||
|
inverted(false),
|
||||||
|
underlined(false),
|
||||||
|
underlined_double(false),
|
||||||
|
strikethrough(false),
|
||||||
|
automerge(false) {}
|
||||||
|
|
||||||
|
// A bit field representing the style:
|
||||||
|
bool blink : 1;
|
||||||
|
bool bold : 1;
|
||||||
|
bool dim : 1;
|
||||||
|
bool inverted : 1;
|
||||||
|
bool underlined : 1;
|
||||||
|
bool underlined_double : 1;
|
||||||
|
bool strikethrough : 1;
|
||||||
|
bool automerge : 1;
|
||||||
|
|
||||||
|
// The hyperlink associated with the pixel.
|
||||||
|
// 0 is the default value, meaning no hyperlink.
|
||||||
|
// It's an index for accessing Screen meta data
|
||||||
|
uint8_t hyperlink = 0;
|
||||||
|
|
||||||
|
// The graphemes stored into the pixel. To support combining characters,
|
||||||
|
// like: a?, this can potentially contain multiple codepoints.
|
||||||
|
std::string character = " ";
|
||||||
|
|
||||||
|
// Colors:
|
||||||
|
Color background_color = Color::Default;
|
||||||
|
Color foreground_color = Color::Default;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace ftxui
|
Loading…
Reference in New Issue
Block a user