这篇教程C++ toRenderText函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中toRenderText函数的典型用法代码示例。如果您正苦于以下问题:C++ toRenderText函数的具体用法?C++ toRenderText怎么用?C++ toRenderText使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了toRenderText函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: updateListMarkerNumbersvoid 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: reattachvoid 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: ASSERTvoid 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: checkCharDataOperationvoid 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: dataPassRefPtr<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: hitTestFlowbool 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: createNewPassRefPtr<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: detachvoid 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: RenderSelectionInfoBaseRenderSelectionInfo::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: ASSERTvoid 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: toRenderTextvoid 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: BidiCharacterRunBidiRun::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: writeCounterValuesFromChildrenstatic 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: recalcTextStylevoid 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: recalcTextStylebool 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: DCHECKint 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: toRenderTextvoid 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: toRenderTextvoid 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: renderervoid 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: detachvoid 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: createstd::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: toRenderTextvoid 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: documentvoid 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函数代码示例 |