summaryrefslogtreecommitdiff
path: root/chromium/components/display_compositor/compositor_overlay_candidate_validator_win.cc
blob: 83936a9706f68fd02a3523dbb3c58ea821788ccc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Copyright 2017 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.

#include "components/display_compositor/compositor_overlay_candidate_validator_win.h"

#include <memory>

#include "base/memory/ptr_util.h"
#include "cc/output/overlay_processor.h"
#include "cc/output/overlay_strategy_underlay.h"
#include "ui/gfx/geometry/rect_conversions.h"

namespace display_compositor {

CompositorOverlayCandidateValidatorWin::
    CompositorOverlayCandidateValidatorWin() {}

CompositorOverlayCandidateValidatorWin::
    ~CompositorOverlayCandidateValidatorWin() {}

void CompositorOverlayCandidateValidatorWin::GetStrategies(
    cc::OverlayProcessor::StrategyList* strategies) {
  strategies->push_back(base::MakeUnique<cc::OverlayStrategyUnderlay>(this));
}

void CompositorOverlayCandidateValidatorWin::CheckOverlaySupport(
    cc::OverlayCandidateList* candidates) {
  for (cc::OverlayCandidate& candidate : *candidates) {
    candidate.display_rect =
        gfx::RectF(gfx::ToEnclosingRect(candidate.display_rect));
    candidate.overlay_handled = true;
    candidate.plane_z_order = -1;
  }
}

bool CompositorOverlayCandidateValidatorWin::AllowCALayerOverlays() {
  return false;
}

void CompositorOverlayCandidateValidatorWin::SetSoftwareMirrorMode(
    bool enabled) {
  // Software mirroring isn't supported on Windows.
  NOTIMPLEMENTED();
}

}  // namespace display_compositor