本文整理汇总了C++中ControllerMessage::set_key_state方法的典型用法代码示例。如果您正苦于以下问题:C++ ControllerMessage::set_key_state方法的具体用法?C++ ControllerMessage::set_key_state怎么用?C++ ControllerMessage::set_key_state使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ControllerMessage
的用法示例。
在下文中一共展示了ControllerMessage::set_key_state方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
ButtonmapModifier::update(int msec_delta, ControllerMessage& msg, const ControllerMessageDescriptor& desc)
{
// update all filters in all mappings
for(std::vector<ButtonMappingPtr>::iterator i = m_buttonmap.begin(); i != m_buttonmap.end(); ++i)
{
for(std::vector<ButtonFilterPtr>::iterator j = (*i)->filters.begin(); j != (*i)->filters.end(); ++j)
{
(*j)->update(msec_delta);
}
}
std::bitset<256> state = msg.get_key_state();
for(std::vector<ButtonMappingPtr>::iterator i = m_buttonmap.begin(); i != m_buttonmap.end(); ++i)
{
int key_out = (*i)->rhs.get_key();
bool value = (*i)->lhs.get(msg);
// apply the button filter
for(std::vector<ButtonFilterPtr>::iterator j = (*i)->filters.begin(); j != (*i)->filters.end(); ++j)
{
value = (*j)->filter(value);
}
state[key_out] = value || state[key_out];
}
msg.set_key_state(state);
}