chromium/third_party/blink/renderer/core/paint/box_fragment_painter.h

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_BOX_FRAGMENT_PAINTER_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_BOX_FRAGMENT_PAINTER_H_

#include "base/check_op.h"
#include "base/dcheck_is_on.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/layout/background_bleed_avoidance.h"
#include "third_party/blink/renderer/core/layout/hit_test_phase.h"
#include "third_party/blink/renderer/core/layout/inline/inline_cursor.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/paint/box_painter_base.h"
#include "third_party/blink/renderer/core/paint/inline_paint_context.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"

namespace blink {

class BoxDecorationData;
class FillLayer;
class FragmentItems;
class HitTestLocation;
class HitTestResult;
class InlineBackwardCursor;
class InlineBoxFragmentPainter;
class InlineCursor;
class PhysicalFragment;
class ScopedPaintState;
struct PaintInfo;

// Painter for LayoutNG box fragments, paints borders and background. Delegates
// to TextFragmentPainter to paint line box fragments.
class CORE_EXPORT BoxFragmentPainter : public BoxPainterBase {};

inline BoxFragmentPainter::BoxFragmentPainter(
    const PhysicalBoxFragment& box,
    const DisplayItemClient& display_item_client,
    const InlineCursor* inline_box_cursor,
    const FragmentItem* box_item,
    InlinePaintContext* inline_context)
    :{}

inline BoxFragmentPainter::BoxFragmentPainter(
    const PhysicalBoxFragment& fragment)
    :{}

inline BoxFragmentPainter::BoxFragmentPainter(
    const InlineCursor& inline_box_cursor,
    const FragmentItem& item,
    const PhysicalBoxFragment& fragment,
    InlinePaintContext* inline_context)
    :{}

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_BOX_FRAGMENT_PAINTER_H_