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.
4
5#ifndef CC_OUTPUT_OVERLAY_STRATEGY_SINGLE_ON_TOP_H_
6#define CC_OUTPUT_OVERLAY_STRATEGY_SINGLE_ON_TOP_H_
7
8#include "base/basictypes.h"
9#include "base/memory/scoped_ptr.h"
10#include "cc/base/cc_export.h"
11#include "cc/output/overlay_candidate.h"
12#include "cc/output/overlay_processor.h"
13#include "cc/quads/render_pass.h"
14
15namespace cc {
16class OverlayCandidateValidator;
17
18class CC_EXPORT OverlayStrategySingleOnTop : public OverlayProcessor::Strategy {
19 public:
20  OverlayStrategySingleOnTop(OverlayCandidateValidator* capability_checker,
21                             ResourceProvider* resource_provider);
22  virtual bool Attempt(RenderPassList* render_passes_in_draw_order,
23                       OverlayCandidateList* candidate_list) OVERRIDE;
24
25 private:
26  OverlayCandidateValidator* capability_checker_;
27  ResourceProvider* resource_provider_;
28  DISALLOW_COPY_AND_ASSIGN(OverlayStrategySingleOnTop);
29};
30
31}  // namespace cc
32
33#endif  // CC_OUTPUT_OVERLAY_STRATEGY_SINGLE_ON_TOP_H_
34