ozone: evdev: Sync caps lock LED state to evdev
[chromium-blink-merge.git] / cc / blink / web_display_item_list_impl.h
blob2bb1b90b7ff72e01975f2c4d70d13422d93a29ab
1 // Copyright 2014 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.
5 #ifndef CC_BLINK_WEB_DISPLAY_ITEM_LIST_IMPL_H_
6 #define CC_BLINK_WEB_DISPLAY_ITEM_LIST_IMPL_H_
8 #include "base/memory/ref_counted.h"
9 #include "cc/blink/cc_blink_export.h"
10 #include "cc/resources/display_item_list.h"
11 #include "third_party/WebKit/public/platform/WebBlendMode.h"
12 #include "third_party/WebKit/public/platform/WebContentLayerClient.h"
13 #include "third_party/WebKit/public/platform/WebDisplayItemList.h"
14 #include "third_party/WebKit/public/platform/WebFloatPoint.h"
15 #include "third_party/WebKit/public/platform/WebVector.h"
16 #include "third_party/skia/include/core/SkRegion.h"
17 #include "third_party/skia/include/core/SkXfermode.h"
18 #include "ui/gfx/geometry/point_f.h"
20 class SkColorFilter;
21 class SkImageFilter;
22 class SkMatrix44;
23 class SkPath;
24 class SkPicture;
25 class SkRRect;
27 namespace cc_blink {
29 class WebDisplayItemListImpl : public blink::WebDisplayItemList {
30 public:
31 CC_BLINK_EXPORT WebDisplayItemListImpl();
32 virtual ~WebDisplayItemListImpl();
34 scoped_refptr<cc::DisplayItemList> ToDisplayItemList();
36 // blink::WebDisplayItemList implementation.
37 virtual void appendDrawingItem(const SkPicture*);
38 virtual void appendClipItem(
39 const blink::WebRect& clip_rect,
40 const blink::WebVector<SkRRect>& rounded_clip_rects);
41 virtual void appendEndClipItem();
42 virtual void appendClipPathItem(const SkPath& clip_path,
43 SkRegion::Op clip_op,
44 bool antialias);
45 virtual void appendEndClipPathItem();
46 virtual void appendFloatClipItem(const blink::WebFloatRect& clip_rect);
47 virtual void appendEndFloatClipItem();
48 virtual void appendTransformItem(const SkMatrix44& matrix);
49 virtual void appendEndTransformItem();
50 // TODO(pdr): Remove this once the blink-side callers have been removed.
51 virtual void appendCompositingItem(float opacity,
52 SkXfermode::Mode,
53 SkColorFilter*);
54 virtual void appendCompositingItem(float opacity,
55 SkXfermode::Mode,
56 SkRect* bounds,
57 SkColorFilter*);
58 virtual void appendEndCompositingItem();
59 virtual void appendFilterItem(const blink::WebFilterOperations& filters,
60 const blink::WebFloatRect& bounds);
61 virtual void appendEndFilterItem();
62 virtual void appendScrollItem(const blink::WebSize& scrollOffset,
63 ScrollContainerId);
64 virtual void appendEndScrollItem();
66 private:
67 scoped_refptr<cc::DisplayItemList> display_item_list_;
69 DISALLOW_COPY_AND_ASSIGN(WebDisplayItemListImpl);
72 } // namespace cc_blink
74 #endif // CC_BLINK_WEB_DISPLAY_ITEM_LIST_IMPL_H_