render_surface.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright 2010 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "cc/layers/render_surface.h" 6 7#include "cc/base/math_util.h" 8#include "cc/layers/layer.h" 9#include "ui/gfx/transform.h" 10 11namespace cc { 12 13RenderSurface::RenderSurface(Layer* owning_layer) 14 : owning_layer_(owning_layer), 15 draw_opacity_(1), 16 draw_opacity_is_animating_(false), 17 target_surface_transforms_are_animating_(false), 18 screen_space_transforms_are_animating_(false), 19 is_clipped_(false), 20 nearest_ancestor_that_moves_pixels_(NULL) {} 21 22RenderSurface::~RenderSurface() {} 23 24gfx::RectF RenderSurface::DrawableContentRect() const { 25 gfx::RectF drawable_content_rect = 26 MathUtil::MapClippedRect(draw_transform_, content_rect_); 27 if (owning_layer_->has_replica()) 28 drawable_content_rect.Union( 29 MathUtil::MapClippedRect(replica_draw_transform_, content_rect_)); 30 return drawable_content_rect; 31} 32 33} // namespace cc 34