mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 00:12:44 +00:00 
			
		
		
		
	 95097e47a7
			
		
	
	
		95097e47a7
		
	
	
	
	
		
			
			Note that we currently can't resolve calc() values without a layout node, so when normalizing an image's source set, we'll flush any pending layout updates and hope that gives us an up-to-date layout node. I've left a FIXME about implementing this in a more elegant and less layout-thrashy way, as that will require more architectural work.
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2023, Sam Atkins <atkinssj@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include "CalculatedOr.h"
 | |
| 
 | |
| namespace Web::CSS {
 | |
| 
 | |
| Angle AngleOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const&) const
 | |
| {
 | |
|     return calculated->resolve_angle().value();
 | |
| }
 | |
| 
 | |
| Frequency FrequencyOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const&) const
 | |
| {
 | |
|     return calculated->resolve_frequency().value();
 | |
| }
 | |
| 
 | |
| Length LengthOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const& layout_node) const
 | |
| {
 | |
|     return calculated->resolve_length(layout_node).value();
 | |
| }
 | |
| 
 | |
| Length LengthOrCalculated::resolved(Length::ResolutionContext const& context) const
 | |
| {
 | |
|     if (is_calculated())
 | |
|         return calculated()->resolve_length(context).value();
 | |
|     return value();
 | |
| }
 | |
| 
 | |
| Percentage PercentageOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const&) const
 | |
| {
 | |
|     return calculated->resolve_percentage().value();
 | |
| }
 | |
| 
 | |
| Time TimeOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const&) const
 | |
| {
 | |
|     return calculated->resolve_time().value();
 | |
| }
 | |
| 
 | |
| }
 |