summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util/palette.c
diff options
context:
space:
mode:
author ImJezze <jezze@gmx.net>2015-10-20 21:34:36 +0200
committer ImJezze <jezze@gmx.net>2015-10-20 21:34:36 +0200
commita7b8acbe3eebcf17367baa642375cfa47ae4ea85 (patch)
tree854b859d6176802c0278f4b00de3f7c774e02dda /src/lib/util/palette.c
parent4610935e796661874bb4ee7ec6536d9423aeb7be (diff)
parent74aae76c4e3e257f99d139c4febb5d86d1419e50 (diff)
Merge pull request #6 from mamedev/master
Sync to base master
Diffstat (limited to 'src/lib/util/palette.c')
-rw-r--r--src/lib/util/palette.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/lib/util/palette.c b/src/lib/util/palette.c
index f2252a24319..cafdce24ebd 100644
--- a/src/lib/util/palette.c
+++ b/src/lib/util/palette.c
@@ -365,6 +365,66 @@ void palette_t::entry_set_color(UINT32 index, rgb_t rgb)
//-------------------------------------------------
+// entry_set_red_level - set the red level for a
+// given palette index
+//-------------------------------------------------
+
+void palette_t::entry_set_red_level(UINT32 index, UINT8 level)
+{
+ // if out of range, or unchanged, ignore
+ if (index >= m_numcolors || m_entry_color[index].r() == level)
+ return;
+
+ // set the level
+ m_entry_color[index].set_r(level);
+
+ // update across all groups
+ for (int groupnum = 0; groupnum < m_numgroups; groupnum++)
+ update_adjusted_color(groupnum, index);
+}
+
+
+//-------------------------------------------------
+// entry_set_green_level - set the green level for a
+// given palette index
+//-------------------------------------------------
+
+void palette_t::entry_set_green_level(UINT32 index, UINT8 level)
+{
+ // if out of range, or unchanged, ignore
+ if (index >= m_numcolors || m_entry_color[index].g() == level)
+ return;
+
+ // set the level
+ m_entry_color[index].set_g(level);
+
+ // update across all groups
+ for (int groupnum = 0; groupnum < m_numgroups; groupnum++)
+ update_adjusted_color(groupnum, index);
+}
+
+
+//-------------------------------------------------
+// entry_set_blue_level - set the blue level for a
+// given palette index
+//-------------------------------------------------
+
+void palette_t::entry_set_blue_level(UINT32 index, UINT8 level)
+{
+ // if out of range, or unchanged, ignore
+ if (index >= m_numcolors || m_entry_color[index].b() == level)
+ return;
+
+ // set the level
+ m_entry_color[index].set_b(level);
+
+ // update across all groups
+ for (int groupnum = 0; groupnum < m_numgroups; groupnum++)
+ update_adjusted_color(groupnum, index);
+}
+
+
+//-------------------------------------------------
// entry_set_contrast - set the contrast
// adjustment for a single palette index
//-------------------------------------------------