예제 #1
0
 Element* next()
 {
     Element* current = m_currentElement;
     ASSERT(current);
     if (onlyRoots)
         m_currentElement = nextInternal(ElementTraversal::nextSkippingChildren(*m_currentElement, &m_rootNode));
     else
         m_currentElement = nextInternal(ElementTraversal::next(*m_currentElement, &m_rootNode));
     return current;
 }
 Node* next()
 {
     Node* current = m_currentElement;
     ASSERT(current);
     m_currentElement = nextInternal(ElementTraversal::nextSkippingChildren(m_currentElement, m_rootNode));
     return current;
 }
예제 #3
0
le_bool GlyphIterator::findFeatureTag()
{
    while (nextInternal()) {
        if (hasFeatureTag()) {
            prevInternal();
            return TRUE;
        }
    }

    return FALSE;
}
le_bool GlyphIterator::findFeatureTag()
{
  //glyphGroup = 0;

    while (nextInternal()) {
        if (hasFeatureTag(FALSE)) {
            LEErrorCode success = LE_NO_ERROR;

            glyphGroup = (glyphStorage.getAuxData(position, success) & LE_GLYPH_GROUP_MASK);
            return TRUE;
        }
    }

    return FALSE;
}
예제 #5
0
void GlyphIterator::resetCursiveLastExitPoint()
{
    if ((lookupFlags & lfBaselineIsLogicalEnd) != 0 && cursiveFirstPosition >= 0 && cursiveLastPosition >= 0) {
        le_int32 savePosition = position, saveLimit = nextLimit;

        position  = cursiveFirstPosition - direction;
        nextLimit = cursiveLastPosition  + direction;

        while (nextInternal()) {
            glyphPositionAdjustments[position].adjustYPlacement(-cursiveBaselineAdjustment);
        }

        position  = savePosition;
        nextLimit = saveLimit;
    }

    cursiveLastPosition       = -1;
    cursiveFirstPosition      = -1;
    cursiveBaselineAdjustment =  0;
}
예제 #6
0
 ClassElementList(ContainerNode& rootNode, const AtomicString& className)
     : m_className(className)
     , m_rootNode(rootNode)
     , m_currentElement(nextInternal(ElementTraversal::firstWithin(rootNode))) { }
 explicit ClassRootNodeList(Node* rootNode, const AtomicString& className)
     : m_className(className)
     , m_rootNode(rootNode)
     , m_currentElement(nextInternal(ElementTraversal::firstWithin(rootNode))) { }
le_bool GlyphIterator::next(le_uint32 delta)
{
    return nextInternal(delta) && hasFeatureTag(TRUE);
}