mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 13:17:35 +00:00
LibWeb: Use Vector<LineBoxFragment> instead of NonnullOwnPtrVector
This removes one step of indirection, but more importantly, makes it easy to copy these objects. :^)
This commit is contained in:
parent
16a47165ee
commit
916bbf5910
2 changed files with 5 additions and 6 deletions
|
@ -24,7 +24,7 @@ void LineBox::add_fragment(Node const& layout_node, int start, int length, float
|
||||||
m_fragments.last().m_length = (start - m_fragments.last().m_start) + length;
|
m_fragments.last().m_length = (start - m_fragments.last().m_start) + length;
|
||||||
m_fragments.last().set_width(m_fragments.last().width() + content_width);
|
m_fragments.last().set_width(m_fragments.last().width() + content_width);
|
||||||
} else {
|
} else {
|
||||||
m_fragments.append(make<LineBoxFragment>(layout_node, start, length, Gfx::FloatPoint(m_width + leading_size, 0.0f), Gfx::FloatSize(content_width, content_height), border_box_top, border_box_bottom, fragment_type));
|
m_fragments.append(LineBoxFragment { layout_node, start, length, Gfx::FloatPoint(m_width + leading_size, 0.0f), Gfx::FloatSize(content_width, content_height), border_box_top, border_box_bottom, fragment_type });
|
||||||
}
|
}
|
||||||
m_width += content_width + leading_size + trailing_size;
|
m_width += content_width + leading_size + trailing_size;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ void LineBox::trim_trailing_whitespace()
|
||||||
{
|
{
|
||||||
while (!m_fragments.is_empty() && m_fragments.last().is_justifiable_whitespace()) {
|
while (!m_fragments.is_empty() && m_fragments.last().is_justifiable_whitespace()) {
|
||||||
auto fragment = m_fragments.take_last();
|
auto fragment = m_fragments.take_last();
|
||||||
m_width -= fragment->width();
|
m_width -= fragment.width();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_fragments.is_empty())
|
if (m_fragments.is_empty())
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <AK/NonnullOwnPtrVector.h>
|
|
||||||
#include <AK/Vector.h>
|
#include <AK/Vector.h>
|
||||||
#include <LibWeb/Layout/LineBoxFragment.h>
|
#include <LibWeb/Layout/LineBoxFragment.h>
|
||||||
|
|
||||||
|
@ -20,8 +19,8 @@ public:
|
||||||
|
|
||||||
void add_fragment(Node const& layout_node, int start, int length, float leading_size, float trailing_size, float content_width, float content_height, float border_box_top, float border_box_bottom, LineBoxFragment::Type = LineBoxFragment::Type::Normal);
|
void add_fragment(Node const& layout_node, int start, int length, float leading_size, float trailing_size, float content_width, float content_height, float border_box_top, float border_box_bottom, LineBoxFragment::Type = LineBoxFragment::Type::Normal);
|
||||||
|
|
||||||
const NonnullOwnPtrVector<LineBoxFragment>& fragments() const { return m_fragments; }
|
Vector<LineBoxFragment> const& fragments() const { return m_fragments; }
|
||||||
NonnullOwnPtrVector<LineBoxFragment>& fragments() { return m_fragments; }
|
Vector<LineBoxFragment>& fragments() { return m_fragments; }
|
||||||
|
|
||||||
void trim_trailing_whitespace();
|
void trim_trailing_whitespace();
|
||||||
|
|
||||||
|
@ -33,7 +32,7 @@ private:
|
||||||
friend class InlineFormattingContext;
|
friend class InlineFormattingContext;
|
||||||
friend class LineBuilder;
|
friend class LineBuilder;
|
||||||
|
|
||||||
NonnullOwnPtrVector<LineBoxFragment> m_fragments;
|
Vector<LineBoxFragment> m_fragments;
|
||||||
float m_width { 0 };
|
float m_width { 0 };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue