diff --git a/src/flag.rs b/src/flag.rs index 63835d0..dd95652 100644 --- a/src/flag.rs +++ b/src/flag.rs @@ -70,6 +70,29 @@ pub fn bisexual() -> Flag { Flag::Stripes(vec![magenta, magenta, purple, blue, blue]) } +fn demigender_base(color: Color) -> Vec { + let grey = rgb(0x7F7F7F); + let gray = rgb(0xC3C3C3); + + + vec![grey, gray, color, WHITE, color, gray, grey] +} + +pub fn demiboy() -> Flag { + let blue = rgb(0x7ACBF5); + Flag::Stripes(demigender_base(blue)) +} + +pub fn demigender() -> Flag { + let yellow = rgb(0xFBFF74); + Flag::Stripes(demigender_base(yellow)) +} + +pub fn demigirl() -> Flag { + let pink = rgb(0xEAACB8); + Flag::Stripes(demigender_base(pink)) +} + pub fn gay() -> Flag { let green1 = rgb(0x00906D); let green2 = rgb(0x00D1A7); diff --git a/src/main.rs b/src/main.rs index 3f3e070..51efe80 100644 --- a/src/main.rs +++ b/src/main.rs @@ -95,6 +95,14 @@ fn main() { Some("bisexual" | "bi") => flag::bisexual(), + + Some("demiboy") + => flag::demiboy(), + Some("demigender") + => flag::demigender(), + Some("demigirl") + => flag::demigirl(), + Some("demiromantic") => complex::demiromantic(small),