diff --git a/uppsrc/IconDes/IconDes.h b/uppsrc/IconDes/IconDes.h index 0f96f79f7..138d539e7 100644 --- a/uppsrc/IconDes/IconDes.h +++ b/uppsrc/IconDes/IconDes.h @@ -76,6 +76,9 @@ public: void Set(RGBA c); void MaskSet(int a); RGBA Get() const; + + Color GetColor() const; + int GetAlpha() const; void Mask(bool b); diff --git a/uppsrc/IconDes/RGBACtrl.cpp b/uppsrc/IconDes/RGBACtrl.cpp index 660e9162a..76836833b 100644 --- a/uppsrc/IconDes/RGBACtrl.cpp +++ b/uppsrc/IconDes/RGBACtrl.cpp @@ -156,6 +156,16 @@ RGBA RGBACtrl::Get() const return c; } +Color RGBACtrl::GetColor() const +{ + return color; +} + +int RGBACtrl::GetAlpha() const +{ + return alpha.Get(); +} + void RGBACtrl::Mask(bool b) { alpha.Mask(b); diff --git a/uppsrc/ide/Insert.cpp b/uppsrc/ide/Insert.cpp index 67439fec9..349b125aa 100644 --- a/uppsrc/ide/Insert.cpp +++ b/uppsrc/ide/Insert.cpp @@ -25,10 +25,12 @@ void InsertColorDlg::Select(int i) void InsertColorDlg::Sync() { + RGBA c0 = rgbactrl.GetColor(); RGBA c = rgbactrl.Get(); - r[0] = Format("RGBA(%d, %d, %d, %d)", c.a, c.r, c.g, c.b); + r[0] = Format("%d, %d, %d, %d", c.a, c.r, c.g, c.b); rgba.SetLabel(r[0]); - r[1] = Format("Color(%d, %d, %d)", c.r, c.g, c.b); + r[1] = c.a == 255 ? Format("Color(%d, %d, %d)", c.r, c.g, c.b) + : Format("%d * Color(%d, %d, %d)", c.a, c0.r, c0.g, c0.b); color.SetLabel(r[1]); r[2] = Format("%02x%02x%02x%02x", c.a, c.r, c.g, c.b); ahex.SetLabel(r[2]);