I'm not 100% sure, but I think I fixed a confusion in sending the current view position and size to the client. Note that BView::originX and BView::originY are poorly named, because they are not the local coordinate system origin, but the offset within the parent at which the view is located.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12484 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -550,7 +550,6 @@ void ServerWindow::DispatchMessage(int32 code, LinkMsgReader &link)
|
|||||||
|
|
||||||
_CopyBits(myRootLayer, cl, src, dst, xOffset, yOffset);
|
_CopyBits(myRootLayer, cl, src, dst, xOffset, yOffset);
|
||||||
|
|
||||||
// TODO: notify the client, no?
|
|
||||||
cl->fLayerData->OffsetOrigin(BPoint(dh, dv));
|
cl->fLayerData->OffsetOrigin(BPoint(dh, dv));
|
||||||
//cl->fBoundsLeftTop += BPoint(dh, dv);
|
//cl->fBoundsLeftTop += BPoint(dh, dv);
|
||||||
//cl->fFrame.OffsetBy(BPoint(-dh, -dv));
|
//cl->fFrame.OffsetBy(BPoint(-dh, -dv));
|
||||||
@@ -729,17 +728,12 @@ void ServerWindow::DispatchMessage(int32 code, LinkMsgReader &link)
|
|||||||
case AS_LAYER_GET_COORD:
|
case AS_LAYER_GET_COORD:
|
||||||
{
|
{
|
||||||
STRACE(("ServerWindow %s: Message AS_LAYER_GET_COORD: Layer: %s\n",fName, cl->fName->String()));
|
STRACE(("ServerWindow %s: Message AS_LAYER_GET_COORD: Layer: %s\n",fName, cl->fName->String()));
|
||||||
printf("AS_LAYER_GET_COORD - Layer: %s\n", cl->GetName());
|
|
||||||
cl->fFrame.PrintToStream();
|
|
||||||
cl->BoundsOrigin().PrintToStream();
|
|
||||||
fMsgSender->StartMessage(SERVER_TRUE);
|
fMsgSender->StartMessage(SERVER_TRUE);
|
||||||
BPoint pt(cl->ConvertFromParent(cl->fFrame.LeftTop()));
|
// our offset in the parent -> will be originX and originY in BView
|
||||||
fMsgSender->Attach<float>(pt.x);
|
fMsgSender->Attach<float>(cl->fFrame.left);
|
||||||
fMsgSender->Attach<float>(pt.y);
|
fMsgSender->Attach<float>(cl->fFrame.top);
|
||||||
// fMsgSender->Attach<float>(cl->fFrame.left);
|
// convert frame to bounds
|
||||||
// fMsgSender->Attach<float>(cl->fFrame.top);
|
|
||||||
fMsgSender->Attach<BRect>(cl->fFrame.OffsetToCopy(cl->BoundsOrigin()));
|
fMsgSender->Attach<BRect>(cl->fFrame.OffsetToCopy(cl->BoundsOrigin()));
|
||||||
// fMsgSender->Attach<BRect>(cl->ConvertFromTop(cl->fFrame.OffsetToCopy(cl->fBoundsLeftTop)));
|
|
||||||
fMsgSender->Flush();
|
fMsgSender->Flush();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user