This source file includes following definitions.
- m_computingFontSize
- m_computingFontSize
- m_computingFontSize
- zoom
- viewportWidthPercent
- viewportHeightPercent
- viewportMinPercent
- viewportMaxPercent
#include "config.h"
#include "core/css/CSSToLengthConversionData.h"
#include "core/rendering/RenderView.h"
#include "core/rendering/style/RenderStyle.h"
namespace WebCore {
CSSToLengthConversionData::CSSToLengthConversionData(const RenderStyle* style, const RenderStyle* rootStyle, const RenderView* renderView, float zoom, bool computingFontSize)
: m_style(style)
, m_rootStyle(rootStyle)
, m_viewportWidth(renderView ? renderView->layoutViewportWidth() : 0)
, m_viewportHeight(renderView ? renderView->layoutViewportHeight() : 0)
, m_zoom(zoom)
, m_useEffectiveZoom(false)
, m_computingFontSize(computingFontSize)
{
ASSERT(zoom > 0);
}
CSSToLengthConversionData::CSSToLengthConversionData(const RenderStyle* style, const RenderStyle* rootStyle, const RenderView* renderView, bool computingFontSize)
: m_style(style)
, m_rootStyle(rootStyle)
, m_viewportWidth(renderView ? renderView->layoutViewportWidth() : 0)
, m_viewportHeight(renderView ? renderView->layoutViewportHeight() : 0)
, m_useEffectiveZoom(true)
, m_computingFontSize(computingFontSize)
{
}
CSSToLengthConversionData::CSSToLengthConversionData(const RenderStyle* style, const RenderStyle* rootStyle, float viewportWidth, float viewportHeight, float zoom, bool computingFontSize)
: m_style(style)
, m_rootStyle(rootStyle)
, m_viewportWidth(viewportWidth)
, m_viewportHeight(viewportHeight)
, m_zoom(zoom)
, m_useEffectiveZoom(false)
, m_computingFontSize(computingFontSize)
{
ASSERT(zoom > 0);
}
float CSSToLengthConversionData::zoom() const
{
if (m_useEffectiveZoom)
return m_style ? m_style->effectiveZoom() : 1;
return m_zoom;
}
double CSSToLengthConversionData::viewportWidthPercent() const
{
m_style->setHasViewportUnits();
return m_viewportWidth / 100;
}
double CSSToLengthConversionData::viewportHeightPercent() const
{
m_style->setHasViewportUnits();
return m_viewportHeight / 100;
}
double CSSToLengthConversionData::viewportMinPercent() const
{
m_style->setHasViewportUnits();
return std::min(m_viewportWidth, m_viewportHeight) / 100;
}
double CSSToLengthConversionData::viewportMaxPercent() const
{
m_style->setHasViewportUnits();
return std::max(m_viewportWidth, m_viewportHeight) / 100;
}
}