Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2993)

Unified Diff: cc/output/overlay_renderer.h

Issue 197223003: Start of hardware overlay support in CC with Ubercompositor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/output/overlay_renderer.h
diff --git a/cc/output/overlay_renderer.h b/cc/output/overlay_renderer.h
new file mode 100644
index 0000000000000000000000000000000000000000..7bcc175451d0db7f010b59f130d6758043bf71b0
--- /dev/null
+++ b/cc/output/overlay_renderer.h
@@ -0,0 +1,37 @@
+// Copyright 2014 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 CC_OUTPUT_OVERLAY_RENDERER_H_
+#define CC_OUTPUT_OVERLAY_RENDERER_H_
+
+#include "base/basictypes.h"
+#include "base/memory/scoped_ptr.h"
+#include "cc/base/cc_export.h"
+#include "cc/quads/render_pass.h"
+
+namespace cc {
+class OutputSurface;
+class ResourceProvider;
+
+class CC_EXPORT OverlayRenderer {
piman 2014/03/14 03:42:34 Naming nit: OverlayRenderer sounds like it derives
enne (OOO) 2014/03/14 18:13:41 OverlayProcessor? OverlayPassProcessor?
alexst (slow to review) 2014/03/14 19:54:22 Maybe OverlayStrategyProcessor?
+ public:
+ class Strategy {
+ public:
+ virtual ~Strategy() {}
+ virtual bool Attempt(RenderPassList* render_passes_in_draw_order) = 0;
piman 2014/03/14 03:42:34 Could you document a bit the contract? It sounds l
+ };
+ virtual ~OverlayRenderer();
+ OverlayRenderer(OutputSurface* surface, ResourceProvider* resource_provider);
+
+ void ProcessForOverlays(RenderPassList* render_passes_in_draw_order);
+
+ private:
+ typedef ScopedPtrVector<Strategy> StrategyList;
+ StrategyList strategies_;
+ DISALLOW_COPY_AND_ASSIGN(OverlayRenderer);
+};
+
+} // namespace cc
+
+#endif // CC_OUTPUT_OVERLAY_RENDERER_H_

Powered by Google App Engine
This is Rietveld 408576698