Index: views/aura_desktop/aura_desktop_main.cc |
=================================================================== |
--- views/aura_desktop/aura_desktop_main.cc (revision 0) |
+++ views/aura_desktop/aura_desktop_main.cc (revision 0) |
@@ -0,0 +1,106 @@ |
+// Copyright (c) 2011 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 "aura/desktop.h" |
+#include "aura/desktop_host.h" |
+#include "aura/window.h" |
+#include "aura/window_delegate.h" |
+#include "base/at_exit.h" |
+#include "base/command_line.h" |
+#include "base/i18n/icu_util.h" |
+#include "base/memory/scoped_ptr.h" |
+#include "base/message_loop.h" |
+#include "third_party/skia/include/core/SkXfermode.h" |
+#include "ui/base/resource/resource_bundle.h" |
+#include "ui/base/ui_base_paths.h" |
+#include "ui/gfx/canvas.h" |
+#include "ui/gfx/canvas_skia.h" |
+#include "ui/gfx/rect.h" |
+#include "views/widget/widget.h" |
+ |
+namespace { |
+ |
+// Trivial WindowDelegate implementation that draws a colored background. |
+class DemoWindowDelegate : public aura::WindowDelegate { |
+ public: |
+ explicit DemoWindowDelegate(SkColor color) : color_(color) {} |
+ |
+ virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE { |
+ canvas->AsCanvasSkia()->drawColor(color_, SkXfermode::kSrc_Mode); |
+ } |
+ |
+ private: |
+ SkColor color_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(DemoWindowDelegate); |
+}; |
+ |
+class TestView : public views::View { |
+ public: |
+ TestView() {} |
+ virtual ~TestView() {} |
+ |
+ private: |
+ // Overridden from views::View: |
+ virtual void OnPaint(gfx::Canvas* canvas) { |
+ canvas->FillRectInt(SK_ColorYELLOW, 0, 0, width(), height()); |
+ } |
+ |
+ DISALLOW_COPY_AND_ASSIGN(TestView); |
+}; |
+ |
+} // namespace |
+ |
+int main(int argc, char** argv) { |
+ CommandLine::Init(argc, argv); |
+ |
+ // The exit manager is in charge of calling the dtors of singleton objects. |
+ base::AtExitManager exit_manager; |
+ |
+ ui::RegisterPathProvider(); |
+ icu_util::Initialize(); |
+ ResourceBundle::InitSharedInstance("en-US"); |
+ |
+#if defined(USE_X11) |
+ base::MessagePumpX::DisableGtkMessagePump(); |
+#endif |
+ |
+ aura::Desktop::GetInstance(); |
+ |
+ // Create a hierarchy of test windows. |
+ DemoWindowDelegate window_delegate1(SK_ColorBLUE); |
+ aura::Window window1(&window_delegate1); |
+ window1.set_id(1); |
+ window1.Init(); |
+ window1.SetBounds(gfx::Rect(100, 100, 400, 400), 0); |
+ window1.SetVisibility(aura::Window::VISIBILITY_SHOWN); |
+ window1.SetParent(NULL); |
+ |
+ DemoWindowDelegate window_delegate2(SK_ColorRED); |
+ aura::Window window2(&window_delegate2); |
+ window2.set_id(2); |
+ window2.Init(); |
+ window2.SetBounds(gfx::Rect(200, 200, 350, 350), 0); |
+ window2.SetVisibility(aura::Window::VISIBILITY_SHOWN); |
+ window2.SetParent(NULL); |
+ |
+ DemoWindowDelegate window_delegate3(SK_ColorGREEN); |
+ aura::Window window3(&window_delegate3); |
+ window3.set_id(3); |
+ window3.Init(); |
+ window3.SetBounds(gfx::Rect(10, 10, 50, 50), 0); |
+ window3.SetVisibility(aura::Window::VISIBILITY_SHOWN); |
+ window3.SetParent(&window2); |
+ |
+ views::Widget widget; |
+ views::Widget::InitParams params(views::Widget::InitParams::TYPE_CONTROL); |
+ params.bounds = gfx::Rect(75, 75, 80, 80); |
+ params.parent = &window2; |
+ widget.Init(params); |
+ widget.SetContentsView(new TestView); |
+ |
+ aura::Desktop::GetInstance()->Run(); |
+ return 0; |
+} |
+ |
Property changes on: views\aura_desktop\aura_desktop_main.cc |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |