summaryrefslogtreecommitdiff
path: root/indra/llui/llbutton.cpp
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2010-10-06 20:22:53 -0700
committerMerov Linden <merov@lindenlab.com>2010-10-06 20:22:53 -0700
commit862a951880a8dfb2096b8bb88842f427d3c5f152 (patch)
treeb5e1245eb7d75c1ab1ee5c0530d8006a2255759a /indra/llui/llbutton.cpp
parentcba6943b27d447719f88bc9515da773eb3aea288 (diff)
Backed out changeset 28f52b3d2e3d (optimizations in button rendering).
Diffstat (limited to 'indra/llui/llbutton.cpp')
-rw-r--r--indra/llui/llbutton.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp
index 5a4f0515fc..aeedf62379 100644
--- a/indra/llui/llbutton.cpp
+++ b/indra/llui/llbutton.cpp
@@ -120,7 +120,6 @@ LLButton::LLButton(const LLButton::Params& p)
mFlashing( FALSE ),
mCurGlowStrength(0.f),
mNeedsHighlight(FALSE),
- mMouseOver(false),
mUnselectedLabel(p.label()),
mSelectedLabel(p.label_selected()),
mGLFont(p.font),
@@ -505,11 +504,7 @@ void LLButton::onMouseEnter(S32 x, S32 y, MASK mask)
LLUICtrl::onMouseEnter(x, y, mask);
if (isInEnabledChain())
- {
mNeedsHighlight = TRUE;
- }
-
- mMouseOver = true;
}
void LLButton::onMouseLeave(S32 x, S32 y, MASK mask)
@@ -517,7 +512,6 @@ void LLButton::onMouseLeave(S32 x, S32 y, MASK mask)
LLUICtrl::onMouseLeave(x, y, mask);
mNeedsHighlight = FALSE;
- mMouseOver = true;
}
void LLButton::setHighlight(bool b)
@@ -571,10 +565,14 @@ void LLButton::draw()
}
// Unselected image assignments
+ S32 local_mouse_x;
+ S32 local_mouse_y;
+ LLUI::getMousePositionLocal(this, &local_mouse_x, &local_mouse_y);
+
bool enabled = isInEnabledChain();
bool pressed = pressed_by_keyboard
- || (hasMouseCapture() && mMouseOver)
+ || (hasMouseCapture() && pointInView(local_mouse_x, local_mouse_y))
|| mForcePressedState;
bool selected = getToggleState();