int InlineBox::logicalHeight() const { //SISO_HTMLComposer Start int result = 0; int lineHeightAdjust = root()->isLineHeightAdjust()? root()->lineHeightAdjustValue() : 0; //SISO_HTMLComposer End #if ENABLE(SVG) if (hasVirtualLogicalHeight()) return virtualLogicalHeight(); #endif //SISO_HTMLComposer Start if (renderer()->isText()) { result = m_isText ? renderer()->style(m_firstLine)->fontMetrics().height() : 0; result += lineHeightAdjust; return result; } if (renderer()->isBox() && parent()) { result = isHorizontal() ? toRenderBox(m_renderer)->height() : toRenderBox(m_renderer)->width(); result += lineHeightAdjust; return result; } //SISO_HTMLComposer End ASSERT(isInlineFlowBox()); RenderBoxModelObject* flowObject = boxModelObject(); const FontMetrics& fontMetrics = renderer()->style(m_firstLine)->fontMetrics(); result = fontMetrics.height(); if (parent()) result += flowObject->borderAndPaddingLogicalHeight(); //SISO_HTMLComposer Start result += lineHeightAdjust; //SISO_HTMLComposer End return result; }
float InlineBox::logicalHeight() const { if (hasVirtualLogicalHeight()) return virtualLogicalHeight(); if (renderer()->isText()) return m_bitfields.isText() ? renderer()->style(isFirstLineStyle())->fontMetrics().height() : 0; if (renderer()->isBox() && parent()) return isHorizontal() ? toRenderBox(m_renderer)->height() : toRenderBox(m_renderer)->width(); ASSERT(isInlineFlowBox()); RenderBoxModelObject* flowObject = boxModelObject(); const FontMetrics& fontMetrics = renderer()->style(isFirstLineStyle())->fontMetrics(); float result = fontMetrics.height(); if (parent()) result += flowObject->borderAndPaddingLogicalHeight(); return result; }
float InlineBox::logicalHeight() const { if (hasVirtualLogicalHeight()) return virtualLogicalHeight(); const RenderStyle& lineStyle = this->lineStyle(); if (renderer().isTextOrLineBreak()) return behavesLikeText() ? lineStyle.fontMetrics().height() : 0; if (renderer().isBox() && parent()) return isHorizontal() ? toRenderBox(renderer()).height() : toRenderBox(renderer()).width(); ASSERT(isInlineFlowBox()); RenderBoxModelObject* flowObject = boxModelObject(); const FontMetrics& fontMetrics = lineStyle.fontMetrics(); float result = fontMetrics.height(); if (parent()) result += flowObject->borderAndPaddingLogicalHeight(); return result; }
int InlineBox::logicalHeight() const { #if ENABLE(SVG) if (hasVirtualLogicalHeight()) return virtualLogicalHeight(); #endif if (renderer()->isText()) return m_isText ? renderer()->style(m_firstLine)->fontMetrics().height() : 0; if (renderer()->isBox() && parent()) return isHorizontal() ? toRenderBox(m_renderer)->height() : toRenderBox(m_renderer)->width(); ASSERT(isInlineFlowBox()); RenderBoxModelObject* flowObject = boxModelObject(); const FontMetrics& fontMetrics = renderer()->style(m_firstLine)->fontMetrics(); int result = fontMetrics.height(); if (parent()) result += flowObject->borderAndPaddingLogicalHeight(); return result; }