From de48335a7728cda8a8b4dc2eba182bb03dde4991 Mon Sep 17 00:00:00 2001 From: DarkWyrm Date: Fri, 21 Jan 2005 02:01:28 +0000 Subject: [PATCH] Added handlers for a few unhandled and unimplemented BView calls BView::GetMouse won't block the app for now, at least git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10923 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/server/ServerWindow.cpp | 48 ++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/src/servers/app/server/ServerWindow.cpp b/src/servers/app/server/ServerWindow.cpp index 7b2b941895..bff550d396 100644 --- a/src/servers/app/server/ServerWindow.cpp +++ b/src/servers/app/server/ServerWindow.cpp @@ -1736,6 +1736,18 @@ void ServerWindow::DispatchMessage(int32 code, LinkMsgReader &link) } break; } + case AS_LAYER_INVERT_RECT: + { + DTRACE(("ServerWindow %s: Message AS_INVERT_RECT\n",fTitle.String())); + + // TODO: Add clipping TO AS_INVERT_RECT + BRect rect; + link.Read(&rect); + + if (cl && cl->fLayerData) + desktop->GetDisplayDriver()->InvertRect(cl->ConvertToTop(rect)); + break; + } case AS_STROKE_RECT: { DTRACE(("ServerWindow %s: Message AS_STROKE_RECT\n",fTitle.String())); @@ -2202,9 +2214,43 @@ void ServerWindow::DispatchMessage(int32 code, LinkMsgReader &link) fMsgSender->Flush(); break; } + case AS_LAYER_DRAG_IMAGE: + { + STRACE(("ServerWindow %s: Message AS_DRAG_IMAGE unimplemented\n",fTitle.String())); + DTRACE(("ServerWindow %s: Message AS_DRAG_IMAGE unimplemented\n",fTitle.String())); + break; + } + case AS_LAYER_DRAG_RECT: + { + STRACE(("ServerWindow %s: Message AS_DRAG_RECT unimplemented\n",fTitle.String())); + DTRACE(("ServerWindow %s: Message AS_DRAG_RECT unimplemented\n",fTitle.String())); + break; + } + case AS_LAYER_GET_MOUSE_COORDS: + { + STRACE(("ServerWindow %s: Message AS_GET_MOUSE_COORDS unimplemented\n",fTitle.String())); + DTRACE(("ServerWindow %s: Message AS_GET_MOUSE_COORDS unimplemented\n",fTitle.String())); + // Attached Data: + // 1) port_id reply port + + // Returns + // 1) BPoint mouse location + // 2) int32 button state + + // For now, it's unimplemented, but this is a synchronous call, so to prevent debugging of + // applications which make this call, we'll reply with a SERVER_FALSE until it is implemeneted + + port_id replyport; + link.Read(&replyport); + + BPortLink replylink(replyport); + replylink.StartMessage(SERVER_FALSE); + replylink.Flush(); + break; + } default: { - printf("ServerWindow %s received unexpected code - message offset %lx\n",fTitle.String(), code - SERVER_TRUE); + printf("ServerWindow %s received unexpected code - message offset %ld\n",fTitle.String(), code - SERVER_TRUE); break; } }