Coverage Report

Created: 2026-02-16 07:47

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibWeb/SVG/SVGViewport.h
Line
Count
Source
1
/*
2
 * Copyright (c) 2024, MacDue <macdue@dueutil.tech>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include <AK/Math.h>
10
#include <LibWeb/SVG/AttributeParser.h>
11
#include <LibWeb/SVG/ViewBox.h>
12
13
namespace Web::SVG {
14
15
class SVGViewport {
16
public:
17
    virtual Optional<ViewBox> view_box() const = 0;
18
    virtual Optional<PreserveAspectRatio> preserve_aspect_ratio() const = 0;
19
0
    virtual ~SVGViewport() = default;
20
};
21
22
inline CSSPixels normalized_diagonal_length(CSSPixelSize viewport_size)
23
0
{
24
0
    if (viewport_size.width() == viewport_size.height())
25
0
        return viewport_size.width();
26
0
    return sqrt((viewport_size.width() * viewport_size.width()) + (viewport_size.height() * viewport_size.height())) / CSSPixels::nearest_value_for(AK::Sqrt2<float>);
27
0
}
28
29
}