Index: sky/engine/core/painting/LayerDrawLooperBuilder.cpp |
diff --git a/sky/engine/core/painting/LayerDrawLooperBuilder.cpp b/sky/engine/core/painting/LayerDrawLooperBuilder.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..17b4b6e04449ef96cb61370e3bf68cb2210b5d0c |
--- /dev/null |
+++ b/sky/engine/core/painting/LayerDrawLooperBuilder.cpp |
@@ -0,0 +1,37 @@ |
+// 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 "sky/engine/config.h" |
+#include "sky/engine/core/painting/LayerDrawLooperBuilder.h" |
+ |
+#include "sky/engine/core/painting/DrawLooper.h" |
+#include "sky/engine/core/painting/DrawLooperAddLayerCallback.h" |
+#include "sky/engine/core/painting/DrawLooperLayerInfo.h" |
+#include "sky/engine/core/painting/Paint.h" |
+ |
+namespace blink { |
+ |
+LayerDrawLooperBuilder::LayerDrawLooperBuilder() |
+{ |
+} |
+ |
+LayerDrawLooperBuilder::~LayerDrawLooperBuilder() |
+{ |
+} |
+ |
+PassRefPtr<DrawLooper> LayerDrawLooperBuilder::build() |
+{ |
+ return DrawLooper::create(adoptRef(m_drawLooperBuilder.detachLooper())); |
+} |
+ |
+void LayerDrawLooperBuilder::addLayerOnTop( |
+ DrawLooperLayerInfo* layerInfo, |
+ PassOwnPtr<DrawLooperAddLayerCallback> callback) |
+{ |
+ SkPaint* skPaint = m_drawLooperBuilder.addLayerOnTop(layerInfo->layerInfo()); |
+ RefPtr<Paint> paint = Paint::createWithWeakRef(skPaint); |
+ callback->handleEvent(paint.get()); |
+} |
+ |
+} // namespace blink |