summaryrefslogtreecommitdiff
path: root/indra/newview/llwindowlistener.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2011-08-25 14:40:53 -0400
committerNat Goodspeed <nat@lindenlab.com>2011-08-25 14:40:53 -0400
commitf7a6ed85e40f53e5e28868bf34ac4dbc9bb204fb (patch)
treefde2bf8e6ec58b8dcad11ee5ca996359c98219a9 /indra/newview/llwindowlistener.cpp
parenta548fd52e3c938614f213ae7f2b1aa9cbf05b23f (diff)
CHOP-763: Add LLView::TemporaryDrilldownFunc to support UI injection.
Instead of unconditionally calling LLView::pointInView(), LLView::visibleAndContains() now consults a class-static boost::function called sDrilldown -- which is initialized to LLView::pointInView(). Introduce LLView::TemporaryDrilldownFunc, instantiated with a callable whose signature is compatible with LLView::pointInView(). This replaces sDrilldown, but only for the life of the TemporaryDrilldownFunc object. Introduce llview::TargetEvent, an object intended to serve as a TemporaryDrilldownFunc callable. Construct it with a desired target LLView* and pass it to TemporaryDrilldownFunc. When called with each candidate child LLView*, instead of selecting the one containing the particular (x, y) point, it selects the one that will lead to the ultimate desired target LLView*. Add optional 'recur' param to LLView::childFromPoint(); default is current one-level behavior. But when you pass recur=true, it should return the frontmost visible leaf LLView containing the passed (x, y) point.
Diffstat (limited to 'indra/newview/llwindowlistener.cpp')
0 files changed, 0 insertions, 0 deletions