1 // Copyright 2015 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_SANDWICH_H_
6 #define CC_OUTPUT_OVERLAY_STRATEGY_SANDWICH_H_
8 #include "cc/output/overlay_strategy_common.h"
12 // The sandwich strategy looks for a video quad without regard to quads above
13 // it. The video is "overlaid" on top of the scene, and then the non-empty
14 // parts of the scene are "overlaid" on top of the video. This is only valid
15 // for overlay contents that are fully opaque.
16 class CC_EXPORT OverlayStrategySandwich
: public OverlayStrategyCommonDelegate
{
18 OverlayStrategySandwich() {}
19 ~OverlayStrategySandwich() override
;
21 bool TryOverlay(OverlayCandidateValidator
* capability_checker
,
22 RenderPassList
* render_passes_in_draw_order
,
23 OverlayCandidateList
* candidate_list
,
24 const OverlayCandidate
& candidate
,
25 QuadList::Iterator candidate_iterator
,
26 float device_scale_factor
) override
;
29 DISALLOW_COPY_AND_ASSIGN(OverlayStrategySandwich
);
34 #endif // CC_OUTPUT_OVERLAY_STRATEGY_SANDWICH_H_