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

Unified Diff: cc/output/software_renderer.cc

Issue 998023002: Revert of Splitting of layers for correct intersections (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « cc/output/software_renderer.h ('k') | cc/output/static_geometry_binding.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/software_renderer.cc
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
index 5726fd7f1744059735b5a738918a3a60df6f6b40..5360d594bff1807882061ca069fd5811737c0f6d 100644
--- a/cc/output/software_renderer.cc
+++ b/cc/output/software_renderer.cc
@@ -25,7 +25,6 @@
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkImageFilter.h"
#include "third_party/skia/include/core/SkMatrix.h"
-#include "third_party/skia/include/core/SkPoint.h"
#include "third_party/skia/include/core/SkShader.h"
#include "third_party/skia/include/effects/SkLayerRasterizer.h"
#include "ui/gfx/geometry/rect_conversions.h"
@@ -236,13 +235,7 @@
return false;
}
-void SoftwareRenderer::DoDrawQuad(DrawingFrame* frame,
- const DrawQuad* quad,
- const gfx::QuadF* draw_region) {
- if (draw_region) {
- current_canvas_->save();
- }
-
+void SoftwareRenderer::DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) {
TRACE_EVENT0("cc", "SoftwareRenderer::DoDrawQuad");
gfx::Transform quad_rect_matrix;
QuadRectTransform(&quad_rect_matrix, quad->quadTransform(), quad->rect);
@@ -277,31 +270,9 @@
current_paint_.setXfermodeMode(SkXfermode::kSrc_Mode);
}
- if (draw_region) {
- gfx::QuadF local_draw_region(*draw_region);
- SkPath draw_region_clip_path;
- local_draw_region -=
- gfx::Vector2dF(quad->visible_rect.x(), quad->visible_rect.y());
- local_draw_region.Scale(1.0f / quad->visible_rect.width(),
- 1.0f / quad->visible_rect.height());
- local_draw_region -= gfx::Vector2dF(0.5f, 0.5f);
-
- SkPoint clip_points[4];
- QuadFToSkPoints(local_draw_region, clip_points);
- draw_region_clip_path.addPoly(clip_points, 4, true);
-
- current_canvas_->clipPath(draw_region_clip_path, SkRegion::kIntersect_Op,
- false);
- }
-
switch (quad->material) {
case DrawQuad::CHECKERBOARD:
- // TODO(enne) For now since checkerboards shouldn't be part of a 3D
- // context, clipping regions aren't supported so we skip drawing them
- // if this becomes the case.
- if (!draw_region) {
- DrawCheckerboardQuad(frame, CheckerboardDrawQuad::MaterialCast(quad));
- }
+ DrawCheckerboardQuad(frame, CheckerboardDrawQuad::MaterialCast(quad));
break;
case DrawQuad::DEBUG_BORDER:
DrawDebugBorderQuad(frame, DebugBorderDrawQuad::MaterialCast(quad));
@@ -336,9 +307,6 @@
}
current_canvas_->resetMatrix();
- if (draw_region) {
- current_canvas_->restore();
- }
}
void SoftwareRenderer::DrawCheckerboardQuad(const DrawingFrame* frame,
« no previous file with comments | « cc/output/software_renderer.h ('k') | cc/output/static_geometry_binding.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698