diff options
Diffstat (limited to 'indra/llui/llview.cpp')
| -rw-r--r-- | indra/llui/llview.cpp | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index 7db6eab9ad..31f12fe312 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -655,7 +655,7 @@ LLView* LLView::childrenHandleToolTip(S32 x, S32 y, MASK mask) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; @@ -672,6 +672,26 @@ LLView* LLView::childrenHandleToolTip(S32 x, S32 y, MASK mask) } +LLView* LLView::childFromPoint(S32 x, S32 y) +{ + if (!getVisible() ) + return false; + for ( child_list_iter_t child_it = mChildList.begin(); child_it != mChildList.end(); ++child_it) + { + LLView* viewp = *child_it; + S32 local_x = x - viewp->getRect().mLeft; + S32 local_y = y - viewp->getRect().mBottom; + if (!viewp->pointInView(local_x, local_y) + || !viewp->getVisible() ) + { + continue; + } + return viewp; + + } + return 0; +} + BOOL LLView::handleToolTip(S32 x, S32 y, MASK mask) { BOOL handled = FALSE; @@ -895,18 +915,12 @@ LLView* LLView::childrenHandleScrollWheel(S32 x, S32 y, S32 clicks) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; break; } - - if (viewp->blockMouseEvent(local_x, local_y)) - { - handled_view = viewp; - break; - } } } return handled_view; @@ -933,7 +947,7 @@ LLView* LLView::childrenHandleHover(S32 x, S32 y, MASK mask) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; @@ -1023,7 +1037,7 @@ LLView* LLView::childrenHandleMouseDown(S32 x, S32 y, MASK mask) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; break; @@ -1061,7 +1075,7 @@ LLView* LLView::childrenHandleRightMouseDown(S32 x, S32 y, MASK mask) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; @@ -1100,7 +1114,7 @@ LLView* LLView::childrenHandleMiddleMouseDown(S32 x, S32 y, MASK mask) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; break; @@ -1139,7 +1153,7 @@ LLView* LLView::childrenHandleDoubleClick(S32 x, S32 y, MASK mask) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; break; @@ -1176,7 +1190,7 @@ LLView* LLView::childrenHandleMouseUp(S32 x, S32 y, MASK mask) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; break; @@ -1213,7 +1227,7 @@ LLView* LLView::childrenHandleRightMouseUp(S32 x, S32 y, MASK mask) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; break; @@ -1250,7 +1264,7 @@ LLView* LLView::childrenHandleMiddleMouseUp(S32 x, S32 y, MASK mask) { if (sDebugMouseHandling) { - sMouseHandlerMessage = std::string("->") + viewp->mName + sMouseHandlerMessage; + sMouseHandlerMessage = std::string("/") + viewp->mName + sMouseHandlerMessage; } handled_view = viewp; break; |
