本文整理汇总了C++中WebLocalFrameImpl::traverseNextLocal方法的典型用法代码示例。如果您正苦于以下问题:C++ WebLocalFrameImpl::traverseNextLocal方法的具体用法?C++ WebLocalFrameImpl::traverseNextLocal怎么用?C++ WebLocalFrameImpl::traverseNextLocal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebLocalFrameImpl
的用法示例。
在下文中一共展示了WebLocalFrameImpl::traverseNextLocal方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: selectNearestFindMatch
int TextFinder::selectNearestFindMatch(const WebFloatPoint& point, WebRect* selectionRect)
{
TextFinder* bestFinder = nullptr;
int indexInBestFrame = -1;
float distanceInBestFrame = FLT_MAX;
for (WebLocalFrameImpl* frame = &ownerFrame(); frame; frame = toWebLocalFrameImpl(frame->traverseNextLocal(false))) {
float distanceInFrame;
TextFinder& finder = frame->ensureTextFinder();
int indexInFrame = finder.nearestFindMatch(point, distanceInFrame);
if (distanceInFrame < distanceInBestFrame) {
bestFinder = &finder;
indexInBestFrame = indexInFrame;
distanceInBestFrame = distanceInFrame;
}
}
if (indexInBestFrame != -1)
return bestFinder->selectFindMatch(static_cast<unsigned>(indexInBestFrame), selectionRect);
return -1;
}
示例2: ordinalOfFirstMatchForFrame
int TextFinder::ordinalOfFirstMatchForFrame(WebLocalFrameImpl* frame) const
{
int ordinal = 0;
WebLocalFrameImpl* mainFrameImpl = ownerFrame().viewImpl()->mainFrameImpl();
// Iterate from the main frame up to (but not including) |frame| and
// add up the number of matches found so far.
for (WebLocalFrameImpl* it = mainFrameImpl; it != frame; it = toWebLocalFrameImpl(it->traverseNextLocal(true))) {
TextFinder& finder = it->ensureTextFinder();
if (finder.m_lastMatchCount > 0)
ordinal += finder.m_lastMatchCount;
}
return ordinal;
}
示例3: findMatchRects
void TextFinder::findMatchRects(WebVector<WebFloatRect>& outputRects)
{
Vector<WebFloatRect> matchRects;
for (WebLocalFrameImpl* frame = &ownerFrame(); frame; frame = toWebLocalFrameImpl(frame->traverseNextLocal(false)))
frame->ensureTextFinder().appendFindMatchRects(matchRects);
outputRects = matchRects;
}