
Or LayoutBlock will assert when trying to layout its children since they have inconsistent inline state.
26 lines
646 B
C++
26 lines
646 B
C++
#include <LibHTML/Layout/LayoutListItem.h>
|
|
#include <LibHTML/Layout/LayoutListItemMarker.h>
|
|
|
|
LayoutListItem::LayoutListItem(const Element& element, NonnullRefPtr<StyleProperties> style)
|
|
: LayoutBlock(&element, move(style))
|
|
{
|
|
}
|
|
|
|
LayoutListItem::~LayoutListItem()
|
|
{
|
|
}
|
|
|
|
void LayoutListItem::layout()
|
|
{
|
|
LayoutBlock::layout();
|
|
|
|
if (!m_marker) {
|
|
m_marker = adopt(*new LayoutListItemMarker);
|
|
if (first_child())
|
|
m_marker->set_inline(first_child()->is_inline());
|
|
append_child(*m_marker);
|
|
}
|
|
|
|
Rect marker_rect { rect().x() - 8, rect().y(), 4, rect().height() };
|
|
m_marker->set_rect(marker_rect);
|
|
}
|