aboutsummaryrefslogtreecommitdiffstats
path: root/src/render_inline_context.cpp
diff options
context:
space:
mode:
authorYuri Kobets <[email protected]>2024-01-31 03:48:44 +0300
committerGitHub <[email protected]>2024-01-31 03:48:44 +0300
commit6ca1ab0419e770e6d35a1ef690238773a1dafcee (patch)
tree16df635edd594dc1d1b9d0044993e2ae4d0e0200 /src/render_inline_context.cpp
parent8c320007878795fe629de7fe1eaef9328ac9c719 (diff)
parentd85ebec101e77825e5708e58df0e2508ec4fd389 (diff)
Merge pull request #285 from litehtml/flex_layoutHEADv0.9dev
Flex layout
Diffstat (limited to 'src/render_inline_context.cpp')
-rw-r--r--src/render_inline_context.cpp41
1 files changed, 25 insertions, 16 deletions
diff --git a/src/render_inline_context.cpp b/src/render_inline_context.cpp
index 2d8f2e17..4f5d7701 100644
--- a/src/render_inline_context.cpp
+++ b/src/render_inline_context.cpp
@@ -382,21 +382,30 @@ void litehtml::render_item_inline_context::apply_vertical_align()
}
}
-int litehtml::render_item_inline_context::get_base_line()
+int litehtml::render_item_inline_context::get_first_baseline()
{
- auto el_parent = parent();
- if(el_parent && src_el()->css().get_display() == display_inline_flex)
- {
- return el_parent->get_base_line();
- }
- if(src_el()->is_replaced())
- {
- return 0;
- }
- int bl = 0;
- if(!m_line_boxes.empty())
- {
- bl = m_line_boxes.back()->baseline() + content_offset_bottom();
- }
- return bl;
+ int bl;
+ if(!m_line_boxes.empty())
+ {
+ const auto &line = m_line_boxes.front();
+ bl = line->bottom() - line->baseline() + content_offset_top();
+ } else
+ {
+ bl = height() - margin_bottom();
+ }
+ return bl;
+}
+
+int litehtml::render_item_inline_context::get_last_baseline()
+{
+ int bl;
+ if(!m_line_boxes.empty())
+ {
+ const auto &line = m_line_boxes.back();
+ bl = line->bottom() - line->baseline() + content_offset_top();
+ } else
+ {
+ bl = height() - margin_bottom();
+ }
+ return bl;
}