diff options
Diffstat (limited to 'src/lib/util/palette.cpp')
-rw-r--r-- | src/lib/util/palette.cpp | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/src/lib/util/palette.cpp b/src/lib/util/palette.cpp index 730800d5249..612dc9042be 100644 --- a/src/lib/util/palette.cpp +++ b/src/lib/util/palette.cpp @@ -8,12 +8,12 @@ ******************************************************************************/ -#include <cassert> - #include "palette.h" -#include <cstdlib> -#include <cmath> + #include <algorithm> +#include <cassert> +#include <cmath> +#include <cstdlib> //************************************************************************** @@ -44,9 +44,7 @@ inline rgb_t palette_t::adjust_palette_entry(rgb_t entry, float brightness, floa // dirty_state - constructor //------------------------------------------------- -palette_client::dirty_state::dirty_state() - : m_mindirty(0), - m_maxdirty(0) +palette_client::dirty_state::dirty_state() : m_mindirty(0), m_maxdirty(0) { } @@ -56,7 +54,7 @@ palette_client::dirty_state::dirty_state() // min/max values //------------------------------------------------- -const uint32_t *palette_client::dirty_state::dirty_list(uint32_t &mindirty, uint32_t &maxdirty) +const uint32_t *palette_client::dirty_state::dirty_list(uint32_t &mindirty, uint32_t &maxdirty) noexcept { // fill in the mindirty/maxdirty mindirty = m_mindirty; @@ -92,7 +90,7 @@ void palette_client::dirty_state::resize(uint32_t colors) // mark_dirty - mark a single entry dirty //------------------------------------------------- -void palette_client::dirty_state::mark_dirty(uint32_t index) +void palette_client::dirty_state::mark_dirty(uint32_t index) noexcept { m_dirty[index / 32] |= 1 << (index % 32); m_mindirty = std::min(m_mindirty, index); @@ -105,7 +103,7 @@ void palette_client::dirty_state::mark_dirty(uint32_t index) // entries as clean //------------------------------------------------- -void palette_client::dirty_state::reset() +void palette_client::dirty_state::reset() noexcept { // erase relevant entries in the new live one if (m_mindirty <= m_maxdirty) @@ -168,20 +166,18 @@ palette_client::~palette_client() // list for a client //------------------------------------------------- -const uint32_t *palette_client::dirty_list(uint32_t &mindirty, uint32_t &maxdirty) +const uint32_t *palette_client::dirty_list(uint32_t &mindirty, uint32_t &maxdirty) noexcept { // if nothing to report, report nothing and don't swap - const uint32_t *result = m_live->dirty_list(mindirty, maxdirty); - if (result == nullptr) - return nullptr; - - // swap the live and previous lists - dirty_state *temp = m_live; - m_live = m_previous; - m_previous = temp; + uint32_t const *const result = m_live->dirty_list(mindirty, maxdirty); + if (result) + { + // swap the live and previous lists + std::swap(m_live, m_previous); - // reset new live one and return the pointer to the previous - m_live->reset(); + // reset new live one and return the pointer to the previous + m_live->reset(); + } return result; } @@ -266,7 +262,7 @@ palette_t::~palette_t() // palette_t - destructor //------------------------------------------------- -void palette_t::deref() +void palette_t::deref() noexcept { if (--m_refcount == 0) delete this; |