summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/bgfx/writereader.cpp
diff options
context:
space:
mode:
author therealmogminer@gmail.com <therealmogminer@gmail.com>2016-02-18 15:57:34 +0100
committer therealmogminer@gmail.com <therealmogminer@gmail.com>2016-02-21 03:03:23 +0100
commit9a47a870df619656e9092f2f77622e84e640307a (patch)
treeb8640bf79ffb55d0c9ed6fc27bbd4ce16a5e1a2e /src/osd/modules/render/bgfx/writereader.cpp
parentdadf8e7d79696996ab3ef840fe99a588ede538fa (diff)
First take on render API reorg, nw
Diffstat (limited to 'src/osd/modules/render/bgfx/writereader.cpp')
-rw-r--r--src/osd/modules/render/bgfx/writereader.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/osd/modules/render/bgfx/writereader.cpp b/src/osd/modules/render/bgfx/writereader.cpp
new file mode 100644
index 00000000000..b10220908c8
--- /dev/null
+++ b/src/osd/modules/render/bgfx/writereader.cpp
@@ -0,0 +1,24 @@
+#include <bgfx/bgfx.h>
+
+#include "writereader.h"
+
+const write_reader::string_to_enum write_reader::RGB_NAMES[write_reader::RGB_COUNT] = {
+ { "true", BGFX_STATE_RGB_WRITE },
+ { "false", 0 },
+ { "1", BGFX_STATE_RGB_WRITE },
+ { "0", 0 }
+};
+
+const write_reader::string_to_enum write_reader::ALPHA_NAMES[write_reader::ALPHA_COUNT] = {
+ { "true", BGFX_STATE_ALPHA_WRITE },
+ { "false", 0 },
+ { "1", BGFX_STATE_ALPHA_WRITE },
+ { "0", 0 }
+};
+
+uint64_t write_reader::read_from_value(const Value& value)
+{
+ uint64_t rgb = get_enum_from_value(value, "rgb", 0, RGB_NAMES, RGB_COUNT);
+ uint64_t alpha = get_enum_from_value(value, "alpha", 0, ALPHA_NAMES, ALPHA_COUNT);
+ return rgb | alpha;
+}