mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-08 04:36:45 +01:00
35 lines
848 B
Rust
35 lines
848 B
Rust
use crate::core::*;
|
|
|
|
const LOZENGE: [[&'static str;3];3] = [
|
|
["╭", "─", "╮"],
|
|
["│", " ", "│"],
|
|
["╰", "─", "╯"],
|
|
];
|
|
|
|
pub fn lozenge_left (buf: &mut Buffer, x: u16, y1: u16, h: u16, style: Option<Style>) {
|
|
let y2 = y1 + h;
|
|
let y3 = y2.saturating_sub(1);
|
|
for y in y1..y2 {
|
|
if y == y1 {
|
|
LOZENGE[0][0]
|
|
} else if y == y3 {
|
|
LOZENGE[2][0]
|
|
} else {
|
|
LOZENGE[1][0]
|
|
}.blit(buf, x, y, style)
|
|
}
|
|
}
|
|
|
|
pub fn lozenge_right (buf: &mut Buffer, x: u16, y1: u16, h: u16, style: Option<Style>) {
|
|
let y2 = y1 + h;
|
|
let y3 = y2.saturating_sub(1);
|
|
for y in y1..y2 {
|
|
if y == y1 {
|
|
LOZENGE[0][2]
|
|
} else if y == y3 {
|
|
LOZENGE[2][2]
|
|
} else {
|
|
LOZENGE[1][2]
|
|
}.blit(buf, x, y, style)
|
|
}
|
|
}
|