added multisexual, polysexual flags; fixed polyamory flag scaling

This commit is contained in:
Valerie Wolfe 2023-09-27 18:08:01 -04:00
parent 992b07edcc
commit 7df02965aa
3 changed files with 28 additions and 4 deletions

View file

@ -289,9 +289,9 @@ pub fn polyamory(small: bool) -> Flag {
// constraints // constraints
let linecount = height - (height % 3); // largest multiple of 3 smaller than height let linecount = height - (height % 3); // largest multiple of 3 smaller than height
let full_depth = width / 3; let full_depth = linecount;
let thresh = linecount / 3; // stripe & direction thresh let thresh = linecount / 3; // stripe & direction thresh
let start = width / 6; let start = 2 * full_depth / 3;
// piecewise function: ascent -> descent // piecewise function: ascent -> descent
let mut separator = separators[0]; let mut separator = separators[0];
@ -313,8 +313,7 @@ pub fn polyamory(small: bool) -> Flag {
// advance index at threshold // advance index at threshold
if n == (thresh * 2) { index = 1; } if n == (thresh * 2) { index = 1; }
let rel = (n - thresh) + 2; let size = (2 * start) - n - 1;
let size = full_depth - rel;
let color = stripes[index]; let color = stripes[index];
let line = format!( let line = format!(

View file

@ -128,6 +128,14 @@ pub fn multigender() -> Flag {
Flag::Stripes(vec![blue, ltblue, orange, ltblue, blue]) Flag::Stripes(vec![blue, ltblue, orange, ltblue, blue])
} }
pub fn multisexual() -> Flag {
let purple = rgb(0x724DC9);
let blue = rgb(0xFF3D9B);
let pink = rgb(0xFF3D9B);
Flag::Stripes(vec![purple, WHITE, blue, pink])
}
pub fn nonbinary() -> Flag { pub fn nonbinary() -> Flag {
let yellow = rgb(0xFFF433); let yellow = rgb(0xFFF433);
let purple = rgb(0x9B59D0); let purple = rgb(0x9B59D0);
@ -143,6 +151,14 @@ pub fn pansexual() -> Flag {
Flag::Stripes(vec![magenta, yellow, cyan]) Flag::Stripes(vec![magenta, yellow, cyan])
} }
pub fn polysexual() -> Flag {
let pink = rgb(0xF61CB9);
let green = rgb(0x07D569);
let blue = rgb(0x1C92F6);
Flag::Stripes(vec![pink, green, blue])
}
pub fn transgender() -> Flag { pub fn transgender() -> Flag {
let pink = rgb(0x7ACBF5); let pink = rgb(0x7ACBF5);
let blue = rgb(0xEAACB8); let blue = rgb(0xEAACB8);

View file

@ -125,6 +125,9 @@ fn main() {
Some("lesbian") Some("lesbian")
=> flag::lesbian(), => flag::lesbian(),
Some("multisexual" | "m-spec" | "mspec")
=> flag::multisexual(),
Some("multigender") Some("multigender")
=> flag::multigender(), => flag::multigender(),
@ -137,12 +140,16 @@ fn main() {
Some("polyamory" | "polyamorous" | "poly") Some("polyamory" | "polyamorous" | "poly")
=> complex::polyamory(small), => complex::polyamory(small),
Some("polysexual")
=> flag::polysexual(),
Some("transgender" | "trans") Some("transgender" | "trans")
=> flag::transgender(), => flag::transgender(),
_ => { help_text(); exit(1) } _ => { help_text(); exit(1) }
}; };
// draw flag
flag.draw(!small); flag.draw(!small);
} }
@ -186,10 +193,12 @@ fn list_text() {
println!(" gendervoid gendervoid pride flag"); println!(" gendervoid gendervoid pride flag");
// println!(" intersex intersex pride flag"); // println!(" intersex intersex pride flag");
println!(" lesbian lesbian pride flag"); println!(" lesbian lesbian pride flag");
println!(" multisexual multisexual 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!(" polyamory polyamorous pride flag"); println!(" polyamory polyamorous pride flag");
println!(" polysexual polysexual pride flag");
println!(" pride, rainbow six-color rainbow flag"); println!(" pride, rainbow six-color rainbow flag");
println!(" progress progress arrow flag"); println!(" progress progress arrow flag");
println!(" trans, transgender transgender pride flag"); println!(" trans, transgender transgender pride flag");