mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:28:11 +00:00

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)
|
|
|