19762338dSopenharmony_ci/* 29762338dSopenharmony_ci * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 39762338dSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 49762338dSopenharmony_ci * you may not use this file except in compliance with the License. 59762338dSopenharmony_ci * You may obtain a copy of the License at 69762338dSopenharmony_ci * 79762338dSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 89762338dSopenharmony_ci * 99762338dSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 109762338dSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 119762338dSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 129762338dSopenharmony_ci * See the License for the specific language governing permissions and 139762338dSopenharmony_ci * limitations under the License. 149762338dSopenharmony_ci */ 159762338dSopenharmony_ci 169762338dSopenharmony_ci#ifndef DISPLAY_TEST_UTILS_H 179762338dSopenharmony_ci#define DISPLAY_TEST_UTILS_H 189762338dSopenharmony_ci#include <vector> 199762338dSopenharmony_ci#include "display_test.h" 209762338dSopenharmony_ci#include "v1_0/include/idisplay_buffer.h" 219762338dSopenharmony_ci 229762338dSopenharmony_cinamespace OHOS { 239762338dSopenharmony_cinamespace HDI { 249762338dSopenharmony_cinamespace Display { 259762338dSopenharmony_cinamespace TEST { 269762338dSopenharmony_ciusing namespace OHOS::HDI::Display::Composer::V1_0; 279762338dSopenharmony_ci 289762338dSopenharmony_ciconst uint32_t DISPLAY_DEAULT_W = 480; 299762338dSopenharmony_ciconst uint32_t DISPLAY_DEAULT_H = 960; 309762338dSopenharmony_ciconst uint32_t RED = 0xff0000ff; 319762338dSopenharmony_ciconst uint32_t GREEN = 0x00ff00ff; 329762338dSopenharmony_ciconst uint32_t BLUE = 0x0000ffff; 339762338dSopenharmony_ciconst uint32_t TRANSPARENT = 0; 349762338dSopenharmony_ciconst uint32_t YELLOW = 0xffff29ff; 359762338dSopenharmony_ciconst uint32_t PINK = 0xffc0cbff; 369762338dSopenharmony_ciconst uint32_t PURPLE = 0x800080ff; 379762338dSopenharmony_ciconst uint32_t CYAN = 0x00ffffff; 389762338dSopenharmony_ci 399762338dSopenharmony_cistruct FRect { 409762338dSopenharmony_ci float x = 0; 419762338dSopenharmony_ci float y = 0; 429762338dSopenharmony_ci float w = 0; // ratio 439762338dSopenharmony_ci float h = 0; // ratio 449762338dSopenharmony_ci}; 459762338dSopenharmony_ci 469762338dSopenharmony_cistruct BufferRatio { 479762338dSopenharmony_ci float w; 489762338dSopenharmony_ci float h; 499762338dSopenharmony_ci}; 509762338dSopenharmony_ci 519762338dSopenharmony_cistruct Size { 529762338dSopenharmony_ci uint32_t w; 539762338dSopenharmony_ci uint32_t h; 549762338dSopenharmony_ci}; 559762338dSopenharmony_ci 569762338dSopenharmony_cistruct LayerSettings { 579762338dSopenharmony_ci IRect displayRect; 589762338dSopenharmony_ci IRect displayCrop; 599762338dSopenharmony_ci FRect rectRatio = { 0.0f }; 609762338dSopenharmony_ci uint32_t color; 619762338dSopenharmony_ci uint32_t zorder = 0; 629762338dSopenharmony_ci Size bufferSize = { 0 }; 639762338dSopenharmony_ci BufferRatio bufferRatio { 0 }; 649762338dSopenharmony_ci int32_t alpha = -1; 659762338dSopenharmony_ci Composer::V1_0::CompositionType compositionType = Composer::V1_0::CompositionType::COMPOSITION_DEVICE; 669762338dSopenharmony_ci BlendType blendType = BLEND_SRC; 679762338dSopenharmony_ci TransformType rotate = ROTATE_NONE; 689762338dSopenharmony_ci}; 699762338dSopenharmony_ci 709762338dSopenharmony_cistruct TestParemeter { 719762338dSopenharmony_ci static TestParemeter& GetInstance() 729762338dSopenharmony_ci { 739762338dSopenharmony_ci static TestParemeter instance; 749762338dSopenharmony_ci return instance; 759762338dSopenharmony_ci } 769762338dSopenharmony_ci int32_t mTestSleep = 0; 779762338dSopenharmony_ci}; 789762338dSopenharmony_ci 799762338dSopenharmony_ciusing LayersSetting = std::vector<LayerSettings>; 809762338dSopenharmony_ci 819762338dSopenharmony_civoid SaveFile(const char* fileName, uint8_t* data, int size); 829762338dSopenharmony_civoid SetUint32(uint32_t& dst, uint32_t value); 839762338dSopenharmony_civoid SetPixel(const BufferHandle& handle, int x, int y, uint32_t color); 849762338dSopenharmony_civoid ClearColor(const BufferHandle& handle, uint32_t color); 859762338dSopenharmony_ciuint32_t GetPixelValue(const BufferHandle& handle, int x, int y); 869762338dSopenharmony_ciuint32_t CheckPixel(const BufferHandle& handle, int x, int y, uint32_t color); 879762338dSopenharmony_cistd::vector<IRect> SplitBuffer(const BufferHandle& handle, std::vector<uint32_t> &colors); 889762338dSopenharmony_ci} // OHOS 899762338dSopenharmony_ci} // HDI 909762338dSopenharmony_ci} // Display 919762338dSopenharmony_ci} // TEST 929762338dSopenharmony_ci 939762338dSopenharmony_ci#endif // HDI_TEST_RENDER_UTILS_H 94