Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Side by Side Diff: components/display_compositor/compositor_overlay_candidate_validator_ozone.cc

Issue 2573603005: Compute damage rect for Cast video compositing (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/display_compositor/compositor_overlay_candidate_validator_o zone.h" 5 #include "components/display_compositor/compositor_overlay_candidate_validator_o zone.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
12 #include "cc/output/overlay_strategy_cast_underlay.h"
12 #include "cc/output/overlay_strategy_fullscreen.h" 13 #include "cc/output/overlay_strategy_fullscreen.h"
13 #include "cc/output/overlay_strategy_single_on_top.h" 14 #include "cc/output/overlay_strategy_single_on_top.h"
14 #include "cc/output/overlay_strategy_underlay.h" 15 #include "cc/output/overlay_strategy_underlay.h"
15 #include "ui/ozone/public/overlay_candidates_ozone.h" 16 #include "ui/ozone/public/overlay_candidates_ozone.h"
16 17
17 namespace display_compositor { 18 namespace display_compositor {
18 19
19 static gfx::BufferFormat GetBufferFormat(cc::ResourceFormat overlay_format) { 20 static gfx::BufferFormat GetBufferFormat(cc::ResourceFormat overlay_format) {
20 switch (overlay_format) { 21 switch (overlay_format) {
21 // TODO(dshwang): overlay video still uses RGBA_8888. 22 // TODO(dshwang): overlay video still uses RGBA_8888.
22 case cc::RGBA_8888: 23 case cc::RGBA_8888:
23 case cc::BGRA_8888: 24 case cc::BGRA_8888:
24 return gfx::BufferFormat::BGRA_8888; 25 return gfx::BufferFormat::BGRA_8888;
25 default: 26 default:
26 NOTREACHED(); 27 NOTREACHED();
27 return gfx::BufferFormat::BGRA_8888; 28 return gfx::BufferFormat::BGRA_8888;
28 } 29 }
29 } 30 }
30 31
31 CompositorOverlayCandidateValidatorOzone:: 32 CompositorOverlayCandidateValidatorOzone::
32 CompositorOverlayCandidateValidatorOzone( 33 CompositorOverlayCandidateValidatorOzone(
33 std::unique_ptr<ui::OverlayCandidatesOzone> overlay_candidates, 34 std::unique_ptr<ui::OverlayCandidatesOzone> overlay_candidates,
34 bool single_fullscreen) 35 bool single_fullscreen,
36 bool cast_underlay)
35 : overlay_candidates_(std::move(overlay_candidates)), 37 : overlay_candidates_(std::move(overlay_candidates)),
36 single_fullscreen_(single_fullscreen), 38 single_fullscreen_(single_fullscreen),
39 cast_underlay_(cast_underlay),
37 software_mirror_active_(false) {} 40 software_mirror_active_(false) {}
38 41
39 CompositorOverlayCandidateValidatorOzone:: 42 CompositorOverlayCandidateValidatorOzone::
40 ~CompositorOverlayCandidateValidatorOzone() {} 43 ~CompositorOverlayCandidateValidatorOzone() {}
41 44
42 void CompositorOverlayCandidateValidatorOzone::GetStrategies( 45 void CompositorOverlayCandidateValidatorOzone::GetStrategies(
43 cc::OverlayProcessor::StrategyList* strategies) { 46 cc::OverlayProcessor::StrategyList* strategies) {
44 if (single_fullscreen_) { 47 if (single_fullscreen_) {
45 strategies->push_back( 48 strategies->push_back(
46 base::MakeUnique<cc::OverlayStrategyFullscreen>(this)); 49 base::MakeUnique<cc::OverlayStrategyFullscreen>(this));
50 } else if (cast_underlay_) {
51 strategies->push_back(
52 base::MakeUnique<cc::OverlayStrategyCastUnderlay>(this));
47 } else { 53 } else {
48 strategies->push_back( 54 strategies->push_back(
49 base::MakeUnique<cc::OverlayStrategySingleOnTop>(this)); 55 base::MakeUnique<cc::OverlayStrategySingleOnTop>(this));
50 strategies->push_back(base::MakeUnique<cc::OverlayStrategyUnderlay>(this)); 56 strategies->push_back(base::MakeUnique<cc::OverlayStrategyUnderlay>(this));
51 } 57 }
52 } 58 }
53 59
54 bool CompositorOverlayCandidateValidatorOzone::AllowCALayerOverlays() { 60 bool CompositorOverlayCandidateValidatorOzone::AllowCALayerOverlays() {
55 return false; 61 return false;
56 } 62 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 surfaces->at(i).display_rect = ozone_surface_list.at(i).display_rect; 102 surfaces->at(i).display_rect = ozone_surface_list.at(i).display_rect;
97 } 103 }
98 } 104 }
99 105
100 void CompositorOverlayCandidateValidatorOzone::SetSoftwareMirrorMode( 106 void CompositorOverlayCandidateValidatorOzone::SetSoftwareMirrorMode(
101 bool enabled) { 107 bool enabled) {
102 software_mirror_active_ = enabled; 108 software_mirror_active_ = enabled;
103 } 109 }
104 110
105 } // namespace display_compositor 111 } // namespace display_compositor
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698