Coverage Report

Created: 2025-11-02 07:25

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibWeb/PixelUnits.cpp
Line
Count
Source
1
/*
2
 * Copyright (c) 2023, Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#include <AK/Math.h>
8
#include <LibIPC/Decoder.h>
9
#include <LibIPC/Encoder.h>
10
#include <LibWeb/PixelUnits.h>
11
12
namespace Web {
13
14
float CSSPixels::to_float() const
15
0
{
16
0
    return static_cast<float>(m_value) / fixed_point_denominator;
17
0
}
18
19
double CSSPixels::to_double() const
20
0
{
21
0
    return static_cast<double>(m_value) / fixed_point_denominator;
22
0
}
23
24
int CSSPixels::to_int() const
25
0
{
26
0
    return m_value / fixed_point_denominator;
27
0
}
28
29
}
30
31
namespace IPC {
32
33
template<>
34
ErrorOr<void> encode(Encoder& encoder, Web::DevicePixels const& value)
35
0
{
36
0
    TRY(encoder.encode(value.value()));
37
0
    return {};
38
0
}
39
40
template<>
41
ErrorOr<Web::DevicePixels> decode(Decoder& decoder)
42
0
{
43
0
    auto value = TRY(decoder.decode<int>());
44
0
    return Web::DevicePixels(value);
45
0
}
46
47
template<>
48
ErrorOr<void> encode(Encoder& encoder, Web::DevicePixelPoint const& value)
49
0
{
50
0
    TRY(encoder.encode(value.x()));
51
0
    TRY(encoder.encode(value.y()));
52
0
    return {};
53
0
}
54
55
template<>
56
ErrorOr<Web::DevicePixelPoint> decode(Decoder& decoder)
57
0
{
58
0
    auto x = TRY(decoder.decode<Web::DevicePixels>());
59
0
    auto y = TRY(decoder.decode<Web::DevicePixels>());
60
0
    return Web::DevicePixelPoint { x, y };
61
0
}
62
63
template<>
64
ErrorOr<void> encode(Encoder& encoder, Web::DevicePixelSize const& value)
65
0
{
66
0
    TRY(encoder.encode(value.width()));
67
0
    TRY(encoder.encode(value.height()));
68
0
    return {};
69
0
}
70
71
template<>
72
ErrorOr<Web::DevicePixelSize> decode(Decoder& decoder)
73
0
{
74
0
    auto width = TRY(decoder.decode<Web::DevicePixels>());
75
0
    auto height = TRY(decoder.decode<Web::DevicePixels>());
76
0
    return Web::DevicePixelSize { width, height };
77
0
}
78
79
template<>
80
ErrorOr<void> encode(Encoder& encoder, Web::DevicePixelRect const& value)
81
0
{
82
0
    TRY(encoder.encode(value.location()));
83
0
    TRY(encoder.encode(value.size()));
84
0
    return {};
85
0
}
86
87
template<>
88
ErrorOr<Web::DevicePixelRect> decode(Decoder& decoder)
89
0
{
90
0
    auto location = TRY(decoder.decode<Web::DevicePixelPoint>());
91
0
    auto size = TRY(decoder.decode<Web::DevicePixelSize>());
92
0
    return Web::DevicePixelRect { location, size };
93
0
}
94
95
}