From 1dbe7dd5f9e65c9fb4fd32ffe3388ff8cf63e957 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sun, 2 Mar 2014 07:24:06 -0800 Subject: [PATCH] Return a rgba string for coloralpha lua controls --- aegisub/libaegisub/common/color.cpp | 4 +++- aegisub/libaegisub/include/libaegisub/color.h | 2 +- aegisub/src/auto4_lua_dialog.cpp | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) 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()); } };