WebLayerTreeView.cpp [plain text]
#include "config.h"
#include "platform/WebLayerTreeView.h"
#include "GraphicsContext3DPrivate.h"
#include "WebLayerTreeViewImpl.h"
#include "cc/CCLayerTreeHost.h"
#include "platform/WebLayer.h"
#include "platform/WebPoint.h"
#include "platform/WebRect.h"
#include "platform/WebSize.h"
using namespace WebCore;
namespace WebKit {
WebLayerTreeView::Settings::operator CCSettings() const
{
CCSettings settings;
settings.acceleratePainting = acceleratePainting;
settings.showFPSCounter = showFPSCounter;
settings.showPlatformLayerTree = showPlatformLayerTree;
settings.refreshRate = refreshRate;
settings.perTilePainting = perTilePainting;
settings.partialSwapEnabled = partialSwapEnabled;
settings.threadedAnimationEnabled = threadedAnimationEnabled;
return settings;
}
void WebLayerTreeView::reset()
{
m_private.reset(0);
}
bool WebLayerTreeView::isNull() const
{
return !m_private.get();
}
bool WebLayerTreeView::initialize(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings)
{
m_private.reset(WebLayerTreeViewImpl::create(client, root, settings).leakPtr());
return !isNull();
}
void WebLayerTreeView::setSurfaceReady()
{
m_private->setSurfaceReady();
}
void WebLayerTreeView::setRootLayer(WebLayer *root)
{
if (root)
m_private->setRootLayer(*root);
else
m_private->setRootLayer(PassRefPtr<LayerChromium>());
}
int WebLayerTreeView::compositorIdentifier()
{
return m_private->compositorIdentifier();
}
void WebLayerTreeView::setViewportSize(const WebSize& viewportSize)
{
m_private->setViewportSize(viewportSize);
}
WebSize WebLayerTreeView::viewportSize() const
{
return WebSize(m_private->viewportSize());
}
void WebLayerTreeView::setBackgroundColor(WebColor color)
{
m_private->setBackgroundColor(color);
}
void WebLayerTreeView::setVisible(bool visible)
{
m_private->setVisible(visible);
}
void WebLayerTreeView::setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum)
{
m_private->setPageScaleFactorAndLimits(pageScaleFactor, minimum, maximum);
}
void WebLayerTreeView::startPageScaleAnimation(const WebPoint& scroll, bool useAnchor, float newPageScale, double durationSec)
{
m_private->startPageScaleAnimation(IntSize(scroll.x, scroll.y), useAnchor, newPageScale, durationSec);
}
void WebLayerTreeView::setNeedsAnimate()
{
m_private->setNeedsAnimate();
}
void WebLayerTreeView::setNeedsRedraw()
{
m_private->setNeedsRedraw();
}
bool WebLayerTreeView::commitRequested() const
{
return m_private->commitRequested();
}
void WebLayerTreeView::composite()
{
if (CCProxy::hasImplThread())
m_private->setNeedsCommit();
else
m_private->composite();
}
void WebLayerTreeView::updateAnimations(double frameBeginTime)
{
m_private->updateAnimations(frameBeginTime);
}
bool WebLayerTreeView::compositeAndReadback(void *pixels, const WebRect& rect)
{
return m_private->compositeAndReadback(pixels, rect);
}
void WebLayerTreeView::finishAllRendering()
{
m_private->finishAllRendering();
}
WebGraphicsContext3D* WebLayerTreeView::context()
{
return GraphicsContext3DPrivate::extractWebGraphicsContext3D(m_private->context());
}
void WebLayerTreeView::loseCompositorContext(int numTimes)
{
m_private->loseContext(numTimes);
}
}