use text_block_layout::Block;
fn square(border: char, width: usize, offset_left: usize, offset_top: usize) -> Block {
assert!(width >= 2);
let top_line = Block::of_height(1).fill_right(width, border);
let middle_lines = Block::of_height(width - 2)
.fill_right(1, border)
.pad_right(width - 2)
.fill_right(1, border);
top_line
.stack_left(&middle_lines)
.stack_left(&top_line)
.pad_left(offset_left)
.pad_top(offset_top)
}
fn main() {
let frontmost = square('O', 5, 0, 0);
let backmost = square('*', 7, 2, 2);
println!("Blocks can be put on top of each other, with transparency!");
println!();
println!("{}", frontmost.in_front_of(&backmost));
}