#pragma once #include "xtr/cclDescriptor.h" namespace xtr::design { static constexpr auto clrWhite = RGB(255, 255, 255); static constexpr auto clrBlack = RGB(0, 0, 0); static constexpr auto clrGray200 = RGB(200, 200, 200); static constexpr auto clrGray211 = RGB(211, 211, 211); static constexpr auto clrGray233 = RGB(233, 233, 233); static constexpr auto clrRed = RGB(255, 0, 0); static constexpr auto clrGreen = RGB(0, 255, 0); static constexpr auto clrBlue = RGB(0, 0, 255); static constexpr auto clrYellow = RGB(255, 255, 0); static constexpr auto clrTeal = RGB(0, 200, 200); static constexpr auto clrJade = RGB(0, 168, 107); static constexpr auto clrPurple = RGB(178, 102, 255); [[nodiscard]] CHARFORMAT2W CharFormatRE() noexcept; [[nodiscard]] COLORREF Color(ccl::rslang::TokenID token) noexcept; [[nodiscard]] COLORREF Color(ccl::semantic::ParsingStatus status) noexcept; [[nodiscard]] COLORREF Color(info::CoreStatus status) noexcept; [[nodiscard]] COLORREF Color(info::ModelStatus status) noexcept; [[nodiscard]] COLORREF Color(ccl::semantic::EvalStatus status) noexcept; [[nodiscard]] COLORREF Color(ccl::rslang::ValueClass status) noexcept; [[nodiscard]] COLORREF Color(ccl::lang::ReferenceType type) noexcept; [[nodiscard]] COLORREF TextColor(const ccl::semantic::RSForm& schema, EntityUID target); [[nodiscard]] COLORREF TextColor(const ccl::semantic::RSModel& model, EntityUID target); [[nodiscard]] COLORREF BackgroundColor(const ccl::semantic::RSForm& schema, EntityUID target); [[nodiscard]] COLORREF BackgroundColor(const ccl::semantic::RSModel& model, EntityUID target) noexcept; [[nodiscard]] COLORREF BackgroundColor(const ccl::oss::OSSchema& oss, ccl::oss::PictID target); [[nodiscard]] COLORREF BracketsColor(int32_t level); [[nodiscard]] constexpr BOOL IsReference(const COLORREF color) noexcept { return color == clrYellow || color == clrGray200; } } // namespace xtr::design