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

Side by Side Diff: cc/checkerboard_draw_quad.cc

Issue 11649005: cc: Support anti-aliasing for solid color layers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase and add DrawQuad::AntiAliasing struct. Created 7 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/debug_border_draw_quad.cc » ('j') | cc/draw_quad.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/checkerboard_draw_quad.h" 5 #include "cc/checkerboard_draw_quad.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 8
9 namespace cc { 9 namespace cc {
10 10
11 CheckerboardDrawQuad::CheckerboardDrawQuad() : color(0) {} 11 CheckerboardDrawQuad::CheckerboardDrawQuad() : color(0) {}
12 12
13 scoped_ptr<CheckerboardDrawQuad> CheckerboardDrawQuad::Create() { 13 scoped_ptr<CheckerboardDrawQuad> CheckerboardDrawQuad::Create() {
14 return make_scoped_ptr(new CheckerboardDrawQuad); 14 return make_scoped_ptr(new CheckerboardDrawQuad);
15 } 15 }
16 16
17 void CheckerboardDrawQuad::SetNew(const SharedQuadState* shared_quad_state, 17 void CheckerboardDrawQuad::SetNew(const SharedQuadState* shared_quad_state,
18 gfx::Rect rect, 18 gfx::Rect rect,
19 SkColor color) { 19 SkColor color) {
20 gfx::Rect opaque_rect = SkColorGetA(color) == 255 ? rect : gfx::Rect(); 20 gfx::Rect opaque_rect = SkColorGetA(color) == 255 ? rect : gfx::Rect();
21 gfx::Rect visible_rect = rect; 21 gfx::Rect visible_rect = rect;
22 bool needs_blending = false; 22 bool needs_blending = false;
23 DrawQuad::SetAll(shared_quad_state, DrawQuad::CHECKERBOARD, rect, opaque_rect, 23 DrawQuad::SetAll(shared_quad_state, DrawQuad::CHECKERBOARD, rect, opaque_rect,
24 visible_rect, needs_blending); 24 visible_rect, needs_blending, AntiAliasing());
25 this->color = color; 25 this->color = color;
26 } 26 }
27 27
28 void CheckerboardDrawQuad::SetAll(const SharedQuadState* shared_quad_state, 28 void CheckerboardDrawQuad::SetAll(const SharedQuadState* shared_quad_state,
29 gfx::Rect rect, 29 gfx::Rect rect,
30 gfx::Rect opaque_rect, 30 gfx::Rect opaque_rect,
31 gfx::Rect visible_rect, 31 gfx::Rect visible_rect,
32 bool needs_blending, 32 bool needs_blending,
33 SkColor color) { 33 SkColor color) {
34 DrawQuad::SetAll(shared_quad_state, DrawQuad::CHECKERBOARD, rect, opaque_rect, 34 DrawQuad::SetAll(shared_quad_state, DrawQuad::CHECKERBOARD, rect, opaque_rect,
35 visible_rect, needs_blending); 35 visible_rect, needs_blending, AntiAliasing());
36 this->color = color; 36 this->color = color;
37 } 37 }
38 38
39 const CheckerboardDrawQuad* CheckerboardDrawQuad::MaterialCast( 39 const CheckerboardDrawQuad* CheckerboardDrawQuad::MaterialCast(
40 const DrawQuad* quad) { 40 const DrawQuad* quad) {
41 DCHECK(quad->material == DrawQuad::CHECKERBOARD); 41 DCHECK(quad->material == DrawQuad::CHECKERBOARD);
42 return static_cast<const CheckerboardDrawQuad*>(quad); 42 return static_cast<const CheckerboardDrawQuad*>(quad);
43 } 43 }
44 44
45 } // namespace cc 45 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/debug_border_draw_quad.cc » ('j') | cc/draw_quad.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698