| Index: examples/ui/noodles/rasterizer.h
|
| diff --git a/examples/ui/noodles/rasterizer.h b/examples/ui/noodles/rasterizer.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..040c98564638aa222dd95fa3f61180c2306651f3
|
| --- /dev/null
|
| +++ b/examples/ui/noodles/rasterizer.h
|
| @@ -0,0 +1,44 @@
|
| +// Copyright 2015 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 EXAMPLES_UI_NOODLES_RASTERIZER_H_
|
| +#define EXAMPLES_UI_NOODLES_RASTERIZER_H_
|
| +
|
| +#include <memory>
|
| +
|
| +#include "mojo/gpu/gl_context.h"
|
| +#include "mojo/gpu/gl_context_owner.h"
|
| +#include "mojo/public/interfaces/application/application_connector.mojom.h"
|
| +#include "mojo/services/gfx/composition/interfaces/scenes.mojom.h"
|
| +#include "mojo/skia/ganesh_context.h"
|
| +#include "mojo/ui/ganesh_renderer.h"
|
| +
|
| +namespace examples {
|
| +
|
| +class Frame;
|
| +
|
| +// Ganesh-based rasterizer which runs on a separate thread from the view.
|
| +// Calls into this object, including its creation, must be posted to the
|
| +// correct message loop by the view.
|
| +class Rasterizer {
|
| + public:
|
| + Rasterizer(mojo::ApplicationConnectorPtr connector,
|
| + mojo::gfx::composition::ScenePtr scene);
|
| +
|
| + ~Rasterizer();
|
| +
|
| + void PublishFrame(std::unique_ptr<Frame> frame);
|
| +
|
| + private:
|
| + mojo::GLContextOwner gl_context_owner_;
|
| + mojo::skia::GaneshContext ganesh_context_;
|
| + mojo::ui::GaneshRenderer ganesh_renderer_;
|
| + mojo::gfx::composition::ScenePtr scene_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(Rasterizer);
|
| +};
|
| +
|
| +} // namespace examples
|
| +
|
| +#endif // EXAMPLES_UI_NOODLES_RASTERIZER_H_
|
|
|