| 
									
										
										
										
											2022-10-03 16:25:42 +00:00
										 |  |  | #ifndef SVGELEMENT_H
 | 
					
						
							|  |  |  | #define SVGELEMENT_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "graphicselement.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace lunasvg { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-16 10:31:43 +00:00
										 |  |  | class TreeBuilder; | 
					
						
							| 
									
										
										
										
											2022-10-03 16:25:42 +00:00
										 |  |  | class LayoutSymbol; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-29 10:37:05 +00:00
										 |  |  | class SVGElement : public GraphicsElement { | 
					
						
							| 
									
										
										
										
											2022-10-03 16:25:42 +00:00
										 |  |  | public: | 
					
						
							|  |  |  |     SVGElement(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Length x() const; | 
					
						
							|  |  |  |     Length y() const; | 
					
						
							|  |  |  |     Length width() const; | 
					
						
							|  |  |  |     Length height() const; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Rect viewBox() const; | 
					
						
							|  |  |  |     PreserveAspectRatio preserveAspectRatio() const; | 
					
						
							| 
									
										
										
										
											2022-10-16 10:31:43 +00:00
										 |  |  |     std::unique_ptr<LayoutSymbol> build(const TreeBuilder* builder) const; | 
					
						
							| 
									
										
										
										
											2022-10-03 16:25:42 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     void layout(LayoutContext* context, LayoutContainer* current) const; | 
					
						
							|  |  |  |     std::unique_ptr<Node> clone() const; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } // namespace lunasvg
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif // SVGELEMENT_H
 |