blob: 6465dcf64e0c847969f4e8a6f2f295bfd3fad7e3 [file] [log] [blame]
// Copyright 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "cc/render_surface.h"
#include "cc/layer.h"
#include "cc/math_util.h"
#include "ui/gfx/transform.h"
namespace cc {
RenderSurface::RenderSurface(Layer* owningLayer)
: m_owningLayer(owningLayer)
, m_drawOpacity(1)
, m_drawOpacityIsAnimating(false)
, m_targetSurfaceTransformsAreAnimating(false)
, m_screenSpaceTransformsAreAnimating(false)
, m_isClipped(false)
, m_nearestAncestorThatMovesPixels(0)
{
}
RenderSurface::~RenderSurface()
{
}
gfx::RectF RenderSurface::drawableContentRect() const
{
gfx::RectF drawableContentRect = MathUtil::mapClippedRect(m_drawTransform, m_contentRect);
if (m_owningLayer->hasReplica())
drawableContentRect.Union(MathUtil::mapClippedRect(m_replicaDrawTransform, m_contentRect));
return drawableContentRect;
}
} // namespace cc