| 
									
										
										
										
											2024-02-19 19:01:34 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Copyright (c) 2024, Matthew Olsson <mattco@serenityos.org>. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * SPDX-License-Identifier: BSD-2-Clause | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <LibWeb/CSS/PropertyID.h>
 | 
					
						
							|  |  |  | #include <LibWeb/CSS/StyleValues/TransitionStyleValue.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Web::CSS { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-07 00:59:49 +01:00
										 |  |  | String TransitionStyleValue::to_string(SerializationMode mode) const | 
					
						
							| 
									
										
										
										
											2024-02-19 19:01:34 -07:00
										 |  |  | { | 
					
						
							|  |  |  |     StringBuilder builder; | 
					
						
							|  |  |  |     bool first = true; | 
					
						
							|  |  |  |     for (auto const& transition : m_transitions) { | 
					
						
							|  |  |  |         if (!first) | 
					
						
							|  |  |  |             builder.append(", "sv); | 
					
						
							|  |  |  |         first = false; | 
					
						
							| 
									
										
										
										
											2024-12-07 00:59:49 +01:00
										 |  |  |         builder.appendff("{} {} {} {}", transition.property_name->to_string(mode), transition.duration, transition.easing->to_string(mode), transition.delay); | 
					
						
							| 
									
										
										
										
											2025-04-17 19:11:14 +01:00
										 |  |  |         if (transition.transition_behavior != TransitionBehavior::Normal) | 
					
						
							|  |  |  |             builder.appendff(" {}", CSS::to_string(transition.transition_behavior)); | 
					
						
							| 
									
										
										
										
											2024-02-19 19:01:34 -07:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return MUST(builder.to_string()); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool TransitionStyleValue::properties_equal(TransitionStyleValue const& other) const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     if (m_transitions.size() != other.m_transitions.size()) | 
					
						
							|  |  |  |         return false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     for (size_t i = 0; i < m_transitions.size(); i++) { | 
					
						
							|  |  |  |         if (m_transitions[i] != other.m_transitions[i]) | 
					
						
							|  |  |  |             return false; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return true; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |