1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_OUTPUT_OVERLAY_STRATEGY_UNDERLAY_H_
6 #define CC_OUTPUT_OVERLAY_STRATEGY_UNDERLAY_H_
8 #include "cc/output/overlay_strategy_common.h"
11 class StreamVideoDrawQuad
;
12 class TextureDrawQuad
;
14 // The underlay strategy looks for a video quad without regard to quads above
15 // it. The video is "underlaid" through a black transparent quad substituted
16 // for the video quad. The overlay content can then be blended in by the
17 // hardware under the the scene. This is only valid for overlay contents that
19 class CC_EXPORT OverlayStrategyUnderlay
: public OverlayStrategyCommon
{
21 explicit OverlayStrategyUnderlay(
22 OverlayCandidateValidator
* capability_checker
);
23 bool TryOverlay(OverlayCandidateValidator
* capability_checker
,
24 RenderPassList
* render_passes_in_draw_order
,
25 OverlayCandidateList
* candidate_list
,
26 const OverlayCandidate
& candidate
,
27 QuadList::Iterator candidate_iterator
) override
;
30 DISALLOW_COPY_AND_ASSIGN(OverlayStrategyUnderlay
);
35 #endif // CC_OUTPUT_OVERLAY_STRATEGY_UNDERLAY_H_