mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 13:20:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			637 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			637 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include <LibHTML/Layout/LayoutBlock.h>
 | |
| #include <LibHTML/Layout/LayoutNode.h>
 | |
| #include <LibHTML/CSS/StyledNode.h>
 | |
| 
 | |
| LayoutNode::LayoutNode(const Node* node, const StyledNode* styled_node)
 | |
|     : m_node(node)
 | |
|     , m_styled_node(styled_node)
 | |
| {
 | |
| }
 | |
| 
 | |
| LayoutNode::~LayoutNode()
 | |
| {
 | |
| }
 | |
| 
 | |
| void LayoutNode::layout()
 | |
| {
 | |
|     for_each_child([](auto& child) {
 | |
|         child.layout();
 | |
|     });
 | |
| }
 | |
| 
 | |
| const LayoutBlock* LayoutNode::containing_block() const
 | |
| {
 | |
|     for (auto* ancestor = parent(); ancestor; ancestor = ancestor->parent()) {
 | |
|         if (ancestor->is_block())
 | |
|             return static_cast<const LayoutBlock*>(ancestor);
 | |
|     }
 | |
|     return nullptr;
 | |
| }
 | 
