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

Unified Diff: cc/draw_quad.h

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 side-by-side diff with in-line comments
Download patch
Index: cc/draw_quad.h
diff --git a/cc/draw_quad.h b/cc/draw_quad.h
index c1982c17d5aa8f200893f477c52b9d707386bcba..4853b7b8a0be175cfdfca7e40f0202c2e5c1a1f0 100644
--- a/cc/draw_quad.h
+++ b/cc/draw_quad.h
@@ -28,6 +28,26 @@ class CC_EXPORT DrawQuad {
YUV_VIDEO_CONTENT,
STREAM_VIDEO_CONTENT,
};
+ struct AntiAliasing {
danakj 2013/01/08 22:30:46 Should this instead be "Layer Edgeness" or somethi
reveman 2013/01/09 14:20:05 Yea, this is not the full anti-aliasing decision.
+ AntiAliasing() :
+ left_edge(false),
+ top_edge(false),
+ right_edge(false),
+ bottom_edge(false) {}
+ AntiAliasing(bool left_edge,
danakj 2013/01/08 22:34:16 I'm also wondering what is the benefit of this str
reveman 2013/01/09 14:20:05 Maybe. The default constructor is somewhat useful
+ bool top_edge,
+ bool right_edge,
+ bool bottom_edge) :
+ left_edge(left_edge),
+ top_edge(top_edge),
+ right_edge(right_edge),
+ bottom_edge(bottom_edge) {}
+
+ bool left_edge;
+ bool top_edge;
+ bool right_edge;
+ bool bottom_edge;
+ };
virtual ~DrawQuad();
@@ -60,6 +80,10 @@ class CC_EXPORT DrawQuad {
// opaque area.
bool needs_blending;
+ // By default anti-aliasing is not used. With this setting, it is possible
+ // to enable anti-aliasing for specific edges.
+ AntiAliasing anti_aliasing;
+
// Stores state common to a large bundle of quads; kept separate for memory
// efficiency. There is special treatment to reconstruct these pointers
// during serialization.
@@ -70,6 +94,13 @@ class CC_EXPORT DrawQuad {
return needs_blending || shared_quad_state->opacity < 1.0f ||
!opaque_rect.Contains(visible_rect);
}
+ bool IsAntialiased() const {
+ return
+ anti_aliasing.left_edge ||
+ anti_aliasing.top_edge ||
+ anti_aliasing.right_edge ||
+ anti_aliasing.bottom_edge;
+ }
protected:
DrawQuad();
@@ -79,7 +110,8 @@ class CC_EXPORT DrawQuad {
gfx::Rect rect,
gfx::Rect opaque_rect,
gfx::Rect visible_rect,
- bool needs_blending);
+ bool needs_blending,
+ AntiAliasing anti_aliasing);
};
}
« no previous file with comments | « cc/delegated_renderer_layer_impl_unittest.cc ('k') | cc/draw_quad.cc » ('j') | cc/gl_renderer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698