Index: mojo/services/gfx/composition/interfaces/renderers.mojom |
diff --git a/mojo/services/gfx/composition/interfaces/renderers.mojom b/mojo/services/gfx/composition/interfaces/renderers.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3d9eb4700c5272008d2572830c19fec54f0a22dd |
--- /dev/null |
+++ b/mojo/services/gfx/composition/interfaces/renderers.mojom |
@@ -0,0 +1,38 @@ |
+// 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. |
+ |
+[DartPackage="mojo_services"] |
+module mojo.gfx.composition; |
+ |
+import "mojo/services/geometry/interfaces/geometry.mojom"; |
+import "mojo/services/gfx/composition/interfaces/hit_tests.mojom"; |
+import "mojo/services/gfx/composition/interfaces/scene_token.mojom"; |
+ |
+// The renderer is a service which renders a scene graph to a display. |
+// |
+// Use |Compositor.CreateRenderer()| to create a renderer. |
+interface Renderer { |
+ // Sets the scene to be displayed by the renderer. |
+ // |
+ // The |size| specifies the size of the output. |
+ // |
+ // The |scene_token| specifies the scene which will be drawn as the |
+ // root of the scene graph. |
+ // |
+ // The |scene_version| specifies the version of the scene to render, |
+ // Use |kSceneVersionNone| to request the most recently published |
+ // version of the scene if synchronization is unimportant. |
+ // |
+ // The |viewport| specifies the portion of the scene to render. |
+ // |
+ // It is an error to create a renderer with an invalid |scene_token| |
+ // or |size|; the connection will be closed. |
+ // TODO: make this an event instead |
+ SetRootScene(SceneToken scene_token, uint32 scene_version, |
+ mojo.Rect viewport); |
+ |
+ // Provides an interface which can be used to perform hit tests on the |
+ // contents of the renderer's scene graph. |
+ GetHitTester(HitTester& hit_tester); |
+}; |