Index: Source/platform/graphics/paint/DisplayItemTransformTreeBuilder.cpp |
diff --git a/Source/platform/graphics/paint/DisplayItemTransformTreeBuilder.cpp b/Source/platform/graphics/paint/DisplayItemTransformTreeBuilder.cpp |
deleted file mode 100644 |
index f23c5182a0dfe7fbd6eba2d20b2bf819f4c7fd43..0000000000000000000000000000000000000000 |
--- a/Source/platform/graphics/paint/DisplayItemTransformTreeBuilder.cpp |
+++ /dev/null |
@@ -1,111 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "config.h" |
-#include "platform/graphics/paint/DisplayItemTransformTreeBuilder.h" |
- |
-#include "platform/graphics/paint/DisplayItem.h" |
-#include "platform/graphics/paint/DisplayItemTransformTree.h" |
-#include "platform/graphics/paint/Transform3DDisplayItem.h" |
- |
-namespace blink { |
- |
-DisplayItemTransformTreeBuilder::DisplayItemTransformTreeBuilder() |
- : m_transformTree(adoptPtr(new DisplayItemTransformTree)) |
- , m_rangeBeginIndex(0) |
- , m_currentIndex(0) |
-{ |
- pushCurrentTransformNode(0 /* root node */, FloatSize()); |
-} |
- |
-DisplayItemTransformTreeBuilder::~DisplayItemTransformTreeBuilder() |
-{ |
-} |
- |
-PassOwnPtr<DisplayItemTransformTree> DisplayItemTransformTreeBuilder::releaseTransformTree() |
-{ |
- ASSERT(m_currentTransformNodeStack.size() == 1); |
- ASSERT(currentTransformNodeData().ignoredBeginCount == 0); |
- |
- finishRange(); |
- return m_transformTree.release(); |
-} |
- |
-namespace { |
- |
-enum BeginDisplayItemClassification { NotATransform = 0, Only2DTranslation, RequiresTransformNode }; |
- |
-// Classifies a display item based on whether it is a transform, and if so, |
-// whether it should be get a transform node. |
-// If it is a transform (including a translation), the TransformationMatrix |
-// will be copied to output parameter. |
-static BeginDisplayItemClassification classifyBeginItem(const DisplayItem& beginDisplayItem, TransformationMatrix* transform) |
-{ |
- ASSERT(beginDisplayItem.isBegin()); |
- |
- if (DisplayItem::isTransform3DType(beginDisplayItem.type())) { |
- const auto& begin3D = static_cast<const BeginTransform3DDisplayItem&>(beginDisplayItem); |
- *transform = begin3D.transform(); |
- if (transform->isIdentityOr2DTranslation()) |
- return Only2DTranslation; |
- return RequiresTransformNode; |
- } |
- return NotATransform; |
-} |
- |
-} // namespace |
- |
-void DisplayItemTransformTreeBuilder::processDisplayItem(const DisplayItem& displayItem) |
-{ |
- if (displayItem.isBegin()) { |
- TransformationMatrix matrix; |
- switch (classifyBeginItem(displayItem, &matrix)) { |
- case NotATransform: |
- // Remember to ignore this begin later on. |
- currentTransformNodeData().ignoredBeginCount++; |
- break; |
- case Only2DTranslation: |
- // Adjust the offset associated with the current transform node. |
- finishRange(); |
- pushCurrentTransformNode( |
- currentTransformNodeData().transformNode, |
- currentTransformNodeData().offset + matrix.to2DTranslation()); |
- break; |
- case RequiresTransformNode: |
- // Emit a transform node. |
- finishRange(); |
- size_t newNode = m_transformTree->createNewNode( |
- currentTransformNodeData().transformNode, |
- matrix); |
- pushCurrentTransformNode(newNode, FloatSize()); |
- break; |
- } |
- } else if (displayItem.isEnd()) { |
- if (currentTransformNodeData().ignoredBeginCount) { |
- // Ignored this end display item. |
- currentTransformNodeData().ignoredBeginCount--; |
- } else { |
- // We've closed the scope of a transform. |
- finishRange(); |
- popCurrentTransformNode(); |
- ASSERT(!m_currentTransformNodeStack.isEmpty()); |
- } |
- } |
- m_currentIndex++; |
-} |
- |
-void DisplayItemTransformTreeBuilder::finishRange() |
-{ |
- // Don't emit an empty range record. |
- if (m_rangeBeginIndex != m_currentIndex) { |
- const auto& current = currentTransformNodeData(); |
- m_transformTree->appendRangeRecord(m_rangeBeginIndex, m_currentIndex, current.transformNode, current.offset); |
- } |
- |
- // The current display item is a boundary. |
- // The earliest the next range could begin is the next one. |
- m_rangeBeginIndex = m_currentIndex + 1; |
-} |
- |
-} // namespace blink |