diff options
author | 2015-10-20 21:34:36 +0200 | |
---|---|---|
committer | 2015-10-20 21:34:36 +0200 | |
commit | a7b8acbe3eebcf17367baa642375cfa47ae4ea85 (patch) | |
tree | 854b859d6176802c0278f4b00de3f7c774e02dda /src/lib/util/palette.c | |
parent | 4610935e796661874bb4ee7ec6536d9423aeb7be (diff) | |
parent | 74aae76c4e3e257f99d139c4febb5d86d1419e50 (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.c | 60 |
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 //------------------------------------------------- |