| Index: chrome/browser/chromeos/wm_overview_snapshot.cc
|
| ===================================================================
|
| --- chrome/browser/chromeos/wm_overview_snapshot.cc (revision 0)
|
| +++ chrome/browser/chromeos/wm_overview_snapshot.cc (revision 0)
|
| @@ -0,0 +1,80 @@
|
| +// Copyright (c) 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 "chrome/browser/chromeos/wm_overview_snapshot.h"
|
| +
|
| +#include <vector>
|
| +
|
| +#include "app/x11_util.h"
|
| +#include "chrome/browser/browser.h"
|
| +#include "chrome/browser/browser_window.h"
|
| +#include "chrome/browser/chromeos/wm_ipc.h"
|
| +#include "views/border.h"
|
| +#include "views/controls/image_view.h"
|
| +#include "views/controls/label.h"
|
| +#include "views/grid_layout.h"
|
| +
|
| +using views::ColumnSet;
|
| +using views::GridLayout;
|
| +using std::vector;
|
| +
|
| +#if !defined(OS_CHROMEOS)
|
| +#error This file is only meant to be compiled for ChromeOS
|
| +#endif
|
| +
|
| +namespace chromeos {
|
| +
|
| +WmOverviewSnapshot::WmOverviewSnapshot()
|
| + : WidgetGtk(TYPE_WINDOW),
|
| + snapshot_view_(NULL),
|
| + index_(-1),
|
| + configured_snapshot_(false) {
|
| +}
|
| +
|
| +void WmOverviewSnapshot::Init(const gfx::Size& size,
|
| + Browser* browser,
|
| + int index) {
|
| + snapshot_view_ = new views::ImageView();
|
| + MakeTransparent();
|
| +
|
| + snapshot_view_->set_background(
|
| + views::Background::CreateSolidBackground(SK_ColorWHITE));
|
| + snapshot_view_->set_border(
|
| + views::Border::CreateSolidBorder(1, SkColorSetRGB(176, 176, 176)));
|
| +
|
| + WidgetGtk::Init(NULL, gfx::Rect(gfx::Point(0,0), size));
|
| +
|
| + SetContentsView(snapshot_view_);
|
| +
|
| + UpdateIndex(browser, index);
|
| +}
|
| +
|
| +
|
| +void WmOverviewSnapshot::UpdateIndex(Browser* browser, int index) {
|
| + vector<int> params;
|
| + params.push_back(x11_util::GetX11WindowFromGtkWidget(
|
| + GTK_WIDGET(browser->window()->GetNativeHandle())));
|
| + params.push_back(index);
|
| + WmIpc::instance()->SetWindowType(
|
| + GetNativeView(),
|
| + WmIpc::WINDOW_TYPE_CHROME_TAB_SNAPSHOT,
|
| + ¶ms);
|
| + index_ = index;
|
| +}
|
| +
|
| +void WmOverviewSnapshot::SetImage(const SkBitmap& image) {
|
| + CHECK(snapshot_view_) << "Init not called before setting image.";
|
| + snapshot_view_->SetImage(image);
|
| +
|
| + // Reset the bounds to the size of the image.
|
| + gfx::Rect bounds;
|
| + GetBounds(&bounds, false);
|
| + bounds.set_width(image.width());
|
| + bounds.set_height(image.height());
|
| + SetBounds(bounds);
|
| +
|
| + configured_snapshot_ = true;
|
| +}
|
| +
|
| +} // namespace chromeos
|
|
|
| Property changes on: chrome/browser/chromeos/wm_overview_snapshot.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|