您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ toRenderText函数代码示例

51自学网 2021-06-03 08:53:31
  C++
这篇教程C++ toRenderText函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中toRenderText函数的典型用法代码示例。如果您正苦于以下问题:C++ toRenderText函数的具体用法?C++ toRenderText怎么用?C++ toRenderText使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了toRenderText函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: updateListMarkerNumbers

void RenderContainer::addChild(RenderObject* newChild, RenderObject* beforeChild){    bool needsTable = false;    if (newChild->isListItem())        updateListMarkerNumbers(beforeChild ? beforeChild : children()->lastChild());    else if (newChild->isTableCol() && newChild->style()->display() == TABLE_COLUMN_GROUP)        needsTable = !isTable();    else if (newChild->isRenderBlock() && newChild->style()->display() == TABLE_CAPTION)        needsTable = !isTable();    else if (newChild->isTableSection())        needsTable = !isTable();    else if (newChild->isTableRow())        needsTable = !isTableSection();    else if (newChild->isTableCell()) {        needsTable = !isTableRow();        // I'm not 100% sure this is the best way to fix this, but without this        // change we recurse infinitely when trying to render the CSS2 test page:        // http://www.bath.ac.uk/%7Epy8ieh/internet/eviltests/htmlbodyheadrendering2.html.        // See Radar 2925291.        if (needsTable && isTableCell() && !children()->firstChild() && !newChild->isTableCell())            needsTable = false;    }    if (needsTable) {        RenderTable* table;        RenderObject* afterChild = beforeChild ? beforeChild->previousSibling() : children()->lastChild();        if (afterChild && afterChild->isAnonymous() && afterChild->isTable())            table = static_cast<RenderTable*>(afterChild);        else {            table = new (renderArena()) RenderTable(document() /* is anonymous */);            RefPtr<RenderStyle> newStyle = RenderStyle::create();            newStyle->inheritFrom(style());            newStyle->setDisplay(TABLE);            table->setStyle(newStyle.release());            addChild(table, beforeChild);        }        table->addChild(newChild);    } else {        // just add it...        children()->insertChildNode(this, newChild, beforeChild);    }        if (newChild->isText() && newChild->style()->textTransform() == CAPITALIZE) {        RefPtr<StringImpl> textToTransform = toRenderText(newChild)->originalText();        if (textToTransform)            toRenderText(newChild)->setText(textToTransform.release(), true);    }}
开发者ID:marshall,项目名称:webkit_titanium,代码行数:49,


示例2: reattach

void CharacterData::updateRenderer(unsigned offsetOfReplacedData, unsigned lengthOfReplacedData){    if ((!renderer() || !rendererIsNeeded(NodeRenderingContext(this, renderer()->style()))) && attached())        reattach();    else if (renderer())        toRenderText(renderer())->setTextWithOffset(m_data.impl(), offsetOfReplacedData, lengthOfReplacedData);}
开发者ID:yoavweiss,项目名称:RespImg-WebKit,代码行数:7,


示例3: ASSERT

void TextAutoSizingValue::addNode(Node* node, float size){    ASSERT(node);    RenderText* renderText = toRenderText(node->renderer());    renderText->setCandidateComputedTextSize(size);    m_autoSizedNodes.add(node);}
开发者ID:JefferyJeffery,项目名称:webkit,代码行数:7,


示例4: checkCharDataOperation

void CharacterData::replaceData(unsigned offset, unsigned count, const String& arg, ExceptionCode& ec){    checkCharDataOperation(offset, ec);    if (ec)        return;    unsigned realCount;    if (offset + count > length())        realCount = length() - offset;    else        realCount = count;    String newStr = m_data;    newStr.remove(offset, realCount);    newStr.insert(arg, offset);    RefPtr<StringImpl> oldStr = m_data;    m_data = newStr.impl();    if ((!renderer() || !rendererIsNeeded(renderer()->style())) && attached()) {        detach();        attach();    } else if (renderer())        toRenderText(renderer())->setTextWithOffset(m_data, offset, count);        dispatchModifiedEvent(oldStr.get());        // update the markers for spell checking and grammar checking    document()->textRemoved(this, offset, realCount);    document()->textInserted(this, offset, arg.length());}
开发者ID:flwh,项目名称:Alcatel_OT_985_kernel,代码行数:31,


示例5: data

PassRefPtr<Text> Text::splitText(unsigned offset, ExceptionState& exceptionState){    // IndexSizeError: Raised if the specified offset is negative or greater than    // the number of 16-bit units in data.    if (offset > length()) {        exceptionState.throwDOMException(IndexSizeError, "The offset " + String::number(offset) + " is larger than the Text node's length.");        return 0;    }    EventQueueScope scope;    String oldStr = data();    RefPtr<Text> newText = cloneWithData(oldStr.substring(offset));    setDataWithoutUpdate(oldStr.substring(0, offset));    didModifyData(oldStr);    if (parentNode())        parentNode()->insertBefore(newText.get(), nextSibling(), exceptionState);    if (exceptionState.hadException())        return 0;    if (renderer())        toRenderText(renderer())->setTextWithOffset(dataImpl(), 0, oldStr.length());    if (parentNode())        document().didSplitTextNode(this);    return newText.release();}
开发者ID:glenkim-dev,项目名称:blink-crosswalk,代码行数:29,


示例6: hitTestFlow

bool hitTestFlow(const RenderBlockFlow& flow, const Layout& layout, const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction){    if (hitTestAction != HitTestForeground)        return false;    if (!layout.runCount())        return false;    RenderStyle& style = flow.style();    if (style.visibility() != VISIBLE || style.pointerEvents() == PE_NONE)        return false;    RenderText& textRenderer = toRenderText(*flow.firstChild());    LayoutRect rangeRect = locationInContainer.boundingBox();    rangeRect.moveBy(-accumulatedOffset);    auto resolver = lineResolver(flow, layout);    auto range = resolver.rangeForRect(rangeRect);    for (auto it = range.begin(), end = range.end(); it != end; ++it) {        auto lineRect = *it;        lineRect.moveBy(accumulatedOffset);        if (!locationInContainer.intersects(lineRect))            continue;        textRenderer.updateHitTestResult(result, locationInContainer.point() - toLayoutSize(accumulatedOffset));        if (!result.addNodeToRectBasedTestResult(textRenderer.textNode(), request, locationInContainer, lineRect))            return true;    }    return false;}
开发者ID:sinoory,项目名称:webv8,代码行数:31,


示例7: createNew

PassRefPtr<Text> Text::splitText(unsigned offset, ExceptionCode& ec){    ec = 0;    // INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than    // the number of 16-bit units in data.    if (offset > m_data->length()) {        ec = INDEX_SIZE_ERR;        return 0;    }    RefPtr<StringImpl> oldStr = m_data;    RefPtr<Text> newText = createNew(oldStr->substring(offset));    m_data = oldStr->substring(0, offset);    dispatchModifiedEvent(oldStr.get());    if (parentNode())        parentNode()->insertBefore(newText.get(), nextSibling(), ec);    if (ec)        return 0;    if (parentNode())        document()->textNodeSplit(this);    if (renderer())        toRenderText(renderer())->setText(m_data);    return newText.release();}
开发者ID:boyliang,项目名称:ComponentSuperAccessor,代码行数:30,


示例8: detach

void CharacterData::updateRenderer(unsigned offsetOfReplacedData, unsigned lengthOfReplacedData){    if ((!renderer() || !rendererIsNeeded(renderer()->style())) && attached()) {        detach();        attach();    } else if (renderer())        toRenderText(renderer())->setTextWithOffset(m_data, offsetOfReplacedData, lengthOfReplacedData);}
开发者ID:0omega,项目名称:platform_external_webkit,代码行数:8,


示例9: RenderSelectionInfoBase

RenderSelectionInfo::RenderSelectionInfo(RenderObject& renderer, bool clipToVisibleContent)    : RenderSelectionInfoBase(renderer){    if (renderer.canUpdateSelectionOnRootLineBoxes()) {        if (renderer.isText())            m_rect = toRenderText(renderer).collectSelectionRectsForLineBoxes(m_repaintContainer, clipToVisibleContent, m_collectedSelectionRects);        else            m_rect = renderer.selectionRectForRepaint(m_repaintContainer, clipToVisibleContent);    }}
开发者ID:chenbk85,项目名称:webkit2-wincairo,代码行数:10,


示例10: ASSERT

void RenderRubyRun::getOverhang(bool firstLine, RenderObject* startRenderer, RenderObject* endRenderer, int& startOverhang, int& endOverhang) const{    ASSERT(!needsLayout());    startOverhang = 0;    endOverhang = 0;    RenderRubyBase* rubyBase = this->rubyBase();    RenderRubyText* rubyText = this->rubyText();    if (!rubyBase || !rubyText)        return;    if (!rubyBase->firstRootBox())        return;    int logicalWidth = this->logicalWidth();    int logicalLeftOverhang = numeric_limits<int>::max();    int logicalRightOverhang = numeric_limits<int>::max();    for (RootInlineBox* rootInlineBox = rubyBase->firstRootBox(); rootInlineBox; rootInlineBox = rootInlineBox->nextRootBox()) {        logicalLeftOverhang = min<int>(logicalLeftOverhang, rootInlineBox->logicalLeft());        logicalRightOverhang = min<int>(logicalRightOverhang, logicalWidth - rootInlineBox->logicalRight());    }    startOverhang = style()->isLeftToRightDirection() ? logicalLeftOverhang : logicalRightOverhang;    endOverhang = style()->isLeftToRightDirection() ? logicalRightOverhang : logicalLeftOverhang;    if (!startRenderer || !startRenderer->isText() || startRenderer->style(firstLine)->fontSize() > rubyBase->style(firstLine)->fontSize())        startOverhang = 0;    if (!endRenderer || !endRenderer->isText() || endRenderer->style(firstLine)->fontSize() > rubyBase->style(firstLine)->fontSize())        endOverhang = 0;    // We overhang a ruby only if the neighboring render object is a text.    // We can overhang the ruby by no more than half the width of the neighboring text    // and no more than half the font size.    int halfWidthOfFontSize = rubyText->style(firstLine)->fontSize() / 2;    if (startOverhang)        startOverhang = min<int>(startOverhang, min<int>(toRenderText(startRenderer)->minLogicalWidth(), halfWidthOfFontSize));    if (endOverhang)        endOverhang = min<int>(endOverhang, min<int>(toRenderText(endRenderer)->minLogicalWidth(), halfWidthOfFontSize));}
开发者ID:huningxin,项目名称:blink-crosswalk,代码行数:42,


示例11: toRenderText

void Text::updateTextRenderer(unsigned offsetOfReplacedData, unsigned lengthOfReplacedData){    if (!attached())        return;    RenderText* textRenderer = toRenderText(renderer());    if (!textRenderer || !textRendererIsNeeded(NodeRenderingContext(this, textRenderer->style()))) {        reattach();        return;    }    textRenderer->setTextWithOffset(dataImpl(), offsetOfReplacedData, lengthOfReplacedData);}
开发者ID:IllusionRom-deprecated,项目名称:android_platform_external_chromium_org_third_party_WebKit,代码行数:11,


示例12: BidiCharacterRun

BidiRun::BidiRun(int start, int stop, RenderObject& renderer, BidiContext* context, UCharDirection dir)    : BidiCharacterRun(start, stop, context, dir)    , m_renderer(renderer)    , m_box(nullptr){#ifndef NDEBUG    bidiRunCounter.increment();#endif    ASSERT(!m_renderer.isText() || static_cast<unsigned>(stop) <= toRenderText(m_renderer).textLength());    // Stored in base class to save space.    m_hasHyphen = false;}
开发者ID:Wrichik1999,项目名称:webkit,代码行数:12,


示例13: writeCounterValuesFromChildren

static void writeCounterValuesFromChildren(TextStream& stream, RenderObject* parent, bool& isFirstCounter){    for (RenderObject* child = parent->firstChild(); child; child = child->nextSibling()) {        if (child->isCounter()) {            if (!isFirstCounter)                stream << " ";            isFirstCounter = false;            String str(toRenderText(child)->text());            stream << str;        }    }}
开发者ID:DreamOnTheGo,项目名称:src,代码行数:12,


示例14: recalcTextStyle

void Text::recalcTextStyle(StyleRecalcChange change, Text* nextTextSibling){    if (RenderText* renderer = toRenderText(this->renderer())) {        if (change != NoChange || needsStyleRecalc())            renderer->setStyle(document().ensureStyleResolver().styleForText(this));        if (needsStyleRecalc())            renderer->setText(dataImpl());        clearNeedsStyleRecalc();    } else if (needsStyleRecalc() || needsWhitespaceRenderer()) {        reattach();        reattachWhitespaceSiblings(nextTextSibling);    }}
开发者ID:glenkim-dev,项目名称:blink-crosswalk,代码行数:13,


示例15: recalcTextStyle

bool Text::recalcTextStyle(StyleChange change){    if (RenderText* renderer = toRenderText(this->renderer())) {        if (change != NoChange || needsStyleRecalc())            renderer->setStyle(document()->styleResolver()->styleForText(this));        if (needsStyleRecalc())            renderer->setText(dataImpl());        clearNeedsStyleRecalc();    } else if (needsStyleRecalc() || needsWhitespaceRenderer()) {        reattach();        return true;    }    return false;}
开发者ID:IllusionRom-deprecated,项目名称:android_platform_external_chromium_org_third_party_WebKit,代码行数:14,


示例16: DCHECK

int Paragraph::absoluteOffsetForPosition(const PositionWithAffinity& position) {  DCHECK(position.renderer());  unsigned offset = 0;  for (RenderObject* object = m_renderView.get(); object; object = object->nextInPreOrder()) {    if (object == position.renderer())      return offset + position.offset();    if (object->isText()) {      RenderText* text = toRenderText(object);      offset += text->textLength();    }  }  DCHECK(false);  return 0;}
开发者ID:aghassemi,项目名称:engine,代码行数:14,


示例17: toRenderText

void Text::updateTextRenderer(unsigned offsetOfReplacedData, unsigned lengthOfReplacedData, RecalcStyleBehavior recalcStyleBehavior){    if (!inActiveDocument())        return;    RenderText* textRenderer = toRenderText(renderer());    if (!textRenderer || !textRendererIsNeeded(*textRenderer->style(), *textRenderer->parent())) {        lazyReattachIfAttached();        // FIXME: Editing should be updated so this is not neccesary.        if (recalcStyleBehavior == DeprecatedRecalcStyleImmediatlelyForEditing)            document().updateStyleIfNeeded();        return;    }    textRenderer->setTextWithOffset(dataImpl(), offsetOfReplacedData, lengthOfReplacedData);}
开发者ID:glenkim-dev,项目名称:blink-crosswalk,代码行数:14,


示例18: toRenderText

void Text::recalcTextStyle(StyleChange change){    RenderText* renderer = toRenderText(this->renderer());    if (change != NoChange && renderer)        renderer->setStyle(document()->ensureStyleResolver()->styleForText(this));    if (needsStyleRecalc()) {        if (renderer)            renderer->setText(dataImpl());        else            reattach();    }    clearNeedsStyleRecalc();}
开发者ID:166MMX,项目名称:openjdk.java.net-openjfx-8u40-rt,代码行数:15,


示例19: renderer

void Text::recalcStyle(StyleChange change){    if (change != NoChange && parentNode()) {        if (renderer())            renderer()->setStyle(parentNode()->renderer()->style());    }    if (needsStyleRecalc()) {        if (renderer()) {            if (renderer()->isText())                toRenderText(renderer())->setText(dataImpl());        } else            reattach();    }    clearNeedsStyleRecalc();}
开发者ID:studiomobile,项目名称:webcore,代码行数:15,


示例20: detach

void CharacterData::appendData(const String& arg, ExceptionCode&){    String newStr = m_data;    newStr.append(arg);    RefPtr<StringImpl> oldStr = m_data;    m_data = newStr.impl();    if ((!renderer() || !rendererIsNeeded(renderer()->style())) && attached()) {        detach();        attach();    } else if (renderer())        toRenderText(renderer())->setTextWithOffset(m_data, oldStr->length(), 0);        dispatchModifiedEvent(oldStr.get());}
开发者ID:flwh,项目名称:Alcatel_OT_985_kernel,代码行数:16,


示例21: create

std::unique_ptr<Layout> create(RenderBlockFlow& flow){    Layout::RunVector runs;    unsigned lineCount = 0;    RenderText& textRenderer = toRenderText(*flow.firstChild());    ASSERT(!textRenderer.firstTextBox());    if (textRenderer.is8Bit())        createTextRuns<LChar>(runs, lineCount, flow, textRenderer);    else        createTextRuns<UChar>(runs, lineCount, flow, textRenderer);    textRenderer.clearNeedsLayout();    return Layout::create(runs, lineCount);}
开发者ID:Wrichik1999,项目名称:webkit,代码行数:17,


示例22: toRenderText

void InsertIntoTextNodeCommand::doApply(){    if (!m_node->rendererIsEditable())        return;    if (document()->settings() && document()->settings()->passwordEchoEnabled()) {        RenderText* renderText = toRenderText(m_node->renderer());        if (renderText && renderText->isSecure())            renderText->momentarilyRevealLastTypedCharacter(m_offset + m_text.length() - 1);    }    ExceptionCode ec;    m_node->insertData(m_offset, m_text, ec);    if (AXObjectCache::accessibilityEnabled())        document()->axObjectCache()->nodeTextChangeNotification(m_node->renderer(), AXObjectCache::AXTextInserted, m_offset, m_text.length());}
开发者ID:13W,项目名称:phantomjs,代码行数:17,


示例23: document

void InsertIntoTextNodeCommand::doApply(){    bool passwordEchoEnabled = document().settings() && document().settings()->passwordEchoEnabled();    if (passwordEchoEnabled)        document().updateLayoutIgnorePendingStylesheets();    if (!m_node->rendererIsEditable())        return;    if (passwordEchoEnabled) {        RenderText* renderText = toRenderText(m_node->renderer());        if (renderText && renderText->isSecure())            renderText->momentarilyRevealLastTypedCharacter(m_offset + m_text.length() - 1);    }    m_node->insertData(m_offset, m_text, IGNORE_EXCEPTION, CharacterData::DeprecatedRecalcStyleImmediatlelyForEditing);}
开发者ID:Drakey83,项目名称:steamlink-sdk,代码行数:17,



注:本文中的toRenderText函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ toSVGElement函数代码示例
C++ toRenderSVGInlineText函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。