Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / Source / core / paint / BoxClipper.h
blob5f06af8db3f489be5d1a2c5bd984bcfbb9469447
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 BoxClipper_h
6 #define BoxClipper_h
8 #include "platform/geometry/LayoutPoint.h"
9 #include "platform/graphics/paint/DisplayItem.h"
10 #include "wtf/Allocator.h"
12 namespace blink {
14 class LayoutBox;
15 struct PaintInfo;
17 enum ContentsClipBehavior { ForceContentsClip, SkipContentsClipIfPossible };
19 class BoxClipper {
20 STACK_ALLOCATED();
21 public:
22 BoxClipper(const LayoutBox&, const PaintInfo&, const LayoutPoint& accumulatedOffset, ContentsClipBehavior);
23 ~BoxClipper();
24 private:
25 const LayoutBox& m_box;
26 const PaintInfo& m_paintInfo;
27 DisplayItem::Type m_clipType;
30 } // namespace blink
32 #endif // BoxClipper_h