mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-04 15:19:42 +00:00
LibHTML: Implement rendering
This commit is contained in:
parent
93003bfda1
commit
235dee8c42
Notes:
sideshowbarker
2024-07-19 11:55:46 +09:00
Author: https://github.com/bugaevc
Commit: 235dee8c42
Pull-request: https://github.com/SerenityOS/serenity/pull/609
Reviewed-by: https://github.com/awesomekling ✅
7 changed files with 62 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
|||
#include <AK/StringBuilder.h>
|
||||
#include <LibCore/CDirIterator.h>
|
||||
#include <LibDraw/Font.h>
|
||||
#include <LibGUI/GPainter.h>
|
||||
#include <LibHTML/Layout/LayoutBlock.h>
|
||||
#include <LibHTML/Layout/LayoutText.h>
|
||||
#include <ctype.h>
|
||||
|
@ -216,3 +217,19 @@ void LayoutText::layout()
|
|||
rect().set_right(last_run.pos.x() + m_font->width(last_run.text));
|
||||
rect().set_bottom(last_run.pos.y() + m_font->glyph_height());
|
||||
}
|
||||
|
||||
void LayoutText::render(RenderingContext& context)
|
||||
{
|
||||
auto& painter = context.painter();
|
||||
painter.set_font(*m_font);
|
||||
|
||||
for (auto& run : m_runs) {
|
||||
Rect rect {
|
||||
run.pos.x(),
|
||||
run.pos.y(),
|
||||
m_font->width(run.text),
|
||||
m_font->glyph_height()
|
||||
};
|
||||
painter.draw_text(rect, run.text);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue