[vlc-commits] Added common HTMLColor2RGB utility function to parse #rgb and #rrggbb color strings

Cheng Sun git at videolan.org
Sat Jan 21 23:12:16 CET 2012


npapi-vlc | branch: master | Cheng Sun <chengsun9 at gmail.com> | Sat Jan 14 21:21:36 2012 +0700| [8f49515afa384972404b9e83f54d6caf791470f9] | committer: Cheng Sun

Added common HTMLColor2RGB utility function to parse #rgb and #rrggbb color strings

> http://git.videolan.org/gitweb.cgi/npapi-vlc.git/?a=commit;h=8f49515afa384972404b9e83f54d6caf791470f9
---

 common/vlc_player_options.h |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/common/vlc_player_options.h b/common/vlc_player_options.h
index 431e42f..6fee5e4 100644
--- a/common/vlc_player_options.h
+++ b/common/vlc_player_options.h
@@ -23,6 +23,30 @@
 #define _VLC_PLAYER_OPTIONS_H_
 
 #include <string>
+#include <cstring>
+#include <cstdio>
+
+static bool HTMLColor2RGB(const char *htmlColor, uint8_t *r, uint8_t *g, uint8_t *b)
+{
+    if (!htmlColor)
+        return false;
+    switch (strlen(htmlColor)) {
+        case 4:
+            if (sscanf(htmlColor, "#%1x%1x%1x", r, g, b) != 3)
+                return false;
+            *r *= 0x11;
+            *g *= 0x11;
+            *b *= 0x11;
+            return true;
+        case 7:
+            if (sscanf(htmlColor, "#%2x%2x%2x", r, g, b) != 3)
+                return false;
+            return true;
+        default:
+            return false;
+    }
+}
+
 
 enum vlc_player_option_e
 {



More information about the vlc-commits mailing list