本文整理汇总了C++中FrameView::adjustOverlappingScrollbarCount方法的典型用法代码示例。如果您正苦于以下问题:C++ FrameView::adjustOverlappingScrollbarCount方法的具体用法?C++ FrameView::adjustOverlappingScrollbarCount怎么用?C++ FrameView::adjustOverlappingScrollbarCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FrameView
的用法示例。
在下文中一共展示了FrameView::adjustOverlappingScrollbarCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setRect
void PlatformScrollbar::setRect(const IntRect& rect)
{
// Get our window resizer rect and see if we overlap. Adjust to avoid the overlap
// if necessary.
IntRect adjustedRect(rect);
if (parent() && parent()->isFrameView()) {
bool overlapsResizer = false;
FrameView* view = static_cast<FrameView*>(parent());
IntRect resizerRect = view->windowResizerRect();
resizerRect.setLocation(view->convertFromContainingWindow(resizerRect.location()));
if (rect.intersects(resizerRect)) {
if (orientation() == HorizontalScrollbar) {
int overlap = rect.right() - resizerRect.x();
if (overlap > 0 && resizerRect.right() >= rect.right()) {
adjustedRect.setWidth(rect.width() - overlap);
overlapsResizer = true;
}
} else {
int overlap = rect.bottom() - resizerRect.y();
if (overlap > 0 && resizerRect.bottom() >= rect.bottom()) {
adjustedRect.setHeight(rect.height() - overlap);
overlapsResizer = true;
}
}
}
if (overlapsResizer != m_overlapsResizer) {
m_overlapsResizer = overlapsResizer;
view->adjustOverlappingScrollbarCount(m_overlapsResizer ? 1 : -1);
}
}
setFrameGeometry(adjustedRect);
}