forked from SerenityOS/serenity
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
LibWeb: Remove CalculatedStyleValue from Time
Time also isn't used anywhere yet, hooray!
- Loading branch information
1 parent
bf915fd
commit ac43507
Showing
2 changed files
with
3 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,11 @@ | ||
/* | ||
* Copyright (c) 2022, Sam Atkins <[email protected]> | ||
* Copyright (c) 2022-2023, Sam Atkins <[email protected]> | ||
* | ||
* SPDX-License-Identifier: BSD-2-Clause | ||
*/ | ||
|
||
#include "Time.h" | ||
#include <LibWeb/CSS/StyleValue.h> | ||
#include <LibWeb/CSS/Percentage.h> | ||
|
||
namespace Web::CSS { | ||
|
||
|
@@ -21,37 +21,24 @@ Time::Time(float value, Type type) | |
{ | ||
} | ||
|
||
Time Time::make_calculated(NonnullRefPtr<CalculatedStyleValue> calculated_style_value) | ||
{ | ||
Time frequency { 0, Type::Calculated }; | ||
frequency.m_calculated_style = move(calculated_style_value); | ||
return frequency; | ||
} | ||
|
||
Time Time::make_seconds(float value) | ||
{ | ||
return { value, Type::S }; | ||
} | ||
|
||
Time Time::percentage_of(Percentage const& percentage) const | ||
{ | ||
VERIFY(!is_calculated()); | ||
|
||
return Time { percentage.as_fraction() * m_value, m_type }; | ||
} | ||
|
||
ErrorOr<String> Time::to_string() const | ||
{ | ||
if (is_calculated()) | ||
return m_calculated_style->to_string(); | ||
return String::formatted("{}{}", m_value, unit_name()); | ||
} | ||
|
||
float Time::to_seconds() const | ||
{ | ||
switch (m_type) { | ||
case Type::Calculated: | ||
return m_calculated_style->resolve_time()->to_seconds(); | ||
case Type::S: | ||
return m_value; | ||
case Type::Ms: | ||
|
@@ -63,8 +50,6 @@ float Time::to_seconds() const | |
StringView Time::unit_name() const | ||
{ | ||
switch (m_type) { | ||
case Type::Calculated: | ||
return "calculated"sv; | ||
case Type::S: | ||
return "s"sv; | ||
case Type::Ms: | ||
|
@@ -83,10 +68,4 @@ Optional<Time::Type> Time::unit_from_name(StringView name) | |
return {}; | ||
} | ||
|
||
NonnullRefPtr<CalculatedStyleValue> Time::calculated_style_value() const | ||
{ | ||
VERIFY(!m_calculated_style.is_null()); | ||
return *m_calculated_style; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,11 @@ | ||
/* | ||
* Copyright (c) 2022, Sam Atkins <[email protected]> | ||
* Copyright (c) 2022-2023, Sam Atkins <[email protected]> | ||
* | ||
* SPDX-License-Identifier: BSD-2-Clause | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include <AK/RefPtr.h> | ||
#include <AK/String.h> | ||
#include <LibWeb/Forward.h> | ||
|
||
|
@@ -15,7 +14,6 @@ namespace Web::CSS { | |
class Time { | ||
public: | ||
enum class Type { | ||
Calculated, | ||
S, | ||
Ms, | ||
}; | ||
|
@@ -24,20 +22,14 @@ class Time { | |
|
||
Time(int value, Type type); | ||
Time(float value, Type type); | ||
static Time make_calculated(NonnullRefPtr<CalculatedStyleValue>); | ||
static Time make_seconds(float); | ||
Time 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; | ||
float to_seconds() const; | ||
|
||
bool operator==(Time 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; | ||
} | ||
|
||
|
@@ -46,7 +38,6 @@ class Time { | |
|
||
Type m_type; | ||
float m_value { 0 }; | ||
RefPtr<CalculatedStyleValue> m_calculated_style; | ||
}; | ||
|
||
} | ||
|