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 OverlayStrategyCommonDelegate
{
21 OverlayStrategyUnderlay() {}
22 ~OverlayStrategyUnderlay() override
;
24 bool TryOverlay(OverlayCandidateValidator
* capability_checker
,
25 RenderPassList
* render_passes_in_draw_order
,
26 OverlayCandidateList
* candidate_list
,
27 const OverlayCandidate
& candidate
,
28 QuadList::Iterator candidate_iterator
,
29 float device_scale_factor
) override
;
32 DISALLOW_COPY_AND_ASSIGN(OverlayStrategyUnderlay
);
37 #endif // CC_OUTPUT_OVERLAY_STRATEGY_UNDERLAY_H_