PIJSON::toJSON with optionally unicode masking

PIVariantTypes::Color::toName()
This commit is contained in:
2022-12-08 13:21:11 +03:00
parent b609ce8027
commit c4cb81a104
6 changed files with 39 additions and 25 deletions

View File

@@ -822,7 +822,7 @@ PIString PIVariant::toString() const {
case PIVariant::pivEnum: {PIVariantTypes::Enum r; ba >> r; return r.selectedName();}
case PIVariant::pivFile: {PIVariantTypes::File r; ba >> r; return r.file;}
case PIVariant::pivDir: {PIVariantTypes::Dir r; ba >> r; return r.dir;}
case PIVariant::pivColor: {PIVariantTypes::Color r; ba >> r; return r.toString(true);}
case PIVariant::pivColor: {PIVariantTypes::Color r; ba >> r; return r.toName();}
case PIVariant::pivIODevice: {PIVariantTypes::IODevice r; ba >> r; return "IODevice";} // TODO
case PIVariant::pivPoint: {PIPointd r; ba >> r; return PIString::fromNumber(r.x) + ";" + PIString::fromNumber(r.y);} break;
case PIVariant::pivRect: {PIRectd r; ba >> r; return PIString::fromNumber(r.left()) + ";" + PIString::fromNumber(r.bottom()) + ";" + PIString::fromNumber(r.width()) + ";" + PIString::fromNumber(r.height());} break;

View File

@@ -169,10 +169,13 @@ PIVariantTypes::Color PIVariantTypes::Color::fromString(const PIString & str) {
}
PIString PIVariantTypes::Color::toString(bool find_name) const {
if (find_name) {
PIString ret = PIColorCollection::instance().getCSSName(*this);
if (ret.isNotEmpty()) return ret;
}
PIString PIVariantTypes::Color::toString() const {
return "#" + PIString::fromNumber(rgba, 16);
}
PIString PIVariantTypes::Color::toName() const {
PIString ret = PIColorCollection::instance().getCSSName(*this);
if (ret.isNotEmpty()) return ret;
return toString();
}

View File

@@ -237,9 +237,13 @@ struct PIP_EXPORT Color {
//! \~russian Возвращает цвет от #HEX, 0xHEX или имени.
static Color fromString(const PIString & str);
//! \~english Returns color as #HEX, or as name if "find_name".
//! \~russian Возвращает цвет как #HEX, либо как имя если "find_name".
PIString toString(bool find_name = false) const;
//! \~english Returns color as #HEX.
//! \~russian Возвращает цвет как #HEX.
PIString toString() const;
//! \~english Returns name or #HEX if no suitable name.
//! \~russian Возвращает имя, либо #HEX, если нет подходящего имени.
PIString toName() const;
//! \~english Integer color.
//! \~russian Целочисленный цвет.