| Index: services/ui/demo/mus_demo.h
|
| diff --git a/services/ui/demo/mus_demo.h b/services/ui/demo/mus_demo.h
|
| index 941b2387be42874fd4287f2006f32215ba625cf4..5d7a19c029d9a20b0bb7ef527e22fd0e187adb37 100644
|
| --- a/services/ui/demo/mus_demo.h
|
| +++ b/services/ui/demo/mus_demo.h
|
| @@ -17,6 +17,7 @@
|
| #include "services/service_manager/public/cpp/service.h"
|
| #include "services/ui/public/cpp/window_manager_delegate.h"
|
| #include "services/ui/public/cpp/window_tree_client_delegate.h"
|
| +#include "services/ui/public/interfaces/window_tree_host.mojom.h"
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| #include "ui/display/screen_base.h"
|
|
|
| @@ -37,6 +38,8 @@ class MusDemo : public service_manager::Service,
|
| ~MusDemo() override;
|
|
|
| private:
|
| + struct WindowTreeData;
|
| +
|
| // service_manager::Service:
|
| void OnStart() override;
|
| bool OnConnect(const service_manager::ServiceInfo& remote_info,
|
| @@ -69,33 +72,24 @@ class MusDemo : public service_manager::Service,
|
| const base::Callback<void(bool)>& on_done) override;
|
| void OnWmCancelMoveLoop(Window* window) override;
|
|
|
| - // Allocate a bitmap the same size as the window to draw into.
|
| - void AllocBitmap();
|
| + // Creates a new WindowTreeHost and adds its context to |window_tree_datas_|.
|
| + void AddWindowTreeHost();
|
| +
|
| + // Sets up a timer to regularly draw frames to |window|.
|
| + void BeginDrawingFrames(Window* window);
|
|
|
| // Draws one frame, incrementing the rotation angle.
|
| - void DrawFrame();
|
| + void DrawFrame(WindowTreeData* data);
|
| +
|
| + bool external_window_mode_;
|
|
|
| - Window* window_ = nullptr;
|
| - std::unique_ptr<WindowTreeClient> window_tree_client_;
|
| std::unique_ptr<GpuService> gpu_service_;
|
|
|
| // Dummy screen required to be the screen instance.
|
| std::unique_ptr<display::ScreenBase> screen_;
|
|
|
| - // Used to send frames to mus.
|
| - std::unique_ptr<BitmapUploader> uploader_;
|
| -
|
| - // Bitmap that is the same size as our client window area.
|
| - SkBitmap bitmap_;
|
| -
|
| - // Timer for calling DrawFrame().
|
| - base::RepeatingTimer timer_;
|
| -
|
| - // Current rotation angle for drawing.
|
| - double angle_ = 0.0;
|
| -
|
| - // Last time a frame was drawn.
|
| - base::TimeTicks last_draw_frame_time_;
|
| + // One WindowTreeData for each WindowTreeHost.
|
| + std::vector<std::unique_ptr<WindowTreeData>> window_tree_datas_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MusDemo);
|
| };
|
|
|