diff --git a/aegisub/libaegisub/common/color.cpp b/aegisub/libaegisub/common/color.cpp index 182277911..027632eff 100644 --- a/aegisub/libaegisub/common/color.cpp +++ b/aegisub/libaegisub/common/color.cpp @@ -43,7 +43,9 @@ std::string Color::GetSsaFormatted() const { return boost::lexical_cast((a << 24) + (b << 16) + (g << 8) + r); } -std::string Color::GetHexFormatted() const { +std::string Color::GetHexFormatted(bool rgba) const { + if (rgba) + return str(boost::format("#%02X%02X%02X%02X") % (int)r % (int)g % (int)b % (int)a); return str(boost::format("#%02X%02X%02X") % (int)r % (int)g % (int)b); } diff --git a/aegisub/libaegisub/include/libaegisub/color.h b/aegisub/libaegisub/include/libaegisub/color.h index b45b58fb9..7b415b0ea 100644 --- a/aegisub/libaegisub/include/libaegisub/color.h +++ b/aegisub/libaegisub/include/libaegisub/color.h @@ -33,7 +33,7 @@ namespace agi { std::string GetAssStyleFormatted() const; std::string GetAssOverrideFormatted() const; std::string GetSsaFormatted() const; - std::string GetHexFormatted() const; + std::string GetHexFormatted(bool rgba=false) const; std::string GetRgbFormatted() const; operator std::string() const { return GetRgbFormatted(); } diff --git a/aegisub/src/auto4_lua_dialog.cpp b/aegisub/src/auto4_lua_dialog.cpp index 2b60282c8..2ae6d3fd2 100644 --- a/aegisub/src/auto4_lua_dialog.cpp +++ b/aegisub/src/auto4_lua_dialog.cpp @@ -206,7 +206,7 @@ namespace Automation4 { } bool CanSerialiseValue() const override { return true; } - std::string SerialiseValue() const override { return inline_string_encode(color.GetHexFormatted()); } + std::string SerialiseValue() const override { return inline_string_encode(color.GetHexFormatted(alpha)); } void UnserialiseValue(const std::string &serialised) override { color = inline_string_decode(serialised); } wxControl *Create(wxWindow *parent) override { @@ -216,7 +216,7 @@ namespace Automation4 { } void LuaReadBack(lua_State *L) override { - lua_pushstring(L, color.GetHexFormatted().c_str()); + lua_pushstring(L, color.GetHexFormatted(alpha).c_str()); } };