mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 10:52:44 +00:00 
			
		
		
		
	 1d65cf367f
			
		
	
	
		1d65cf367f
		
	
	
	
	
		
			
			Inline layout is now done by LayoutBlock. Blocks with inline children will split them into line boxes during layout. A LayoutBlock can have zero or more LineBox objects. Each LineBox represents one visual line. A LineBox can have any number of LineBoxFragment children. A fragment is an offset+length into a specific LayoutNode. To paint a LayoutBlock with inline children, we walk its line boxes, and walk their fragments, painting each fragment at a time by calling LineBoxFragment::render(), which in turn calls the LayoutNode via LayoutText::render_fragment(). Hit testing works similarly. This is very incomplete and has many bugs, but should make it easier for us to move forward with this code.
		
			
				
	
	
		
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| LIBHTML_OBJS = \
 | |
|     DOM/Node.o \
 | |
|     DOM/ParentNode.o \
 | |
|     DOM/Element.o \
 | |
|     DOM/HTMLElement.o \
 | |
|     DOM/HTMLAnchorElement.o \
 | |
|     DOM/HTMLHeadingElement.o \
 | |
|     DOM/HTMLHeadElement.o \
 | |
|     DOM/HTMLHRElement.o \
 | |
|     DOM/HTMLHtmlElement.o \
 | |
|     DOM/HTMLStyleElement.o \
 | |
|     DOM/HTMLTitleElement.o \
 | |
|     DOM/Document.o \
 | |
|     DOM/Text.o \
 | |
|     CSS/Selector.o \
 | |
|     CSS/StyleSheet.o \
 | |
|     CSS/StyleRule.o \
 | |
|     CSS/StyleDeclaration.o \
 | |
|     CSS/StyleValue.o \
 | |
|     CSS/StyleProperties.o \
 | |
|     CSS/StyleResolver.o \
 | |
|     CSS/DefaultStyleSheetSource.o \
 | |
|     Parser/HTMLParser.o \
 | |
|     Parser/CSSParser.o \
 | |
|     Layout/LayoutNode.o \
 | |
|     Layout/LayoutText.o \
 | |
|     Layout/LayoutBlock.o \
 | |
|     Layout/LayoutInline.o \
 | |
|     Layout/LayoutDocument.o \
 | |
|     Layout/ComputedStyle.o \
 | |
|     Layout/LineBox.o \
 | |
|     Layout/LineBoxFragment.o \
 | |
|     HtmlView.o \
 | |
|     Dump.o
 | |
| 
 | |
| GENERATED_SOURCES = \
 | |
|     CSS/DefaultStyleSheetSource.cpp
 | |
| 
 | |
| OBJS = $(EXTRA_OBJS) $(LIBHTML_OBJS)
 | |
| 
 | |
| LIBRARY = libhtml.a
 | |
| DEFINES += -DUSERLAND
 | |
| 
 | |
| CSS/DefaultStyleSheetSource.cpp: CSS/Default.css Scripts/GenerateStyleSheetSource.sh
 | |
| 	@echo "GENERATE $@"; Scripts/GenerateStyleSheetSource.sh default_stylesheet_source $< > $@
 | |
| 
 | |
| .cpp.o:
 | |
| 	@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
 | |
| 
 | |
| -include $(OBJS:%.o=%.d)
 | |
| 
 | |
| clean:
 | |
| 	@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d $(GENERATED_SOURCES)
 | |
| 
 |