| // 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 |