1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_NINE_PATCH_LAYER_IMPL_H_ 6 #define WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_NINE_PATCH_LAYER_IMPL_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "third_party/WebKit/public/platform/WebNinePatchLayer.h" 10 #include "third_party/skia/include/core/SkBitmap.h" 11 #include "webkit/renderer/compositor_bindings/webkit_compositor_bindings_export.h" 12 13 namespace webkit { 14 15 class WebLayerImpl; 16 17 class WebNinePatchLayerImpl : public blink::WebNinePatchLayer { 18 public: 19 WEBKIT_COMPOSITOR_BINDINGS_EXPORT WebNinePatchLayerImpl(); 20 virtual ~WebNinePatchLayerImpl(); 21 22 // blink::WebNinePatchLayer implementation. 23 virtual blink::WebLayer* layer(); 24 25 // TODO(ccameron): Remove setBitmap(SkBitmap, blink::WebRect) in favor of 26 // setBitmap(), setAperture(), and setBorder(); 27 virtual void setBitmap(SkBitmap bitmap, const blink::WebRect& aperture); 28 virtual void setBitmap(SkBitmap bitmap); 29 virtual void setAperture(const blink::WebRect& aperture); 30 virtual void setBorder(const blink::WebRect& border); 31 virtual void setFillCenter(bool fill_center); 32 33 private: 34 scoped_ptr<WebLayerImpl> layer_; 35 36 DISALLOW_COPY_AND_ASSIGN(WebNinePatchLayerImpl); 37 }; 38 39 } // namespace webkit 40 41 #endif // WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_NINE_PATCH_LAYER_IMPL_H_ 42