* added a way to retrieve the view under the mouse
via token (coded by axeld) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16518 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
c684b4ca64
commit
4aaa5aa100
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2005, Haiku, Inc. All Rights Reserved.
|
||||
* Copyright 2005-2006, Haiku, Inc. All Rights Reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
|
@ -216,6 +216,7 @@ EventDispatcher::EventDispatcher()
|
|||
fThread(-1),
|
||||
fCursorThread(-1),
|
||||
fPreviousMouseTarget(NULL),
|
||||
fPreviousViewToken(B_NULL_TOKEN),
|
||||
fFocus(NULL),
|
||||
fSuspendFocus(false),
|
||||
fMouseFilter(NULL),
|
||||
|
@ -503,12 +504,24 @@ EventDispatcher::SetHWInterface(HWInterface* interface)
|
|||
}
|
||||
|
||||
|
||||
int32
|
||||
EventDispatcher::ViewUnderMouse(EventTarget& target)
|
||||
{
|
||||
BAutolock _(this);
|
||||
|
||||
if (&target == fPreviousMouseTarget)
|
||||
return fPreviousViewToken;
|
||||
|
||||
return B_NULL_TOKEN;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
EventDispatcher::SetDragMessage(BMessage& message)
|
||||
{
|
||||
printf("EventDispatcher::SetDragMessage()\n");
|
||||
|
||||
BAutolock _(*this);
|
||||
BAutolock _(this);
|
||||
|
||||
fDragMessage = message;
|
||||
|
||||
|
@ -744,6 +757,7 @@ EventDispatcher::_EventLoop()
|
|||
}
|
||||
|
||||
current = fPreviousMouseTarget = mouseTarget;
|
||||
fPreviousViewToken = viewToken;
|
||||
|
||||
if (current != NULL) {
|
||||
int32 focusView = viewToken;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2005, Haiku, Inc. All Rights Reserved.
|
||||
* Copyright 2005-2006, Haiku, Inc. All Rights Reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
|
@ -84,6 +84,8 @@ class EventDispatcher : public BLocker {
|
|||
bool HasCursorThread();
|
||||
void SetHWInterface(HWInterface* interface);
|
||||
|
||||
int32 ViewUnderMouse(EventTarget& target);
|
||||
|
||||
void SetDragMessage(BMessage& message);
|
||||
// the message should be delivered on the next
|
||||
// "mouse up".
|
||||
|
@ -123,6 +125,7 @@ class EventDispatcher : public BLocker {
|
|||
thread_id fCursorThread;
|
||||
|
||||
EventTarget* fPreviousMouseTarget;
|
||||
int32 fPreviousViewToken;
|
||||
EventTarget* fFocus;
|
||||
bool fSuspendFocus;
|
||||
|
||||
|
|
Loading…
Reference in New Issue