Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
blend_unittest.cpp
Go to the documentation of this file.
1
// Copyright 2023 The PDFium Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#
include
"core/fxge/dib/blend.h"
6
7
#
include
"core/fxge/dib/fx_dib.h"
8
#
include
"testing/gtest/include/gtest/gtest.h"
9
10
namespace
fxge
{
11
12
TEST
(
Blend
,
Normal
) {
13
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kNormal
, 0, 0));
14
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kNormal
, 99, 0));
15
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kNormal
, 255, 0));
16
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kNormal
, 0, 99));
17
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kNormal
, 99, 99));
18
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kNormal
, 255, 99));
19
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kNormal
, 0, 255));
20
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kNormal
, 99, 255));
21
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kNormal
, 255, 255));
22
}
23
24
TEST
(
Blend
,
Multiply
) {
25
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kMultiply
, 0, 0));
26
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kMultiply
, 99, 0));
27
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kMultiply
, 255, 0));
28
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kMultiply
, 0, 99));
29
EXPECT_EQ
(38,
Blend
(
BlendMode
::
kMultiply
, 99, 99));
30
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kMultiply
, 255, 99));
31
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kMultiply
, 0, 255));
32
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kMultiply
, 99, 255));
33
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kMultiply
, 255, 255));
34
}
35
36
TEST
(
Blend
,
Screen
) {
37
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kScreen
, 0, 0));
38
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kScreen
, 99, 0));
39
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kScreen
, 255, 0));
40
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kScreen
, 0, 99));
41
EXPECT_EQ
(160,
Blend
(
BlendMode
::
kScreen
, 99, 99));
42
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kScreen
, 255, 99));
43
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kScreen
, 0, 255));
44
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kScreen
, 99, 255));
45
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kScreen
, 255, 255));
46
}
47
48
TEST
(
Blend
,
Overlay
) {
49
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kOverlay
, 0, 0));
50
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kOverlay
, 99, 0));
51
EXPECT_EQ
(143,
Blend
(
BlendMode
::
kOverlay
, 199, 0));
52
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kOverlay
, 255, 0));
53
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kOverlay
, 0, 99));
54
EXPECT_EQ
(76,
Blend
(
BlendMode
::
kOverlay
, 99, 99));
55
EXPECT_EQ
(187,
Blend
(
BlendMode
::
kOverlay
, 199, 99));
56
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kOverlay
, 255, 99));
57
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kOverlay
, 0, 199));
58
EXPECT_EQ
(154,
Blend
(
BlendMode
::
kOverlay
, 99, 199));
59
EXPECT_EQ
(231,
Blend
(
BlendMode
::
kOverlay
, 199, 199));
60
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kOverlay
, 255, 199));
61
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kOverlay
, 0, 255));
62
EXPECT_EQ
(198,
Blend
(
BlendMode
::
kOverlay
, 99, 255));
63
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kOverlay
, 199, 255));
64
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kOverlay
, 255, 255));
65
}
66
67
TEST
(
Blend
,
Darken
) {
68
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kDarken
, 0, 0));
69
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kDarken
, 99, 0));
70
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kDarken
, 255, 0));
71
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kDarken
, 0, 99));
72
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kDarken
, 99, 99));
73
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kDarken
, 255, 99));
74
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kDarken
, 0, 255));
75
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kDarken
, 99, 255));
76
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kDarken
, 255, 255));
77
}
78
79
TEST
(
Blend
,
Lighten
) {
80
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kLighten
, 0, 0));
81
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kLighten
, 99, 0));
82
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kLighten
, 255, 0));
83
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kLighten
, 0, 99));
84
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kLighten
, 99, 99));
85
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kLighten
, 255, 99));
86
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kLighten
, 0, 255));
87
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kLighten
, 99, 255));
88
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kLighten
, 255, 255));
89
}
90
91
TEST
(
Blend
,
ColorDodge
) {
92
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kColorDodge
, 0, 0));
93
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kColorDodge
, 99, 0));
94
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kColorDodge
, 255, 0));
95
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kColorDodge
, 0, 99));
96
EXPECT_EQ
(161,
Blend
(
BlendMode
::
kColorDodge
, 99, 99));
97
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kColorDodge
, 255, 99));
98
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kColorDodge
, 0, 255));
99
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kColorDodge
, 99, 255));
100
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kColorDodge
, 255, 255));
101
}
102
103
TEST
(
Blend
,
ColorBurn
) {
104
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kColorBurn
, 0, 0));
105
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kColorBurn
, 99, 0));
106
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kColorBurn
, 255, 0));
107
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kColorBurn
, 0, 99));
108
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kColorBurn
, 99, 99));
109
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kColorBurn
, 255, 99));
110
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kColorBurn
, 0, 255));
111
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kColorBurn
, 99, 255));
112
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kColorBurn
, 255, 255));
113
}
114
115
TEST
(
Blend
,
HardLight
) {
116
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kHardLight
, 0, 0));
117
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kHardLight
, 99, 0));
118
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kHardLight
, 255, 0));
119
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kHardLight
, 0, 99));
120
EXPECT_EQ
(76,
Blend
(
BlendMode
::
kHardLight
, 99, 99));
121
EXPECT_EQ
(198,
Blend
(
BlendMode
::
kHardLight
, 255, 99));
122
EXPECT_EQ
(143,
Blend
(
BlendMode
::
kHardLight
, 0, 199));
123
EXPECT_EQ
(187,
Blend
(
BlendMode
::
kHardLight
, 99, 199));
124
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kHardLight
, 255, 199));
125
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kHardLight
, 0, 255));
126
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kHardLight
, 99, 255));
127
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kHardLight
, 255, 255));
128
}
129
130
TEST
(
Blend
,
SoftLight
) {
131
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kSoftLight
, 0, 0));
132
EXPECT_EQ
(39,
Blend
(
BlendMode
::
kSoftLight
, 99, 0));
133
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kSoftLight
, 255, 0));
134
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kSoftLight
, 0, 99));
135
EXPECT_EQ
(86,
Blend
(
BlendMode
::
kSoftLight
, 99, 99));
136
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kSoftLight
, 255, 99));
137
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kSoftLight
, 0, 199));
138
EXPECT_EQ
(81,
Blend
(
BlendMode
::
kSoftLight
, 47, 199));
139
EXPECT_EQ
(132,
Blend
(
BlendMode
::
kSoftLight
, 99, 199));
140
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kSoftLight
, 255, 199));
141
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kSoftLight
, 0, 255));
142
EXPECT_EQ
(109,
Blend
(
BlendMode
::
kSoftLight
, 47, 255));
143
EXPECT_EQ
(159,
Blend
(
BlendMode
::
kSoftLight
, 99, 255));
144
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kSoftLight
, 255, 255));
145
}
146
147
TEST
(
Blend
,
Difference
) {
148
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kDifference
, 0, 0));
149
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kDifference
, 99, 0));
150
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kDifference
, 255, 0));
151
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kDifference
, 0, 99));
152
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kDifference
, 99, 99));
153
EXPECT_EQ
(156,
Blend
(
BlendMode
::
kDifference
, 255, 99));
154
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kDifference
, 0, 255));
155
EXPECT_EQ
(156,
Blend
(
BlendMode
::
kDifference
, 99, 255));
156
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kDifference
, 255, 255));
157
}
158
159
TEST
(
Blend
,
Exclusion
) {
160
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kExclusion
, 0, 0));
161
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kExclusion
, 99, 0));
162
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kExclusion
, 255, 0));
163
EXPECT_EQ
(99,
Blend
(
BlendMode
::
kExclusion
, 0, 99));
164
EXPECT_EQ
(122,
Blend
(
BlendMode
::
kExclusion
, 99, 99));
165
EXPECT_EQ
(156,
Blend
(
BlendMode
::
kExclusion
, 255, 99));
166
EXPECT_EQ
(255,
Blend
(
BlendMode
::
kExclusion
, 0, 255));
167
EXPECT_EQ
(156,
Blend
(
BlendMode
::
kExclusion
, 99, 255));
168
EXPECT_EQ
(0,
Blend
(
BlendMode
::
kExclusion
, 255, 255));
169
}
170
171
}
// namespace fxge
fxge
Definition
cfx_face.h:23
fxge::TEST
TEST(Blend, Normal)
Definition
blend_unittest.cpp:12
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxge
dib
blend_unittest.cpp
Generated on Sat Sep 21 2024 00:56:20 for Qt by
1.12.0