fixed a bug in ViewDriver which caused it to not send mouse wheel messages

Added a method to CursorHandler to get the mouse position
Mouse messages are now sent to the client window


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9814 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
DarkWyrm
2004-11-06 20:04:39 +00:00
parent e09fd76fe6
commit b5602a834c
4 changed files with 233 additions and 196 deletions
+15 -15
View File
@@ -222,21 +222,6 @@ void VDView::MessageReceived(BMessage *msg)
{
switch(msg->what)
{
#ifdef ENABLE_INPUT_SERVER_EMULATION
case B_MOUSE_WHEEL_CHANGED:
{
float x,y;
msg->FindFloat("be:wheel_delta_x",&x);
msg->FindFloat("be:wheel_delta_y",&y);
int64 time=real_time_clock();
serverlink->StartMessage(B_MOUSE_WHEEL_CHANGED);
serverlink->Attach(&time,sizeof(int64));
serverlink->Attach(x);
serverlink->Attach(y);
serverlink->Flush();
break;
}
#endif
default:
BView::MessageReceived(msg);
break;
@@ -259,6 +244,21 @@ void VDWindow::MessageReceived(BMessage *msg)
{
switch(msg->what)
{
#ifdef ENABLE_INPUT_SERVER_EMULATION
case B_MOUSE_WHEEL_CHANGED:
{
float x,y;
msg->FindFloat("be:wheel_delta_x",&x);
msg->FindFloat("be:wheel_delta_y",&y);
int64 time=real_time_clock();
view->serverlink->StartMessage(B_MOUSE_WHEEL_CHANGED);
view->serverlink->Attach(&time,sizeof(int64));
view->serverlink->Attach(x);
view->serverlink->Attach(y);
view->serverlink->Flush();
break;
}
#endif
case B_KEY_DOWN:
{
// Attached Data: