本文整理汇总了C++中LayoutBoxModelObject::offsetParent方法的典型用法代码示例。如果您正苦于以下问题:C++ LayoutBoxModelObject::offsetParent方法的具体用法?C++ LayoutBoxModelObject::offsetParent怎么用?C++ LayoutBoxModelObject::offsetParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LayoutBoxModelObject
的用法示例。
在下文中一共展示了LayoutBoxModelObject::offsetParent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pageNumberForElement
int PrintContext::pageNumberForElement(Element* element,
const FloatSize& pageSizeInPixels) {
element->document().updateStyleAndLayout();
LocalFrame* frame = element->document().frame();
FloatRect pageRect(FloatPoint(0, 0), pageSizeInPixels);
PrintContext printContext(frame);
printContext.begin(pageRect.width(), pageRect.height());
LayoutBoxModelObject* box = enclosingBoxModelObject(element->layoutObject());
if (!box)
return -1;
FloatSize scaledPageSize = pageSizeInPixels;
scaledPageSize.scale(frame->view()->contentsSize().width() /
pageRect.width());
printContext.computePageRectsWithPageSize(scaledPageSize);
int top = box->pixelSnappedOffsetTop(box->offsetParent());
int left = box->pixelSnappedOffsetLeft(box->offsetParent());
size_t pageNumber = 0;
for (; pageNumber < printContext.pageCount(); pageNumber++) {
const IntRect& page = printContext.pageRect(pageNumber);
if (page.x() <= left && left < page.maxX() && page.y() <= top &&
top < page.maxY())
return pageNumber;
}
return -1;
}