From 173c6e9597bd28df573d2e7d48024e6df1ef72d3 Mon Sep 17 00:00:00 2001 From: Adi Oanca Date: Sat, 2 Jul 2005 10:09:35 +0000 Subject: [PATCH] Fixed resizing/moving using the new clipping code. Stephan (I know I wrote about these changes in Layer.cpp) I saw the changes you did at how B_VIEW_RESIZE/MOVED are handled. This might break compatibility with R5. I think you guys should discuss this. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13396 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Window.cpp | 41 +++++++++++------------------------ 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/src/kits/interface/Window.cpp b/src/kits/interface/Window.cpp index c6290a2fe7..3e8d17569f 100644 --- a/src/kits/interface/Window.cpp +++ b/src/kits/interface/Window.cpp @@ -864,56 +864,41 @@ BWindow::DispatchMessage(BMessage *msg, BHandler *target) } break; } -/* case B_VIEW_MOVED: +/* + case B_VIEW_MOVED: { - // NOTE: This message only arrives if the - // view has flags B_FRAME_EVENTS BPoint where; - int32 token = B_NULL_TOKEN; - BView *view; - + msg->FindPoint("where", &where); - msg->FindInt32("_token", &token); - msg->RemoveName("_token"); - view = findView(top_view, token); - if (view) + // TODO: should we use dynamic_cast? isn't that a bit expensive? + if (target && target != this) { - STRACE(("Calling BView(%s)::FrameMoved( %f, %f )\n", view->Name(), where.x, where.y)); - view->FrameMoved( where ); + STRACE(("Calling BView(%s)::FrameMoved( %f, %f )\n", target->Name(), where.x, where.y)); + ((BView*)target)->FrameMoved( where ); } - else - printf("***PANIC: BW: Can't find view with ID: %ld !***\n", token); break; } case B_VIEW_RESIZED: { - // NOTE: This message only arrives if the - // view has flags B_FRAME_EVENTS float newWidth, newHeight; BPoint where; - int32 token = B_NULL_TOKEN; - BView *view; msg->FindFloat("width", &newWidth); msg->FindFloat("height", &newHeight); msg->FindPoint("where", &where); - msg->FindInt32("_token", &token); - msg->RemoveName("_token"); - - view = findView(top_view, token); - if (view){ - STRACE(("Calling BView(%s)::FrameResized( %f, %f )\n", view->Name(), newWidth, newHeight)); - view->FrameResized( newWidth, newHeight ); + + // TODO: should we use dynamic_cast? isn't that a bit expensive? + if (target && target != this){ + STRACE(("Calling BView(%s)::FrameResized( %f, %f )\n", target->Name(), newWidth, newHeight)); + ((BView*)target)->FrameResized( newWidth, newHeight ); } - else - printf("***PANIC: BW: Can't find view with ID: %ld !***\n", token); + break; } */ - case _MENUS_DONE_: MenusEnded(); break;