| Index: media/tools/shader_bench/window.h
|
| diff --git a/media/tools/shader_bench/window.h b/media/tools/shader_bench/window.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b17786a8ff287db4c69b7fb26a01a6274fd1b029
|
| --- /dev/null
|
| +++ b/media/tools/shader_bench/window.h
|
| @@ -0,0 +1,60 @@
|
| +// 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.
|
| +
|
| +#ifndef MEDIA_TOOLS_SHADER_BENCH_WINDOW_H_
|
| +#define MEDIA_TOOLS_SHADER_BENCH_WINDOW_H_
|
| +
|
| +#include "gfx/native_widget_types.h"
|
| +
|
| +class Painter;
|
| +class Task;
|
| +
|
| +namespace media {
|
| +
|
| +class Window {
|
| + public:
|
| + Window(int width, int height);
|
| +
|
| + // Creates and returns a handle to a native window of the given dimensions.
|
| + gfx::NativeWindow CreateNativeWindow(int width, int height);
|
| +
|
| + // Returns the NPAPI plugin window handle of the window.
|
| + gfx::PluginWindowHandle PluginWindow();
|
| +
|
| + // Kicks off frame painting with the given limit, painter, and
|
| + // callback to run when painting task is complete.
|
| + void Start(int limit, Task* done_task, Painter* painter);
|
| +
|
| + // Called when window is expected to paint self.
|
| + void OnPaint();
|
| +
|
| + // Main loop for window.
|
| + void MainLoop();
|
| +
|
| + private:
|
| + // Task to run when frame painting is completed. Will be deleted after
|
| + // running.
|
| + Task* done_task_;
|
| +
|
| + // Reference to painter Window uses to paint frames.
|
| + Painter* painter_;
|
| +
|
| + // Number of frames to paint before closing the window.
|
| + int limit_;
|
| +
|
| + // Number of frames currently painted.
|
| + int count_;
|
| +
|
| + // True if the window is painting video frames to the screen, false otherwise.
|
| + bool running_;
|
| +
|
| + // This window's native handle.
|
| + gfx::NativeWindow window_handle_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(Window);
|
| +};
|
| +
|
| +} // namespace media
|
| +
|
| +#endif // MEDIA_TOOLS_SHADER_BENCH_WINDOW_H_
|
|
|