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

Unified Diff: cc/output/bsp_walk_action.cc

Issue 595593002: Splitting of layers for correct intersections (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed the static that was only used in ony place anyway 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
Index: cc/output/bsp_walk_action.cc
diff --git a/cc/output/bsp_walk_action.cc b/cc/output/bsp_walk_action.cc
index da5ada5a82aa3bd5504f4f8e681b9fcd171b7437..9ffc2998d5ef2afa60d7a068179ce3b4da236e52 100644
--- a/cc/output/bsp_walk_action.cc
+++ b/cc/output/bsp_walk_action.cc
@@ -9,15 +9,37 @@
#include "base/memory/scoped_ptr.h"
#include "cc/output/direct_renderer.h"
#include "cc/quads/draw_polygon.h"
+#include "cc/quads/draw_quad.h"
namespace cc {
-void BspWalkActionToVector::operator()(DrawPolygon* item) {
- list_->push_back(item);
+BspWalkActionDrawPolygon::BspWalkActionDrawPolygon(
+ DirectRenderer* renderer,
+ DirectRenderer::DrawingFrame* frame,
+ const gfx::Rect& render_pass_scissor,
+ bool using_scissor_as_optimization)
+ : renderer_(renderer),
+ frame_(frame),
+ render_pass_scissor_(render_pass_scissor),
+ using_scissor_as_optimization_(using_scissor_as_optimization) {
+}
+
+void BspWalkActionDrawPolygon::operator()(DrawPolygon* item) {
+ gfx::Transform inverse_transform;
+ bool invertible =
+ item->original_ref()->quadTransform().GetInverse(&inverse_transform);
+ DCHECK(invertible);
+ item->TransformToLayerSpace(inverse_transform);
+ renderer_->DoDrawPolygon(*item, frame_, render_pass_scissor_,
+ using_scissor_as_optimization_);
}
BspWalkActionToVector::BspWalkActionToVector(std::vector<DrawPolygon*>* in_list)
: list_(in_list) {
}
+void BspWalkActionToVector::operator()(DrawPolygon* item) {
+ list_->push_back(item);
+}
+
} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698