#include #include // #define ICON_stop "\U000F04DB" // #define ICON_play "\U000F040A" // #define ICON_pause "\U000F03E4" // std::string playbackStatusToIcon(bool playing, bool paused) { // if (playing) return ICON_play; // else if (paused) return ICON_pause; // else return ICON_stop; // } // #define ICON_moon_first_quarter "\U000F0F61" // #define ICON_moon_full "\U000F0F62" // #define ICON_moon_last_quarter "\U000F0F63" // #define ICON_moon_new "\U000F0F64" // #define ICON_moon_waning_crescent "\U000F0F65" // #define ICON_moon_waning_gibbous "\U000F0F66" // #define ICON_moon_waxing_crescent "\U000F0F67" // #define ICON_moon_waxing_gibbous "\U000F0F68" // std::string moonToIcon(std::string moonPhase) // { // if (moonPhase == "new_moon") return ICON_moon_new; // if (moonPhase == "waxing_crescent") return ICON_moon_waxing_crescent; // if (moonPhase == "first_quarter") return ICON_moon_first_quarter; // if (moonPhase == "waxing_gibbous") return ICON_moon_waxing_gibbous; // if (moonPhase == "full_moon") return ICON_moon_full; // if (moonPhase == "waning_gibbous") return ICON_moon_waning_gibbous; // if (moonPhase == "last_quarter") return ICON_moon_last_quarter; // if (moonPhase == "waning_crescent") return ICON_moon_waning_crescent; // return ""; // } // Map weather states to MDI characters. std::map weather_icon_map { {"cloudy", "\U000F0590"}, {"cloudy-alert", "\U000F0F2F"}, {"cloudy-arrow-right", "\U000F0E6E"}, {"fog", "\U000F0591"}, {"hail", "\U000F0592"}, {"hazy", "\U000F0F30"}, {"hurricane", "\U000F0898"}, {"lightning", "\U000F0593"}, {"lightning-rainy", "\U000F067E"}, {"night", "\U000F0594"}, {"night-partly-cloudy", "\U000F0F31"}, {"partlycloudy", "\U000F0595"}, {"partly-lightning", "\U000F0F32"}, {"partly-rainy", "\U000F0597"}, //compacting U000F0F33 {"partly-snowy", "\U000F0598"}, //compacting U000F0F34 {"partly-snowy-rainy", "\U000F0F35"}, {"pouring", "\U000F0596"}, {"rainy", "\U000F0597"}, {"snowy", "\U000F0598"}, {"snowy-heavy", "\U000F0598"}, //compacting U000F0F36 {"snowy-rainy", "\U000F067F"}, {"sunny", "\U000F0599"}, {"sunny-alert", "\U000F0F37"}, {"sunny-off", "\U000F14E4"}, {"sunset", "\U000F059A"}, {"sunset-down", "\U000F059B"}, {"sunset-up", "\U000F059C"}, {"tornado", "\U000F059D"}, //compacting U000F0F38 {"windy", "\U000F059D"}, {"windy-variant", "\U000F059D"}, //compacting U000F059E {"car", "\U000f010b"}, {"trash", "\U000F0819"}, }; // std::map moon_icon_map // { // { "mdi:moon-waxing-crescent", "\U000f0f67" }, // { "mdi:moon-first-quarter", "\U000F0F61" }, // { "mdi:moon-waxing-gibbous", "\U000F0F68" }, // { "mdi:moon-full", "\U000F0F62" }, // { "mdi:moon-waning-gibbous", "\U000F0F66" }, // { "mdi:moon-last-quarter", "\U000F0F63" }, // { "mdi:moon-waning-crescent", "\U000F0F65" }, // }; #define ICON_w_clear_night "\U000F0594" #define ICON_w_cloudy "\U000F0590" #define ICON_w_fog "\U000F0591" #define ICON_w_hail "\U000F0592" #define ICON_w_lightning "\U000F0593" #define ICON_w_lightning_rainy "\U000F067E" #define ICON_w_night_partly_cloudy "\U000F0F31" #define ICON_w_partly_cloudy "\U000F0595" #define ICON_w_pouring "\U000F0596" #define ICON_w_rainy "\U000F0597" #define ICON_w_snowy "\U000F0F36" #define ICON_w_snowy_rainy "\U000F067F" #define ICON_w_sunny "\U000F0599" #define ICON_w_windy "\U000F059D" #define ICON_w_windy_variant "\U000F059E" #define ICON_w_exceptional "\U000F0F38" std::string conditionToIcon(std::string condition, bool daytime) { if (condition == "clear") return ICON_w_clear_night; if (condition == "clear-night") return ICON_w_clear_night; if (condition == "cloudy") return ICON_w_cloudy; if (condition == "dust") return ICON_w_fog; if (condition == "dusty") return ICON_w_fog; if (condition == "fog") return ICON_w_fog; if (condition == "frost") return ICON_w_snowy; if (condition == "hail") return ICON_w_hail; if (condition == "haze") return ICON_w_fog; if (condition == "hazy") return ICON_w_fog; if (condition == "heavy_shower") return ICON_w_rainy; if (condition == "heavy_showers") return ICON_w_rainy; if (condition == "light_rain") return ICON_w_rainy; if (condition == "light_showers") return ICON_w_rainy; if (condition == "light_shower") return ICON_w_rainy; if (condition == "lightning") return ICON_w_lightning; if (condition == "lightning-rainy") return ICON_w_lightning_rainy; if (condition == "mostly_sunny") return ICON_w_sunny; if (condition == "night") return ICON_w_clear_night; if (condition == "partlycloudy" && !daytime) return ICON_w_night_partly_cloudy; if (condition == "partlycloudy" && daytime) return ICON_w_partly_cloudy; if (condition == "partly_cloudy" && !daytime) return ICON_w_night_partly_cloudy; if (condition == "partly_cloudy" && daytime) return ICON_w_partly_cloudy; if (condition == "pouring") return ICON_w_pouring; if (condition == "rain") return ICON_w_rainy; if (condition == "rainy") return ICON_w_rainy; if (condition == "shower") return ICON_w_rainy; if (condition == "showers") return ICON_w_rainy; if (condition == "snow") return ICON_w_snowy; if (condition == "snowy") return ICON_w_snowy; if (condition == "snowy-rainy") return ICON_w_snowy_rainy; if (condition == "storm") return ICON_w_lightning_rainy; if (condition == "storms") return ICON_w_lightning_rainy; if (condition == "sunny") return ICON_w_sunny; if (condition == "wind") return ICON_w_windy; if (condition == "windy") return ICON_w_windy; if (condition == "windy-variant") return ICON_w_windy_variant; if (condition == "exceptional") return ICON_w_exceptional; return ""; }