1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:47:36 +00:00

LibWeb: Use generated TransformFunction enum and functions

This commit is contained in:
Sam Atkins 2022-04-17 15:52:30 +01:00 committed by Andreas Kling
parent 872ad98eba
commit 61ad39b110
3 changed files with 3 additions and 81 deletions

View file

@ -4769,33 +4769,6 @@ RefPtr<StyleValue> Parser::parse_text_decoration_line_value(TokenStream<Componen
return StyleValueList::create(move(style_values), StyleValueList::Separator::Space); return StyleValueList::create(move(style_values), StyleValueList::Separator::Space);
} }
static Optional<CSS::TransformFunction> parse_transform_function_name(StringView name)
{
if (name == "matrix")
return CSS::TransformFunction::Matrix;
if (name == "translate")
return CSS::TransformFunction::Translate;
if (name == "translateX")
return CSS::TransformFunction::TranslateX;
if (name == "translateY")
return CSS::TransformFunction::TranslateY;
if (name == "scale")
return CSS::TransformFunction::Scale;
if (name == "scaleX")
return CSS::TransformFunction::ScaleX;
if (name == "scaleY")
return CSS::TransformFunction::ScaleY;
if (name == "rotate")
return CSS::TransformFunction::Rotate;
if (name == "skew")
return CSS::TransformFunction::Skew;
if (name == "skewX")
return CSS::TransformFunction::SkewX;
if (name == "skewY")
return CSS::TransformFunction::SkewY;
return {};
}
RefPtr<StyleValue> Parser::parse_transform_value(Vector<ComponentValue> const& component_values) RefPtr<StyleValue> Parser::parse_transform_value(Vector<ComponentValue> const& component_values)
{ {
NonnullRefPtrVector<StyleValue> transformations; NonnullRefPtrVector<StyleValue> transformations;
@ -4811,7 +4784,7 @@ RefPtr<StyleValue> Parser::parse_transform_value(Vector<ComponentValue> const& c
if (!part.is_function()) if (!part.is_function())
return nullptr; return nullptr;
auto maybe_function = parse_transform_function_name(part.function().name()); auto maybe_function = transform_function_from_string(part.function().name());
if (!maybe_function.has_value()) if (!maybe_function.has_value())
return nullptr; return nullptr;

View file

@ -1315,45 +1315,7 @@ String TextDecorationStyleValue::to_string() const
String TransformationStyleValue::to_string() const String TransformationStyleValue::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append(CSS::to_string(m_transform_function));
switch (m_transform_function) {
case TransformFunction::Matrix:
builder.append("matrix");
break;
case TransformFunction::Translate:
builder.append("translate");
break;
case TransformFunction::TranslateX:
builder.append("translateX");
break;
case TransformFunction::TranslateY:
builder.append("translateY");
break;
case TransformFunction::Scale:
builder.append("scale");
break;
case TransformFunction::ScaleX:
builder.append("scaleX");
break;
case TransformFunction::ScaleY:
builder.append("scaleY");
break;
case TransformFunction::Rotate:
builder.append("rotate");
break;
case TransformFunction::Skew:
builder.append("skew");
break;
case TransformFunction::SkewX:
builder.append("skewX");
break;
case TransformFunction::SkewY:
builder.append("skewY");
break;
default:
VERIFY_NOT_REACHED();
}
builder.append('('); builder.append('(');
builder.join(", ", m_values); builder.join(", ", m_values);
builder.append(')'); builder.append(')');

View file

@ -34,6 +34,7 @@
#include <LibWeb/CSS/PropertyID.h> #include <LibWeb/CSS/PropertyID.h>
#include <LibWeb/CSS/Resolution.h> #include <LibWeb/CSS/Resolution.h>
#include <LibWeb/CSS/Time.h> #include <LibWeb/CSS/Time.h>
#include <LibWeb/CSS/TransformFunctions.h>
#include <LibWeb/CSS/ValueID.h> #include <LibWeb/CSS/ValueID.h>
#include <LibWeb/Forward.h> #include <LibWeb/Forward.h>
#include <LibWeb/Loader/ImageResource.h> #include <LibWeb/Loader/ImageResource.h>
@ -72,20 +73,6 @@ inline Gfx::Painter::ScalingMode to_gfx_scaling_mode(CSS::ImageRendering css_val
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
enum class TransformFunction {
Matrix,
Translate,
TranslateX,
TranslateY,
Scale,
ScaleX,
ScaleY,
Rotate,
Skew,
SkewX,
SkewY,
};
class StyleValue : public RefCounted<StyleValue> { class StyleValue : public RefCounted<StyleValue> {
public: public:
virtual ~StyleValue() = default; virtual ~StyleValue() = default;