Example #1
0
void sdl_handler::join(context &c)
{
	if (has_joined_global_) {
		leave_global();
	}

	if(has_joined_) {
		leave(); // should not be in multiple event contexts
	}

	//join self
	c.add_handler(this);
	has_joined_ = true;

	//instruct members to join
	sdl_handler_vector members = handler_members();
	if(!members.empty()) {
		for(sdl_handler_vector::iterator i = members.begin(); i != members.end(); ++i) {
			(*i)->join(c);
		}
	}
}