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

Side by Side Diff: components/mus/public/cpp/surfaces/tests/surface_unittest.cc

Issue 2032643002: Implement cc::SharedQuadState StructTraits (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated to uint Created 4 years, 6 months 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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <utility> 8 #include <utility>
9 9
10 #include "cc/quads/debug_border_draw_quad.h" 10 #include "cc/quads/debug_border_draw_quad.h"
(...skipping 17 matching lines...) Expand all
28 using mus::mojom::CompositorFrameMetadata; 28 using mus::mojom::CompositorFrameMetadata;
29 using mus::mojom::CompositorFrameMetadataPtr; 29 using mus::mojom::CompositorFrameMetadataPtr;
30 using mus::mojom::DebugBorderQuadState; 30 using mus::mojom::DebugBorderQuadState;
31 using mus::mojom::DebugBorderQuadStatePtr; 31 using mus::mojom::DebugBorderQuadStatePtr;
32 using mus::mojom::Pass; 32 using mus::mojom::Pass;
33 using mus::mojom::PassPtr; 33 using mus::mojom::PassPtr;
34 using mus::mojom::Quad; 34 using mus::mojom::Quad;
35 using mus::mojom::QuadPtr; 35 using mus::mojom::QuadPtr;
36 using mus::mojom::RenderPassQuadState; 36 using mus::mojom::RenderPassQuadState;
37 using mus::mojom::RenderPassQuadStatePtr; 37 using mus::mojom::RenderPassQuadStatePtr;
38 using mus::mojom::SharedQuadState;
39 using mus::mojom::SharedQuadStatePtr;
40 using mus::mojom::SolidColorQuadState; 38 using mus::mojom::SolidColorQuadState;
41 using mus::mojom::SolidColorQuadStatePtr; 39 using mus::mojom::SolidColorQuadStatePtr;
42 using mus::mojom::SurfaceQuadState; 40 using mus::mojom::SurfaceQuadState;
43 using mus::mojom::SurfaceQuadStatePtr; 41 using mus::mojom::SurfaceQuadStatePtr;
44 using mus::mojom::TextureQuadState; 42 using mus::mojom::TextureQuadState;
45 using mus::mojom::TextureQuadStatePtr; 43 using mus::mojom::TextureQuadStatePtr;
46 using mus::mojom::TileQuadState; 44 using mus::mojom::TileQuadState;
47 using mus::mojom::TileQuadStatePtr; 45 using mus::mojom::TileQuadStatePtr;
48 using mus::mojom::YUVColorSpace; 46 using mus::mojom::YUVColorSpace;
49 using mus::mojom::YUVVideoQuadState; 47 using mus::mojom::YUVVideoQuadState;
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { 157 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) {
160 QuadPtr mus_texture_quad = Quad::New(); 158 QuadPtr mus_texture_quad = Quad::New();
161 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT; 159 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT;
162 TextureQuadStatePtr mus_texture_state = TextureQuadState::New(); 160 TextureQuadStatePtr mus_texture_state = TextureQuadState::New();
163 mus_texture_state->background_color = Color::New(); 161 mus_texture_state->background_color = Color::New();
164 mus_texture_quad->texture_quad_state = std::move(mus_texture_state); 162 mus_texture_quad->texture_quad_state = std::move(mus_texture_state);
165 PassPtr mus_pass = Pass::New(); 163 PassPtr mus_pass = Pass::New();
166 mus_pass->id.layer_id = 1; 164 mus_pass->id.layer_id = 1;
167 mus_pass->id.index = 1u; 165 mus_pass->id.index = 1u;
168 mus_pass->quads.push_back(std::move(mus_texture_quad)); 166 mus_pass->quads.push_back(std::move(mus_texture_quad));
169 SharedQuadStatePtr mus_sqs = SharedQuadState::New(); 167 mus_pass->shared_quad_states.push_back(cc::SharedQuadState());
170 mus_pass->shared_quad_states.push_back(std::move(mus_sqs));
171 168
172 std::unique_ptr<cc::RenderPass> pass = 169 std::unique_ptr<cc::RenderPass> pass =
173 mus_pass.To<std::unique_ptr<cc::RenderPass>>(); 170 mus_pass.To<std::unique_ptr<cc::RenderPass>>();
174 171
175 EXPECT_FALSE(pass); 172 EXPECT_FALSE(pass);
176 } 173 }
177 174
178 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyBackgroundColor) { 175 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyBackgroundColor) {
179 QuadPtr mus_texture_quad = Quad::New(); 176 QuadPtr mus_texture_quad = Quad::New();
180 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT; 177 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT;
181 TextureQuadStatePtr mus_texture_state = TextureQuadState::New(); 178 TextureQuadStatePtr mus_texture_state = TextureQuadState::New();
182 mus_texture_state->vertex_opacity = mojo::Array<float>::New(4); 179 mus_texture_state->vertex_opacity = mojo::Array<float>::New(4);
183 mus_texture_quad->texture_quad_state = std::move(mus_texture_state); 180 mus_texture_quad->texture_quad_state = std::move(mus_texture_state);
184 PassPtr mus_pass = Pass::New(); 181 PassPtr mus_pass = Pass::New();
185 mus_pass->id.layer_id = 1; 182 mus_pass->id.layer_id = 1;
186 mus_pass->id.index = 1u; 183 mus_pass->id.index = 1u;
187 mus_pass->quads.push_back(std::move(mus_texture_quad)); 184 mus_pass->quads.push_back(std::move(mus_texture_quad));
188 SharedQuadStatePtr mus_sqs = SharedQuadState::New(); 185 mus_pass->shared_quad_states.push_back(cc::SharedQuadState());
189 mus_pass->shared_quad_states.push_back(std::move(mus_sqs));
190 186
191 std::unique_ptr<cc::RenderPass> pass = 187 std::unique_ptr<cc::RenderPass> pass =
192 mus_pass.To<std::unique_ptr<cc::RenderPass>>(); 188 mus_pass.To<std::unique_ptr<cc::RenderPass>>();
193 EXPECT_FALSE(pass); 189 EXPECT_FALSE(pass);
194 } 190 }
195 191
196 TEST(SurfaceLibTest, SharedQuadState) {
197 gfx::Transform quad_to_target_transform;
198 quad_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f);
199 gfx::Size quad_layer_bounds(57, 39);
200 gfx::Rect visible_quad_layer_rect(3, 7, 28, 42);
201 gfx::Rect clip_rect(9, 12, 21, 31);
202 bool is_clipped = true;
203 float opacity = 0.65f;
204 int sorting_context_id = 13;
205 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode;
206 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
207 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState();
208 sqs->SetAll(quad_to_target_transform, quad_layer_bounds,
209 visible_quad_layer_rect, clip_rect, is_clipped, opacity,
210 blend_mode, sorting_context_id);
211
212 SharedQuadStatePtr mus_sqs = SharedQuadState::From(*sqs);
213 ASSERT_FALSE(mus_sqs.is_null());
214 EXPECT_EQ(quad_to_target_transform, mus_sqs->quad_to_target_transform);
215 EXPECT_EQ(quad_layer_bounds, mus_sqs->quad_layer_bounds);
216 EXPECT_EQ(visible_quad_layer_rect, mus_sqs->visible_quad_layer_rect);
217 EXPECT_EQ(clip_rect, mus_sqs->clip_rect);
218 EXPECT_EQ(is_clipped, mus_sqs->is_clipped);
219 EXPECT_EQ(opacity, mus_sqs->opacity);
220 EXPECT_EQ(sorting_context_id, mus_sqs->sorting_context_id);
221 }
222
223 TEST(SurfaceLibTest, RenderPass) { 192 TEST(SurfaceLibTest, RenderPass) {
224 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); 193 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
225 cc::RenderPassId pass_id(1, 6); 194 cc::RenderPassId pass_id(1, 6);
226 gfx::Rect output_rect(4, 9, 13, 71); 195 gfx::Rect output_rect(4, 9, 13, 71);
227 gfx::Rect damage_rect(9, 17, 41, 45); 196 gfx::Rect damage_rect(9, 17, 41, 45);
228 gfx::Transform transform_to_root_target; 197 gfx::Transform transform_to_root_target;
229 transform_to_root_target.Skew(0.0, 43.0); 198 transform_to_root_target.Skew(0.0, 43.0);
230 bool has_transparent_background = false; 199 bool has_transparent_background = false;
231 pass->SetAll(pass_id, 200 pass->SetAll(pass_id,
232 output_rect, 201 output_rect,
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 ASSERT_TRUE(mus_quad->debug_border_quad_state); 353 ASSERT_TRUE(mus_quad->debug_border_quad_state);
385 DebugBorderQuadStatePtr& mus_debug_border_state = 354 DebugBorderQuadStatePtr& mus_debug_border_state =
386 mus_quad->debug_border_quad_state; 355 mus_quad->debug_border_quad_state;
387 EXPECT_TRUE( 356 EXPECT_TRUE(
388 Color::From(arbitrary_color).Equals(mus_debug_border_state->color)); 357 Color::From(arbitrary_color).Equals(mus_debug_border_state->color));
389 EXPECT_EQ(width, mus_debug_border_state->width); 358 EXPECT_EQ(width, mus_debug_border_state->width);
390 } 359 }
391 360
392 } // namespace 361 } // namespace
393 } // namespace mojo 362 } // namespace mojo
OLDNEW
« no previous file with comments | « components/mus/public/cpp/surfaces/surfaces_utils.cc ('k') | components/mus/public/interfaces/quads.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698