void capturer::set_state(state _state){ state prev_value = capturer_state.exchange(_state,boost::memory_order_release); if (_state != prev_value){ on_state_change(prev_value,_state); } }
void Indigo::UIWidget::toggle_state(OOBase::uint32_t new_state, OOBase::uint32_t mask) { OOBase::uint32_t change_mask = (m_state ^ new_state) & mask; if (change_mask) { m_state = (m_state & ~mask) | (new_state & mask); on_state_change(m_state,change_mask); } }
void on_lap_split_btn_push(Watch *w){ State next; if( (w->is_mode_settled == 0) && (w->state == RUN) ){ w->mode = LAP_SPLIT; w->is_mode_settled = 1; } next = _lap_split_btn[w->mode][w->state]; if(next == NONE) return; w->state = next; on_state_change(w); }
void on_start_stop_btn_push(Watch *w){ State next; if( (w->is_mode_settled == 0) && (w->state == RUN) ){ w->mode = START_STOP; w->is_mode_settled = 1; } next = _start_stop_btn[w->mode][w->state]; if(next == NONE) return; w->state = next; on_state_change(w); }