groundwork for complex flags

This commit is contained in:
Valerie Wolfe 2023-06-22 20:20:45 -04:00
parent 766b07c1f4
commit f8e02e06fb
4 changed files with 89 additions and 4 deletions

63
src/complex.rs Normal file
View file

@ -0,0 +1,63 @@
use std::process::exit;
use crate::color::*;
use crate::draw;
use crate::flag;
use crate::variant;
pub fn progress() {
let philadelphia = variant::philadelphia();
let trans = flag::transgender();
}
// everything below this point is in alphabetical order
pub fn aroace() {
let aro = flag::aromantic();
let ace = flag::asexual();
}
pub fn demiromantic() {
let green = rgb(0x3DA542);
let gray = rgb(0xD2D2D2);
// WHITE×2 / green / gray×2 vert
// BLACK triangle cutin
}
pub fn demisexual() {
let purple = rgb(0x832FA8);
let grey = rgb(0x7B868C);
// WHITE×2 / green / grey×2 vert
// BLACK triangle cutin
}
pub fn intersex() -> Colors {
let yellow = rgb(0xFFDA00);
let purple = rgb(0x7A00AC);
let stripe = draw::BLOCK.repeat(9);
let part = draw::BLOCK.repeat(4);
println!(
"{yellow}{stripe}\n{part}{purple}{}O{}{yellow}{part}\n{stripe}{RESET}",
yellow.0.bg_string(),
RESET.0.bg_str()
);
exit(0);
}
pub fn polyamorous() {
let blue = rgb(0x019FE3);
let magenta = rgb(0xE50051);
let purple = rgb(0x340C46);
let yellow = rgb(0x00FCBF);
// blue / magenta / purple vert
// WHITE isosceles cutin with yellow heart pointed right
}

View file

@ -10,7 +10,9 @@ use termion::{
}; };
use crate::color::{ RESET, Colors }; use crate::color::{ RESET, Colors };
use crate::flag::BLOCK;
pub static BLOCK: &str = "";
pub static UHALF: &str = "";
pub fn full(colors: Colors) { pub fn full(colors: Colors) {
let mut stdout = io::stdout().into_raw_mode().unwrap(); let mut stdout = io::stdout().into_raw_mode().unwrap();

View file

@ -1,8 +1,6 @@
use crate::color::*; use crate::color::*;
pub static BLOCK: &str = "";
pub fn pride() -> Colors { pub fn pride() -> Colors {
let red = rgb(0xE50000); let red = rgb(0xE50000);
let orange = rgb(0xFF8D00); let orange = rgb(0xFF8D00);

View file

@ -3,6 +3,7 @@ use std::process::exit;
use pico_args::Arguments; use pico_args::Arguments;
mod color; mod color;
mod complex;
mod draw; mod draw;
mod flag; mod flag;
mod variant; mod variant;
@ -46,6 +47,8 @@ fn main() {
=> variant::gilbert_baker(), => variant::gilbert_baker(),
Some("philadelphia") Some("philadelphia")
=> variant::philadelphia(), => variant::philadelphia(),
// Some("progress")
// => complex::progress(),
_ _
=> flag::pride() => flag::pride()
} }
@ -64,12 +67,21 @@ fn main() {
Some("asexual" | "ace") Some("asexual" | "ace")
=> flag::asexual(), => flag::asexual(),
// Some("aroace" | "aromantic-asexual")
// => complex::aroace(),
Some("bigender") Some("bigender")
=> flag::bigender(), => flag::bigender(),
Some("bisexual" | "bi") Some("bisexual" | "bi")
=> flag::bisexual(), => flag::bisexual(),
// Some("demiromantic")
// => flag::demiromantic(),
// Some("demisexual")
// => flag::demisexual(),
Some("genderfluid") Some("genderfluid")
=> flag::genderfluid(), => flag::genderfluid(),
@ -79,6 +91,9 @@ fn main() {
Some("gendervoid") Some("gendervoid")
=> flag::gendervoid(), => flag::gendervoid(),
Some("intersex")
=> complex::intersex(),
Some("lesbian") Some("lesbian")
=> flag::lesbian(), => flag::lesbian(),
@ -91,6 +106,9 @@ fn main() {
Some("pansexual" | "pan") Some("pansexual" | "pan")
=> flag::pansexual(), => flag::pansexual(),
// Some("poly" | "polyamorous" | "polyamory")
// => complex::polyamorous(),
_ => { help_text(); exit(1) } _ => { help_text(); exit(1) }
}; };
@ -125,17 +143,21 @@ fn list_text() {
println!(" agender agender pride flag"); println!(" agender agender pride flag");
println!(" aro, aromantic aromantic pride flag"); println!(" aro, aromantic aromantic pride flag");
println!(" ace, asexual asexual pride flag"); println!(" ace, asexual asexual pride flag");
// println!(" aroace aromantic/asexual pride flag");
println!(" bigender bigender pride flag"); println!(" bigender bigender pride flag");
println!(" bi, bisexual bisexual pride flag"); println!(" bi, bisexual bisexual pride flag");
// println!(" demiromantic demiromantic pride flag");
// println!(" demisexual demisexual pride flag");
println!(" gay, pride six-color rainbow flag"); println!(" gay, pride six-color rainbow flag");
println!(" genderfluid genderfluid pride flag"); println!(" genderfluid genderfluid pride flag");
println!(" genderqueer genderqueer pride flag"); println!(" genderqueer genderqueer pride flag");
println!(" gendervoid gendervoid pride flag"); println!(" gendervoid gendervoid pride flag");
// println!(" intersex intersex pride flag");
println!(" lesbian lesbian pride flag"); println!(" lesbian lesbian pride flag");
println!(" multigender multigender pride flag"); println!(" multigender multigender pride flag");
println!(" nb, nonbinary nonbinary pride flag"); println!(" nb, nonbinary nonbinary pride flag");
println!(" pan, pansexual pansexual pride flag"); println!(" pan, pansexual pansexual pride flag");
// println!(" progress progress arrow flag"); // println!(" poly, polyamorous polyamorous pride flag");
println!(" trans, transgender transgender pride flag"); println!(" trans, transgender transgender pride flag");
} }