mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:17:45 +00:00
LibWeb: Add list-style-type: decimal-leading-zero support
This doesn't exactly do what you would think from its name: It surely adds an extra leading zero to the front of a number, but only if the number is less than 10. CSS is weird sometimes.
This commit is contained in:
parent
64d7a8b7aa
commit
0983cd9243
4 changed files with 11 additions and 0 deletions
|
@ -77,6 +77,7 @@
|
|||
"crosshair",
|
||||
"dashed",
|
||||
"decimal",
|
||||
"decimal-leading-zero",
|
||||
"default",
|
||||
"disc",
|
||||
"dotted",
|
||||
|
|
|
@ -576,6 +576,8 @@ Optional<CSS::ListStyleType> StyleProperties::list_style_type() const
|
|||
return CSS::ListStyleType::Square;
|
||||
case CSS::ValueID::Decimal:
|
||||
return CSS::ListStyleType::Decimal;
|
||||
case CSS::ValueID::DecimalLeadingZero:
|
||||
return CSS::ListStyleType::DecimalLeadingZero;
|
||||
default:
|
||||
return {};
|
||||
}
|
||||
|
|
|
@ -159,6 +159,7 @@ enum class ListStyleType {
|
|||
Circle,
|
||||
Square,
|
||||
Decimal,
|
||||
DecimalLeadingZero,
|
||||
};
|
||||
|
||||
enum class Overflow : u8 {
|
||||
|
|
|
@ -52,6 +52,13 @@ void ListItemMarkerBox::paint(PaintContext& context, PaintPhase phase)
|
|||
case CSS::ListStyleType::Disc:
|
||||
context.painter().fill_ellipse(marker_rect, color);
|
||||
break;
|
||||
case CSS::ListStyleType::DecimalLeadingZero:
|
||||
// This is weird, but in accordance to spec.
|
||||
context.painter().draw_text(
|
||||
enclosing,
|
||||
m_index < 10 ? String::formatted("0{}.", m_index) : String::formatted("{}.", m_index),
|
||||
Gfx::TextAlignment::Center);
|
||||
break;
|
||||
case CSS::ListStyleType::None:
|
||||
return;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue