mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 06:52:45 +00:00 
			
		
		
		
	 7ce4cbfe1d
			
		
	
	
		7ce4cbfe1d
		
	
	
	
	
		
			
			We have double precision in the parser, and currently use doubles for most of layout, so we might as well keep that extra precision inside NumberStyleValue too.
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
 | |
|  * Copyright (c) 2021, Tobias Christiansen <tobyase@serenityos.org>
 | |
|  * Copyright (c) 2021-2023, Sam Atkins <atkinssj@serenityos.org>
 | |
|  * Copyright (c) 2022-2023, MacDue <macdue@dueutil.tech>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <LibWeb/CSS/StyleValue.h>
 | |
| 
 | |
| namespace Web::CSS {
 | |
| 
 | |
| class NumberStyleValue : public StyleValueWithDefaultOperators<NumberStyleValue> {
 | |
| public:
 | |
|     static ErrorOr<ValueComparingNonnullRefPtr<NumberStyleValue>> create(double value)
 | |
|     {
 | |
|         return adopt_nonnull_ref_or_enomem(new (nothrow) NumberStyleValue(value));
 | |
|     }
 | |
| 
 | |
|     double number() const { return m_value; }
 | |
| 
 | |
|     virtual ErrorOr<String> to_string() const override;
 | |
| 
 | |
|     bool properties_equal(NumberStyleValue const& other) const { return m_value == other.m_value; }
 | |
| 
 | |
| private:
 | |
|     explicit NumberStyleValue(double value)
 | |
|         : StyleValueWithDefaultOperators(Type::Number)
 | |
|         , m_value(value)
 | |
|     {
 | |
|     }
 | |
| 
 | |
|     double m_value { 0 };
 | |
| };
 | |
| 
 | |
| }
 |