mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 04:27:45 +00:00
LibWeb: Resolve cyclic declaration/definitions involving Length
This remained undetected for a long time as HeaderCheck is disabled by default. This commit makes the following file compile again: // file: compile_me.cpp #include <LibWeb/CSS/GridTrackSize.h> // That's it, this was enough to cause a compilation error.
This commit is contained in:
parent
53eb35caba
commit
8deced39a8
15 changed files with 192 additions and 125 deletions
|
@ -10,11 +10,28 @@
|
|||
|
||||
namespace Web::CSS {
|
||||
|
||||
struct LengthBox {
|
||||
LengthPercentage top { Length::make_auto() };
|
||||
LengthPercentage right { Length::make_auto() };
|
||||
LengthPercentage bottom { Length::make_auto() };
|
||||
LengthPercentage left { Length::make_auto() };
|
||||
class LengthBox {
|
||||
public:
|
||||
LengthBox();
|
||||
LengthBox(LengthPercentage top, LengthPercentage right, LengthPercentage bottom, LengthPercentage left);
|
||||
~LengthBox();
|
||||
|
||||
// Length (and thus LengthPercentage) includes a RefPtr<CalculatedStyleValue> member, but we can't include the header StyleValue.h as it includes
|
||||
// this file already. To break the cyclic dependency, we must initialize these members in the constructor.
|
||||
LengthPercentage& top() { return m_top; }
|
||||
LengthPercentage& right() { return m_right; }
|
||||
LengthPercentage& bottom() { return m_bottom; }
|
||||
LengthPercentage& left() { return m_left; };
|
||||
LengthPercentage const& top() const { return m_top; }
|
||||
LengthPercentage const& right() const { return m_right; }
|
||||
LengthPercentage const& bottom() const { return m_bottom; }
|
||||
LengthPercentage const& left() const { return m_left; };
|
||||
|
||||
private:
|
||||
LengthPercentage m_top;
|
||||
LengthPercentage m_right;
|
||||
LengthPercentage m_bottom;
|
||||
LengthPercentage m_left;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue