1// Copyright (c) 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 "chrome/browser/chromeos/views/copy_background.h"
6
7#include "base/logging.h"
8#include "ui/gfx/canvas.h"
9#include "views/background.h"
10#include "views/view.h"
11
12namespace chromeos {
13
14CopyBackground::CopyBackground(views::View* copy_from)
15    : background_owner_(copy_from) {
16  DCHECK(background_owner_);
17  DCHECK(background_owner_->background());
18}
19
20void CopyBackground::Paint(gfx::Canvas* canvas, views::View* view) const {
21  const Background* background = background_owner_->background();
22  DCHECK(background);
23  gfx::Point origin(0, 0);
24  views::View::ConvertPointToView(view,
25                                  background_owner_,
26                                  &origin);
27  canvas->Save();
28  // Move the origin and paint as if it's paint onto the owner.
29  canvas->TranslateInt(-origin.x(), -origin.y());
30  background->Paint(canvas, background_owner_);
31  canvas->Restore();
32}
33
34}  // namespace chromeos
35