Exemple #1
0
bool keyboard_t::dispatch(key_type                    virtual_key,
                          bool                        pressed,
                          adobe::modifiers_t          modifiers)
{
    iterator parent(forest_m.begin());

    typedef keyboard_forest_t::postorder_iterator postorder_iterator;

    for (postorder_iterator iter(leading_of(parent)), last(++trailing_of(parent));
         iter != last;
         ++iter) {
        if (iter->handle_key(virtual_key, pressed, modifiers))
            return true;
    }

    return false;
}
Exemple #2
0
bool keyboard_t::dispatch(key_type                    virtual_key,
                          bool                        pressed,
                          adobe::modifiers_t          modifiers,
                          const adobe::any_regular_t& base_handler)
{
    iterator parent(handler_to_iterator(base_handler));

    if (parent == forest_m.end())
        return false;

    typedef keyboard_forest_t::postorder_iterator postorder_iterator;

    for (postorder_iterator iter(leading_of(parent)), last(++trailing_of(parent)); iter != last; ++iter)
        if (iter->handle_key(virtual_key, pressed, modifiers))
            return true;

    return false;
}