зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1076657 pt 1 - Fix ContentEventHandler::OnQueryTextRect for vertical textframes. r=smontagu
This commit is contained in:
Родитель
66ba35c626
Коммит
64eb204042
|
@ -942,8 +942,13 @@ ContentEventHandler::OnQueryTextRect(WidgetQueryContentEvent* aEvent)
|
|||
nsPoint ptOffset;
|
||||
firstFrame->GetPointFromOffset(nodeOffset, &ptOffset);
|
||||
// minus 1 to avoid creating an empty rect
|
||||
rect.x += ptOffset.x - 1;
|
||||
rect.width -= ptOffset.x - 1;
|
||||
if (firstFrame->GetWritingMode().IsVertical()) {
|
||||
rect.y += ptOffset.y - 1;
|
||||
rect.height -= ptOffset.y - 1;
|
||||
} else {
|
||||
rect.x += ptOffset.x - 1;
|
||||
rect.width -= ptOffset.x - 1;
|
||||
}
|
||||
|
||||
// get the ending frame
|
||||
nodeOffset = range->EndOffset();
|
||||
|
@ -984,7 +989,11 @@ ContentEventHandler::OnQueryTextRect(WidgetQueryContentEvent* aEvent)
|
|||
// get the ending frame rect
|
||||
lastFrame->GetPointFromOffset(nodeOffset, &ptOffset);
|
||||
// minus 1 to avoid creating an empty rect
|
||||
frameRect.width -= lastFrame->GetRect().width - ptOffset.x - 1;
|
||||
if (lastFrame->GetWritingMode().IsVertical()) {
|
||||
frameRect.height -= lastFrame->GetRect().height - ptOffset.y - 1;
|
||||
} else {
|
||||
frameRect.width -= lastFrame->GetRect().width - ptOffset.x - 1;
|
||||
}
|
||||
|
||||
if (firstFrame == lastFrame) {
|
||||
rect.IntersectRect(rect, frameRect);
|
||||
|
|
Загрузка…
Ссылка в новой задаче