color.hpp
cstdint
string
include/ftxui/component/component_options.hpp
include/ftxui/dom/canvas.hpp
include/ftxui/dom/elements.hpp
include/ftxui/dom/linear_gradient.hpp
include/ftxui/screen/color_info.hpp
include/ftxui/screen/pixel.hpp
src/ftxui/component/button.cpp
src/ftxui/component/component_options.cpp
src/ftxui/component/menu.cpp
src/ftxui/component/slider.cpp
src/ftxui/component/window.cpp
src/ftxui/dom/border.cpp
src/ftxui/dom/canvas.cpp
src/ftxui/dom/color.cpp
src/ftxui/dom/linear_gradient.cpp
src/ftxui/dom/selection_style.cpp
src/ftxui/dom/separator.cpp
src/ftxui/screen/color.cpp
src/ftxui/screen/color_info.cpp
include/ftxui/screen/color.hpp
cstdint
string
include/ftxui/component/component.hpp
include/ftxui/component/component_base.hpp
include/ftxui/component/component_options.hpp
include/ftxui/component/loop.hpp
include/ftxui/component/screen_interactive.hpp
include/ftxui/dom/canvas.hpp
include/ftxui/dom/deprecated.hpp
include/ftxui/dom/elements.hpp
include/ftxui/dom/linear_gradient.hpp
include/ftxui/dom/node.hpp
include/ftxui/dom/requirement.hpp
include/ftxui/dom/selection.hpp
include/ftxui/dom/table.hpp
include/ftxui/screen/color.hpp
include/ftxui/screen/color_info.hpp
include/ftxui/screen/image.hpp
include/ftxui/screen/pixel.hpp
include/ftxui/screen/screen.hpp
src/ftxui/component/button.cpp
src/ftxui/component/catch_event.cpp
src/ftxui/component/checkbox.cpp
src/ftxui/component/collapsible.cpp
src/ftxui/component/component.cpp
src/ftxui/component/component_fuzzer.cpp
src/ftxui/component/component_options.cpp
src/ftxui/component/container.cpp
src/ftxui/component/dropdown.cpp
src/ftxui/component/hoverable.cpp
src/ftxui/component/input.cpp
src/ftxui/component/loop.cpp
src/ftxui/component/maybe.cpp
src/ftxui/component/menu.cpp
src/ftxui/component/modal.cpp
src/ftxui/component/radiobox.cpp
src/ftxui/component/renderer.cpp
src/ftxui/component/resizable_split.cpp
src/ftxui/component/screen_interactive.cpp
src/ftxui/component/slider.cpp
src/ftxui/component/util.cpp
src/ftxui/component/window.cpp
src/ftxui/dom/automerge.cpp
src/ftxui/dom/blink.cpp
src/ftxui/dom/bold.cpp
src/ftxui/dom/border.cpp
src/ftxui/dom/box_helper.cpp
src/ftxui/dom/box_helper.hpp
src/ftxui/dom/canvas.cpp
src/ftxui/dom/clear_under.cpp
src/ftxui/dom/color.cpp
src/ftxui/dom/composite_decorator.cpp
src/ftxui/dom/dbox.cpp
src/ftxui/dom/dim.cpp
src/ftxui/dom/flex.cpp
src/ftxui/dom/flexbox.cpp
src/ftxui/dom/flexbox_helper.cpp
src/ftxui/dom/focus.cpp
src/ftxui/dom/frame.cpp
src/ftxui/dom/gauge.cpp
src/ftxui/dom/graph.cpp
src/ftxui/dom/gridbox.cpp
src/ftxui/dom/hbox.cpp
src/ftxui/dom/hyperlink.cpp
src/ftxui/dom/inverted.cpp
src/ftxui/dom/italic.cpp
src/ftxui/dom/linear_gradient.cpp
src/ftxui/dom/node.cpp
src/ftxui/dom/node_decorator.cpp
src/ftxui/dom/node_decorator.hpp
src/ftxui/dom/paragraph.cpp
src/ftxui/dom/reflect.cpp
src/ftxui/dom/scroll_indicator.cpp
src/ftxui/dom/selection.cpp
src/ftxui/dom/selection_style.cpp
src/ftxui/dom/separator.cpp
src/ftxui/dom/size.cpp
src/ftxui/dom/spinner.cpp
src/ftxui/dom/strikethrough.cpp
src/ftxui/dom/table.cpp
src/ftxui/dom/text.cpp
src/ftxui/dom/underlined.cpp
src/ftxui/dom/underlined_double.cpp
src/ftxui/dom/util.cpp
src/ftxui/dom/vbox.cpp
src/ftxui/screen/color.cpp
src/ftxui/screen/color_info.cpp
src/ftxui/screen/image.cpp
src/ftxui/screen/screen.cpp
ftxui::Color
ftxui
ftxui::literals

    //Copyright2020ArthurSonzogni.Allrightsreserved.
    //UseofthissourcecodeisgovernedbytheMITlicensethatcanbefoundin
    //theLICENSEfile.
    #ifndefFTXUI_SCREEN_COLOR_HPP
    #defineFTXUI_SCREEN_COLOR_HPP

    #include<cstdint>//foruint8_t
    #include<string>//forstring

    #ifdefRGB
    //Workaroundforwingdi.h(viaWindows.h)definingmacrosthatbreakthings.
    //https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-rgb
    #undefRGB
    #endif

    namespaceftxui{

    ///@briefAclassrepresentingterminalcolors.
    ///@ingroupscreen
    classColor{
    public:
    enumPalette1:uint8_t;
    enumPalette16:uint8_t;
    enumPalette256:uint8_t;

    //NOLINTBEGIN
    Color();//Transparent.
    Color(Palette1index);//Transparent.
    Color(Palette16index);//ImplicitconversionfromindextoColor.
    Color(Palette256index);//ImplicitconversionfromindextoColor.
    //NOLINTEND
    Color(uint8_tred,uint8_tgreen,uint8_tblue,uint8_talpha=255);
    staticColorRGB(uint8_tred,uint8_tgreen,uint8_tblue);
    staticColorHSV(uint8_thue,uint8_tsaturation,uint8_tvalue);
    staticColorRGBA(uint8_tred,uint8_tgreen,uint8_tblue,uint8_talpha);
    staticColorHSVA(uint8_thue,
    uint8_tsaturation,
    uint8_tvalue,
    uint8_talpha);
    staticColorInterpolate(floatt,constColor&a,constColor&b);
    staticColorBlend(constColor&lhs,constColor&rhs);

    //---------------------------
    //Listofcolors:
    //---------------------------
    //clang-formatoff
    enumPalette1:uint8_t{
    Default,//Transparent
    };

    enumPalette16:uint8_t{
    Black=0,
    Red=1,
    Green=2,
    Yellow=3,
    Blue=4,
    Magenta=5,
    Cyan=6,
    GrayLight=7,
    GrayDark=8,
    RedLight=9,
    GreenLight=10,
    YellowLight=11,
    BlueLight=12,
    MagentaLight=13,
    CyanLight=14,
    White=15,
    };

    enumPalette256:uint8_t{
    Aquamarine1=122,
    Aquamarine1Bis=86,
    Aquamarine3=79,
    Blue1=21,
    Blue3=19,
    Blue3Bis=20,
    BlueViolet=57,
    CadetBlue=72,
    CadetBlueBis=73,
    Chartreuse1=118,
    Chartreuse2=112,
    Chartreuse2Bis=82,
    Chartreuse3=70,
    Chartreuse3Bis=76,
    Chartreuse4=64,
    CornflowerBlue=69,
    Cornsilk1=230,
    Cyan1=51,
    Cyan2=50,
    Cyan3=43,
    DarkBlue=18,
    DarkCyan=36,
    DarkGoldenrod=136,
    DarkGreen=22,
    DarkKhaki=143,
    DarkMagenta=90,
    DarkMagentaBis=91,
    DarkOliveGreen1=191,
    DarkOliveGreen1Bis=192,
    DarkOliveGreen2=155,
    DarkOliveGreen3=107,
    DarkOliveGreen3Bis=113,
    DarkOliveGreen3Ter=149,
    DarkOrange=208,
    DarkOrange3=130,
    DarkOrange3Bis=166,
    DarkRed=52,
    DarkRedBis=88,
    DarkSeaGreen=108,
    DarkSeaGreen1=158,
    DarkSeaGreen1Bis=193,
    DarkSeaGreen2=151,
    DarkSeaGreen2Bis=157,
    DarkSeaGreen3=115,
    DarkSeaGreen3Bis=150,
    DarkSeaGreen4=65,
    DarkSeaGreen4Bis=71,
    DarkSlateGray1=123,
    DarkSlateGray2=87,
    DarkSlateGray3=116,
    DarkTurquoise=44,
    DarkViolet=128,
    DarkVioletBis=92,
    DeepPink1=198,
    DeepPink1Bis=199,
    DeepPink2=197,
    DeepPink3=161,
    DeepPink3Bis=162,
    DeepPink4=125,
    DeepPink4Bis=89,
    DeepPink4Ter=53,
    DeepSkyBlue1=39,
    DeepSkyBlue2=38,
    DeepSkyBlue3=31,
    DeepSkyBlue3Bis=32,
    DeepSkyBlue4=23,
    DeepSkyBlue4Bis=24,
    DeepSkyBlue4Ter=25,
    DodgerBlue1=33,
    DodgerBlue2=27,
    DodgerBlue3=26,
    Gold1=220,
    Gold3=142,
    Gold3Bis=178,
    Green1=46,
    Green3=34,
    Green3Bis=40,
    Green4=28,
    GreenYellow=154,
    Grey0=16,
    Grey100=231,
    Grey11=234,
    Grey15=235,
    Grey19=236,
    Grey23=237,
    Grey27=238,
    Grey3=232,
    Grey30=239,
    Grey35=240,
    Grey37=59,
    Grey39=241,
    Grey42=242,
    Grey46=243,
    Grey50=244,
    Grey53=102,
    Grey54=245,
    Grey58=246,
    Grey62=247,
    Grey63=139,
    Grey66=248,
    Grey69=145,
    Grey7=233,
    Grey70=249,
    Grey74=250,
    Grey78=251,
    Grey82=252,
    Grey84=188,
    Grey85=253,
    Grey89=254,
    Grey93=255,
    Honeydew2=194,
    HotPink=205,
    HotPink2=169,
    HotPink3=132,
    HotPink3Bis=168,
    HotPinkBis=206,
    IndianRed=131,
    IndianRed1=203,
    IndianRed1Bis=204,
    IndianRedBis=167,
    Khaki1=228,
    Khaki3=185,
    LightCoral=210,
    LightCyan1Bis=195,
    LightCyan3=152,
    LightGoldenrod1=227,
    LightGoldenrod2=186,
    LightGoldenrod2Bis=221,
    LightGoldenrod2Ter=222,
    LightGoldenrod3=179,
    LightGreen=119,
    LightGreenBis=120,
    LightPink1=217,
    LightPink3=174,
    LightPink4=95,
    LightSalmon1=216,
    LightSalmon3=137,
    LightSalmon3Bis=173,
    LightSeaGreen=37,
    LightSkyBlue1=153,
    LightSkyBlue3=109,
    LightSkyBlue3Bis=110,
    LightSlateBlue=105,
    LightSlateGrey=103,
    LightSteelBlue=147,
    LightSteelBlue1=189,
    LightSteelBlue3=146,
    LightYellow3=187,
    Magenta1=201,
    Magenta2=165,
    Magenta2Bis=200,
    Magenta3=127,
    Magenta3Bis=163,
    Magenta3Ter=164,
    MediumOrchid=134,
    MediumOrchid1=171,
    MediumOrchid1Bis=207,
    MediumOrchid3=133,
    MediumPurple=104,
    MediumPurple1=141,
    MediumPurple2=135,
    MediumPurple2Bis=140,
    MediumPurple3=97,
    MediumPurple3Bis=98,
    MediumPurple4=60,
    MediumSpringGreen=49,
    MediumTurquoise=80,
    MediumVioletRed=126,
    MistyRose1=224,
    MistyRose3=181,
    NavajoWhite1=223,
    NavajoWhite3=144,
    NavyBlue=17,
    Orange1=214,
    Orange3=172,
    Orange4=58,
    Orange4Bis=94,
    OrangeRed1=202,
    Orchid=170,
    Orchid1=213,
    Orchid2=212,
    PaleGreen1=121,
    PaleGreen1Bis=156,
    PaleGreen3=114,
    PaleGreen3Bis=77,
    PaleTurquoise1=159,
    PaleTurquoise4=66,
    PaleVioletRed1=211,
    Pink1=218,
    Pink3=175,
    Plum1=219,
    Plum2=183,
    Plum3=176,
    Plum4=96,
    Purple=129,
    Purple3=56,
    Purple4=54,
    Purple4Bis=55,
    PurpleBis=93,
    Red1=196,
    Red3=124,
    Red3Bis=160,
    RosyBrown=138,
    RoyalBlue1=63,
    Salmon1=209,
    SandyBrown=215,
    SeaGreen1=84,
    SeaGreen1Bis=85,
    SeaGreen2=83,
    SeaGreen3=78,
    SkyBlue1=117,
    SkyBlue2=111,
    SkyBlue3=74,
    SlateBlue1=99,
    SlateBlue3=61,
    SlateBlue3Bis=62,
    SpringGreen1=48,
    SpringGreen2=42,
    SpringGreen2Bis=47,
    SpringGreen3=35,
    SpringGreen3Bis=41,
    SpringGreen4=29,
    SteelBlue=67,
    SteelBlue1=75,
    SteelBlue1Bis=81,
    SteelBlue3=68,
    Tan=180,
    Thistle1=225,
    Thistle3=182,
    Turquoise2=45,
    Turquoise4=30,
    Violet=177,
    Wheat1=229,
    Wheat4=101,
    Yellow1=226,
    Yellow2=190,
    Yellow3=148,
    Yellow3Bis=184,
    Yellow4=100,
    Yellow4Bis=106,
    };
    //clang-formaton

    //---Operators------
    booloperator==(constColor&rhs)const;
    booloperator!=(constColor&rhs)const;

    std::stringPrint(boolis_background_color)const;
    boolIsOpaque()const{returnalpha_==255;}

    private:
    enumclassColorType:uint8_t{
    Palette1,
    Palette16,
    Palette256,
    TrueColor,
    };
    ColorTypetype_=ColorType::Palette1;
    uint8_tred_=0;
    uint8_tgreen_=0;
    uint8_tblue_=0;
    uint8_talpha_=0;
    };

    inlinenamespaceliterals{

    ///@briefCreatesacolorfromacombinedhexRGBrepresentation,
    ///e.g.0x808000_rgb
    Coloroperator""_rgb(unsignedlonglongintcombined);

    }//namespaceliterals

    }//namespaceftxui

    #endif//FTXUI_SCREEN_COLOR_HPP