5#include "core/fxge/dib/cfx_dibbase.h"
7#include "core/fxcrt/fx_coordinates.h"
8#include "core/fxge/dib/cfx_dibitmap.h"
9#include "testing/gtest/include/gtest/gtest.h"
14 CFX_Point src_top_left;
16 CFX_Point dest_top_left;
17 CFX_Size overlap_size;
21 CFX_Point src_top_left;
22 CFX_Point dest_top_left;
23 CFX_Size overlap_size;
26void RunOverlapRectTest(
const CFX_DIBitmap* bitmap,
28 const Output* expected_output) {
30 int src_left = input.src_top_left.x;
31 int src_top = input.src_top_left.y;
32 int dest_left = input.dest_top_left.x;
33 int dest_top = input.dest_top_left.y;
34 int overlap_width = input.overlap_size.width;
35 int overlap_height = input.overlap_size.height;
38 dest_left
, dest_top
, overlap_width
, overlap_height
, input.src_size.width
,
39 input.src_size.height
, src_left
, src_top
,
41 if (success == !expected_output) {
46 if (expected_output) {
47 EXPECT_EQ(expected_output->src_top_left.x, src_left);
48 EXPECT_EQ(expected_output->src_top_left.y, src_top);
49 EXPECT_EQ(expected_output->dest_top_left.x, dest_left);
50 EXPECT_EQ(expected_output->dest_top_left.y, dest_top);
51 EXPECT_EQ(expected_output->overlap_size.width, overlap_width);
52 EXPECT_EQ(expected_output->overlap_size.height, overlap_height);
59 auto bitmap = pdfium::MakeRetain<CFX_DIBitmap>();
62 const Input kInput = {{0, 0}, {400, 300},
65 const Output kExpectedOutput = {{0, 0},
68 RunOverlapRectTest(bitmap.Get(), kInput, &kExpectedOutput);
72 auto bitmap = pdfium::MakeRetain<CFX_DIBitmap>();
75 const Input kInput = {{35, 41}, {400, 300},
78 const Output kExpectedOutput = {{35, 41},
81 RunOverlapRectTest(bitmap.Get(), kInput, &kExpectedOutput);
85 auto bitmap = pdfium::MakeRetain<CFX_DIBitmap>();
88 const Input kInput = {{141, 154}, {400, 300},
91 const Output kExpectedOutput = {{141, 154},
94 RunOverlapRectTest(bitmap.Get(), kInput, &kExpectedOutput);
98 auto bitmap = pdfium::MakeRetain<CFX_DIBitmap>();
101 const Input kInput = {{35, 41}, {400, 300},
104 const Output kExpectedOutput = {{35, 41},
107 RunOverlapRectTest(bitmap.Get(), kInput, &kExpectedOutput);
111 auto bitmap = pdfium::MakeRetain<CFX_DIBitmap>();
114 const Input kEmptyInputs[] = {
124 {{-400, 0}, {400, 300},
128 for (
const Input& input : kEmptyInputs)
129 RunOverlapRectTest(bitmap.Get(), input,
nullptr);
131 const Input kOutOfBoundInputs[] = {
133 {{400, 0}, {400, 300},
137 {{0, 300}, {400, 300},
141 {{0, -300}, {400, 300},
161 for (
const Input& input : kOutOfBoundInputs)
162 RunOverlapRectTest(bitmap.Get(), input,
nullptr);
bool GetOverlapRect(int &dest_left, int &dest_top, int &width, int &height, int src_width, int src_height, int &src_left, int &src_top, const CFX_ClipRgn *pClipRgn) const
TEST(FXCRYPT, MD5GenerateEmtpyData)