/* Various helper functions. * * Author: Steffen Vogel * SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University * SPDX-License-Identifier: Apache-2.0 */ #pragma once // The suffixed of the BOX_ macro a constructed by // combining the following letters in the written order: // - U for a line facing upwards // - D for a line facing downwards // - L for a line facing leftwards // - R for a line facing rightwards // // E.g. a cross can be constructed by combining all line fragments: // BOX_UDLR #if 0 // Alternate character set #define BOX(chr) "\e(0" chr "\e(B" #define BOX_LR BOX("\x71") // Boxdrawing: ─ #define BOX_UD BOX("\x78") // Boxdrawing: │ #define BOX_UDR BOX("\x74") // Boxdrawing: ├ #define BOX_UDLR BOX("\x6E") // Boxdrawing: ┼ #define BOX_UDL BOX("\x75") // Boxdrawing: ┤ #define BOX_ULR BOX("\x76") // Boxdrawing: ┴ #define BOX_UL BOX("\x6A") // Boxdrawing: ┘ #define BOX_DLR BOX("\x77") // Boxdrawing: ┘ #define BOX_DL BOX("\x6B") // Boxdrawing: ┘ #elif 1 // UTF-8 #define BOX_LR "─" // Boxdrawing: ─ #define BOX_UD "│" // Boxdrawing: │ #define BOX_UDR "├" // Boxdrawing: ├ #define BOX_UDLR "┼" // Boxdrawing: ┼ #define BOX_UDL "┤" // Boxdrawing: ┤ #define BOX_ULR "┴" // Boxdrawing: ┴ #define BOX_UL "┘" // Boxdrawing: ┘ #define BOX_DLR "┬" // Boxdrawing: ┘ #define BOX_DL "┐" // Boxdrawing: ┘ #define BOX_UR "└" // Boxdrawing: └ #else // ASCII #define BOX_LR "-" // Boxdrawing: ─ #define BOX_UD "|" // Boxdrawing: │ #define BOX_UDR "+" // Boxdrawing: ├ #define BOX_UDLR "+" // Boxdrawing: ┼ #define BOX_UDL "+" // Boxdrawing: ┤ #define BOX_ULR "+" // Boxdrawing: ┴ #define BOX_UL "+" // Boxdrawing: ┘ #define BOX_DLR "+" // Boxdrawing: ┘ #define BOX_DL "+" // Boxdrawing: ┘ #endif