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

Side by Side Diff: mojo/services/public/cpp/surfaces/tests/surface_unittest.cc

Issue 398533002: Make DrawQuad constructors public, rm DQ::Create() function (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: get rid of make_scoped_ptr Created 6 years, 5 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
« no previous file with comments | « mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "cc/quads/render_pass.h" 5 #include "cc/quads/render_pass.h"
6 #include "cc/quads/solid_color_draw_quad.h" 6 #include "cc/quads/solid_color_draw_quad.h"
7 #include "cc/quads/surface_draw_quad.h" 7 #include "cc/quads/surface_draw_quad.h"
8 #include "cc/quads/texture_draw_quad.h" 8 #include "cc/quads/texture_draw_quad.h"
9 #include "gpu/command_buffer/common/mailbox.h" 9 #include "gpu/command_buffer/common/mailbox.h"
10 #include "gpu/command_buffer/common/mailbox_holder.h" 10 #include "gpu/command_buffer/common/mailbox_holder.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 protected: 50 protected:
51 scoped_ptr<cc::SharedQuadState> sqs; 51 scoped_ptr<cc::SharedQuadState> sqs;
52 gfx::Rect rect; 52 gfx::Rect rect;
53 gfx::Rect opaque_rect; 53 gfx::Rect opaque_rect;
54 gfx::Rect visible_rect; 54 gfx::Rect visible_rect;
55 bool needs_blending; 55 bool needs_blending;
56 }; 56 };
57 57
58 TEST_F(SurfaceLibQuadTest, ColorQuad) { 58 TEST_F(SurfaceLibQuadTest, ColorQuad) {
59 scoped_ptr<cc::SolidColorDrawQuad> color_quad = 59 scoped_ptr<cc::SolidColorDrawQuad> color_quad(new cc::SolidColorDrawQuad);
60 cc::SolidColorDrawQuad::Create();
61 SkColor arbitrary_color = SK_ColorGREEN; 60 SkColor arbitrary_color = SK_ColorGREEN;
62 bool force_anti_aliasing_off = true; 61 bool force_anti_aliasing_off = true;
63 color_quad->SetAll(sqs.get(), 62 color_quad->SetAll(sqs.get(),
64 rect, 63 rect,
65 opaque_rect, 64 opaque_rect,
66 visible_rect, 65 visible_rect,
67 needs_blending, 66 needs_blending,
68 arbitrary_color, 67 arbitrary_color,
69 force_anti_aliasing_off); 68 force_anti_aliasing_off);
70 69
(...skipping 19 matching lines...) Expand all
90 EXPECT_EQ(needs_blending, round_trip_quad->needs_blending); 89 EXPECT_EQ(needs_blending, round_trip_quad->needs_blending);
91 ASSERT_EQ(cc::DrawQuad::SOLID_COLOR, round_trip_quad->material); 90 ASSERT_EQ(cc::DrawQuad::SOLID_COLOR, round_trip_quad->material);
92 const cc::SolidColorDrawQuad* round_trip_color_quad = 91 const cc::SolidColorDrawQuad* round_trip_color_quad =
93 cc::SolidColorDrawQuad::MaterialCast(round_trip_quad.get()); 92 cc::SolidColorDrawQuad::MaterialCast(round_trip_quad.get());
94 EXPECT_EQ(arbitrary_color, round_trip_color_quad->color); 93 EXPECT_EQ(arbitrary_color, round_trip_color_quad->color);
95 EXPECT_EQ(force_anti_aliasing_off, 94 EXPECT_EQ(force_anti_aliasing_off,
96 round_trip_color_quad->force_anti_aliasing_off); 95 round_trip_color_quad->force_anti_aliasing_off);
97 } 96 }
98 97
99 TEST_F(SurfaceLibQuadTest, SurfaceQuad) { 98 TEST_F(SurfaceLibQuadTest, SurfaceQuad) {
100 scoped_ptr<cc::SurfaceDrawQuad> surface_quad = cc::SurfaceDrawQuad::Create(); 99 scoped_ptr<cc::SurfaceDrawQuad> surface_quad(new cc::SurfaceDrawQuad);
101 cc::SurfaceId arbitrary_id(5); 100 cc::SurfaceId arbitrary_id(5);
102 surface_quad->SetAll( 101 surface_quad->SetAll(
103 sqs.get(), rect, opaque_rect, visible_rect, needs_blending, arbitrary_id); 102 sqs.get(), rect, opaque_rect, visible_rect, needs_blending, arbitrary_id);
104 cc::DrawQuad* base_ptr = static_cast<cc::DrawQuad*>(surface_quad.get()); 103 cc::DrawQuad* base_ptr = static_cast<cc::DrawQuad*>(surface_quad.get());
105 surfaces::QuadPtr mojo_quad = surfaces::Quad::From(*base_ptr); 104 surfaces::QuadPtr mojo_quad = surfaces::Quad::From(*base_ptr);
106 ASSERT_FALSE(mojo_quad.is_null()); 105 ASSERT_FALSE(mojo_quad.is_null());
107 EXPECT_EQ(surfaces::SURFACE_CONTENT, mojo_quad->material); 106 EXPECT_EQ(surfaces::SURFACE_CONTENT, mojo_quad->material);
108 ASSERT_TRUE(mojo_quad->surface_quad_state); 107 ASSERT_TRUE(mojo_quad->surface_quad_state);
109 surfaces::SurfaceQuadStatePtr& mojo_surface_state = 108 surfaces::SurfaceQuadStatePtr& mojo_surface_state =
110 mojo_quad->surface_quad_state; 109 mojo_quad->surface_quad_state;
111 EXPECT_EQ(surfaces::SurfaceId::From(arbitrary_id), 110 EXPECT_EQ(surfaces::SurfaceId::From(arbitrary_id),
112 mojo_surface_state->surface); 111 mojo_surface_state->surface);
113 112
114 scoped_ptr<cc::DrawQuad> round_trip_quad = 113 scoped_ptr<cc::DrawQuad> round_trip_quad =
115 ConvertTo(mojo_quad.Pass(), sqs.get()); 114 ConvertTo(mojo_quad.Pass(), sqs.get());
116 ASSERT_EQ(cc::DrawQuad::SURFACE_CONTENT, round_trip_quad->material); 115 ASSERT_EQ(cc::DrawQuad::SURFACE_CONTENT, round_trip_quad->material);
117 const cc::SurfaceDrawQuad* round_trip_surface_quad = 116 const cc::SurfaceDrawQuad* round_trip_surface_quad =
118 cc::SurfaceDrawQuad::MaterialCast(round_trip_quad.get()); 117 cc::SurfaceDrawQuad::MaterialCast(round_trip_quad.get());
119 EXPECT_EQ(arbitrary_id, round_trip_surface_quad->surface_id); 118 EXPECT_EQ(arbitrary_id, round_trip_surface_quad->surface_id);
120 } 119 }
121 120
122 TEST_F(SurfaceLibQuadTest, TextureQuad) { 121 TEST_F(SurfaceLibQuadTest, TextureQuad) {
123 scoped_ptr<cc::TextureDrawQuad> texture_quad = cc::TextureDrawQuad::Create(); 122 scoped_ptr<cc::TextureDrawQuad> texture_quad(new cc::TextureDrawQuad);
124 unsigned resource_id = 9; 123 unsigned resource_id = 9;
125 bool premultiplied_alpha = true; 124 bool premultiplied_alpha = true;
126 gfx::PointF uv_top_left(1.7f, 2.1f); 125 gfx::PointF uv_top_left(1.7f, 2.1f);
127 gfx::PointF uv_bottom_right(-7.f, 16.3f); 126 gfx::PointF uv_bottom_right(-7.f, 16.3f);
128 SkColor background_color = SK_ColorYELLOW; 127 SkColor background_color = SK_ColorYELLOW;
129 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; 128 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f};
130 bool flipped = false; 129 bool flipped = false;
131 texture_quad->SetAll(sqs.get(), 130 texture_quad->SetAll(sqs.get(),
132 rect, 131 rect,
133 opaque_rect, 132 opaque_rect,
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 233
235 gfx::Transform content_to_target_transform; 234 gfx::Transform content_to_target_transform;
236 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); 235 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f);
237 gfx::Size content_bounds(57, 39); 236 gfx::Size content_bounds(57, 39);
238 gfx::Rect visible_content_rect(3, 7, 28, 42); 237 gfx::Rect visible_content_rect(3, 7, 28, 42);
239 gfx::Rect clip_rect(9, 12, 21, 31); 238 gfx::Rect clip_rect(9, 12, 21, 31);
240 bool is_clipped = true; 239 bool is_clipped = true;
241 float opacity = 0.65f; 240 float opacity = 0.65f;
242 int sorting_context_id = 13; 241 int sorting_context_id = 13;
243 SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode; 242 SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode;
244 scoped_ptr<cc::SharedQuadState> sqs(new cc::SharedQuadState); 243 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState();
245 sqs->SetAll(content_to_target_transform, 244 sqs->SetAll(content_to_target_transform,
246 content_bounds, 245 content_bounds,
247 visible_content_rect, 246 visible_content_rect,
248 clip_rect, 247 clip_rect,
249 is_clipped, 248 is_clipped,
250 opacity, 249 opacity,
251 blend_mode, 250 blend_mode,
252 sorting_context_id); 251 sorting_context_id);
253 pass->shared_quad_state_list.push_back(sqs.Pass());
254 252
255 scoped_ptr<cc::SolidColorDrawQuad> color_quad = 253 cc::SolidColorDrawQuad* color_quad =
256 cc::SolidColorDrawQuad::Create(); 254 pass->CreateAndAppendDrawQuad<cc::SolidColorDrawQuad>();
257 SkColor arbitrary_color = SK_ColorGREEN; 255 SkColor arbitrary_color = SK_ColorGREEN;
258 bool force_anti_aliasing_off = true; 256 bool force_anti_aliasing_off = true;
259 color_quad->SetAll(pass->shared_quad_state_list.back(), 257 color_quad->SetAll(pass->shared_quad_state_list.back(),
260 rect, 258 rect,
261 opaque_rect, 259 opaque_rect,
262 visible_rect, 260 visible_rect,
263 needs_blending, 261 needs_blending,
264 arbitrary_color, 262 arbitrary_color,
265 force_anti_aliasing_off); 263 force_anti_aliasing_off);
266 pass->quad_list.push_back(color_quad.PassAs<cc::DrawQuad>());
267 264
268 surfaces::PassPtr mojo_pass = surfaces::Pass::From(*pass); 265 surfaces::PassPtr mojo_pass = surfaces::Pass::From(*pass);
269 ASSERT_FALSE(mojo_pass.is_null()); 266 ASSERT_FALSE(mojo_pass.is_null());
270 EXPECT_EQ(6, mojo_pass->id); 267 EXPECT_EQ(6, mojo_pass->id);
271 EXPECT_EQ(Rect::From(output_rect), mojo_pass->output_rect); 268 EXPECT_EQ(Rect::From(output_rect), mojo_pass->output_rect);
272 EXPECT_EQ(Rect::From(damage_rect), mojo_pass->damage_rect); 269 EXPECT_EQ(Rect::From(damage_rect), mojo_pass->damage_rect);
273 EXPECT_EQ(Transform::From(transform_to_root_target), 270 EXPECT_EQ(Transform::From(transform_to_root_target),
274 mojo_pass->transform_to_root_target); 271 mojo_pass->transform_to_root_target);
275 EXPECT_EQ(has_transparent_background, mojo_pass->has_transparent_background); 272 EXPECT_EQ(has_transparent_background, mojo_pass->has_transparent_background);
276 ASSERT_EQ(1u, mojo_pass->shared_quad_states.size()); 273 ASSERT_EQ(1u, mojo_pass->shared_quad_states.size());
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 cc::ReturnedResource round_trip_resource = 381 cc::ReturnedResource round_trip_resource =
385 mojo_resource.To<cc::ReturnedResource>(); 382 mojo_resource.To<cc::ReturnedResource>();
386 EXPECT_EQ(id, round_trip_resource.id); 383 EXPECT_EQ(id, round_trip_resource.id);
387 EXPECT_EQ(sync_point, round_trip_resource.sync_point); 384 EXPECT_EQ(sync_point, round_trip_resource.sync_point);
388 EXPECT_EQ(count, round_trip_resource.count); 385 EXPECT_EQ(count, round_trip_resource.count);
389 EXPECT_EQ(lost, round_trip_resource.lost); 386 EXPECT_EQ(lost, round_trip_resource.lost);
390 } 387 }
391 388
392 } // namespace 389 } // namespace
393 } // namespace mojo 390 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698