Forráskód Böngészése

LibGfx: Make Color formattable

Nico Weber 4 éve
szülő
commit
63dcd59fa5
2 módosított fájl, 13 hozzáadás és 0 törlés
  1. 5 0
      Libraries/LibGfx/Color.cpp
  2. 8 0
      Libraries/LibGfx/Color.h

+ 5 - 0
Libraries/LibGfx/Color.cpp

@@ -433,3 +433,8 @@ bool IPC::decode(IPC::Decoder& decoder, Color& color)
     color = Color::from_rgba(rgba);
     return true;
 }
+
+void AK::Formatter<Gfx::Color>::format(TypeErasedFormatParams& params, FormatBuilder& builder, const Gfx::Color& value)
+{
+    Formatter<StringView>::format(params, builder, value.to_string());
+}

+ 8 - 0
Libraries/LibGfx/Color.h

@@ -27,6 +27,7 @@
 #pragma once
 
 #include <AK/Assertions.h>
+#include <AK/Format.h>
 #include <AK/Forward.h>
 #include <AK/StdLibExtras.h>
 #include <LibIPC/Forward.h>
@@ -295,6 +296,13 @@ const LogStream& operator<<(const LogStream&, Color);
 
 using Gfx::Color;
 
+namespace AK {
+template<>
+struct Formatter<Gfx::Color> : public Formatter<StringView> {
+    void format(TypeErasedFormatParams& params, FormatBuilder& builder, const Gfx::Color& value);
+};
+}
+
 namespace IPC {
 bool encode(Encoder&, const Gfx::Color&);
 bool decode(Decoder&, Gfx::Color&);