mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 03:02:45 +00:00 
			
		
		
		
	 0c14103025
			
		
	
	
		0c14103025
		
	
	
	
	
		
			
			This solves an awkward dependency cycle, where CalculatedStyleValue needs the definition of Percentage, but including that would also pull in PercentageOr, which in turn needs CalculatedStyleValue. Many places that previously included StyleValue.h no longer need to. :^)
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <LibWeb/CSS/PercentageOr.h>
 | |
| 
 | |
| namespace Web::CSS {
 | |
| 
 | |
| 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;
 | |
| };
 | |
| 
 | |
| }
 |