mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 03:37:43 +00:00
LibWeb: Remove CalculatedStyleValue from Frequency
Conveniently, we don't actually use Frequency for any properties.
This commit is contained in:
parent
7a1a97f153
commit
bf915fdfd7
2 changed files with 3 additions and 33 deletions
|
@ -1,11 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022, Sam Atkins <atkinssj@serenityos.org>
|
* Copyright (c) 2022-2023, Sam Atkins <atkinssj@serenityos.org>
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: BSD-2-Clause
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "Frequency.h"
|
#include "Frequency.h"
|
||||||
#include <LibWeb/CSS/StyleValue.h>
|
#include <LibWeb/CSS/Percentage.h>
|
||||||
|
|
||||||
namespace Web::CSS {
|
namespace Web::CSS {
|
||||||
|
|
||||||
|
@ -21,13 +21,6 @@ Frequency::Frequency(float value, Type type)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Frequency Frequency::make_calculated(NonnullRefPtr<CalculatedStyleValue> calculated_style_value)
|
|
||||||
{
|
|
||||||
Frequency frequency { 0, Type::Calculated };
|
|
||||||
frequency.m_calculated_style = move(calculated_style_value);
|
|
||||||
return frequency;
|
|
||||||
}
|
|
||||||
|
|
||||||
Frequency Frequency::make_hertz(float value)
|
Frequency Frequency::make_hertz(float value)
|
||||||
{
|
{
|
||||||
return { value, Type::Hz };
|
return { value, Type::Hz };
|
||||||
|
@ -35,23 +28,17 @@ Frequency Frequency::make_hertz(float value)
|
||||||
|
|
||||||
Frequency Frequency::percentage_of(Percentage const& percentage) const
|
Frequency Frequency::percentage_of(Percentage const& percentage) const
|
||||||
{
|
{
|
||||||
VERIFY(!is_calculated());
|
|
||||||
|
|
||||||
return Frequency { percentage.as_fraction() * m_value, m_type };
|
return Frequency { percentage.as_fraction() * m_value, m_type };
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<String> Frequency::to_string() const
|
ErrorOr<String> Frequency::to_string() const
|
||||||
{
|
{
|
||||||
if (is_calculated())
|
|
||||||
return m_calculated_style->to_string();
|
|
||||||
return String::formatted("{}{}", m_value, unit_name());
|
return String::formatted("{}{}", m_value, unit_name());
|
||||||
}
|
}
|
||||||
|
|
||||||
float Frequency::to_hertz() const
|
float Frequency::to_hertz() const
|
||||||
{
|
{
|
||||||
switch (m_type) {
|
switch (m_type) {
|
||||||
case Type::Calculated:
|
|
||||||
return m_calculated_style->resolve_frequency()->to_hertz();
|
|
||||||
case Type::Hz:
|
case Type::Hz:
|
||||||
return m_value;
|
return m_value;
|
||||||
case Type::kHz:
|
case Type::kHz:
|
||||||
|
@ -63,8 +50,6 @@ float Frequency::to_hertz() const
|
||||||
StringView Frequency::unit_name() const
|
StringView Frequency::unit_name() const
|
||||||
{
|
{
|
||||||
switch (m_type) {
|
switch (m_type) {
|
||||||
case Type::Calculated:
|
|
||||||
return "calculated"sv;
|
|
||||||
case Type::Hz:
|
case Type::Hz:
|
||||||
return "hz"sv;
|
return "hz"sv;
|
||||||
case Type::kHz:
|
case Type::kHz:
|
||||||
|
@ -83,10 +68,4 @@ Optional<Frequency::Type> Frequency::unit_from_name(StringView name)
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
NonnullRefPtr<CalculatedStyleValue> Frequency::calculated_style_value() const
|
|
||||||
{
|
|
||||||
VERIFY(!m_calculated_style.is_null());
|
|
||||||
return *m_calculated_style;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022, Sam Atkins <atkinssj@serenityos.org>
|
* Copyright (c) 2022-2023, Sam Atkins <atkinssj@serenityos.org>
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: BSD-2-Clause
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <AK/RefPtr.h>
|
|
||||||
#include <AK/String.h>
|
#include <AK/String.h>
|
||||||
#include <LibWeb/Forward.h>
|
#include <LibWeb/Forward.h>
|
||||||
|
|
||||||
|
@ -14,7 +13,6 @@ namespace Web::CSS {
|
||||||
class Frequency {
|
class Frequency {
|
||||||
public:
|
public:
|
||||||
enum class Type {
|
enum class Type {
|
||||||
Calculated,
|
|
||||||
Hz,
|
Hz,
|
||||||
kHz
|
kHz
|
||||||
};
|
};
|
||||||
|
@ -23,20 +21,14 @@ public:
|
||||||
|
|
||||||
Frequency(int value, Type type);
|
Frequency(int value, Type type);
|
||||||
Frequency(float value, Type type);
|
Frequency(float value, Type type);
|
||||||
static Frequency make_calculated(NonnullRefPtr<CalculatedStyleValue>);
|
|
||||||
static Frequency make_hertz(float);
|
static Frequency make_hertz(float);
|
||||||
Frequency percentage_of(Percentage const&) const;
|
Frequency percentage_of(Percentage const&) const;
|
||||||
|
|
||||||
bool is_calculated() const { return m_type == Type::Calculated; }
|
|
||||||
NonnullRefPtr<CalculatedStyleValue> calculated_style_value() const;
|
|
||||||
|
|
||||||
ErrorOr<String> to_string() const;
|
ErrorOr<String> to_string() const;
|
||||||
float to_hertz() const;
|
float to_hertz() const;
|
||||||
|
|
||||||
bool operator==(Frequency const& other) const
|
bool operator==(Frequency const& other) const
|
||||||
{
|
{
|
||||||
if (is_calculated())
|
|
||||||
return m_calculated_style == other.m_calculated_style;
|
|
||||||
return m_type == other.m_type && m_value == other.m_value;
|
return m_type == other.m_type && m_value == other.m_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +37,6 @@ private:
|
||||||
|
|
||||||
Type m_type;
|
Type m_type;
|
||||||
float m_value { 0 };
|
float m_value { 0 };
|
||||||
RefPtr<CalculatedStyleValue> m_calculated_style;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue