1d6aed566Sopenharmony_ci/* 2d6aed566Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3d6aed566Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4d6aed566Sopenharmony_ci * you may not use this file except in compliance with the License. 5d6aed566Sopenharmony_ci * You may obtain a copy of the License at 6d6aed566Sopenharmony_ci * 7d6aed566Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8d6aed566Sopenharmony_ci * 9d6aed566Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10d6aed566Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11d6aed566Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12d6aed566Sopenharmony_ci * See the License for the specific language governing permissions and 13d6aed566Sopenharmony_ci * limitations under the License. 14d6aed566Sopenharmony_ci */ 15d6aed566Sopenharmony_ci 16d6aed566Sopenharmony_ci#ifndef GRAPHIC_LITE_HI_FBDEV_H 17d6aed566Sopenharmony_ci#define GRAPHIC_LITE_HI_FBDEV_H 18d6aed566Sopenharmony_ci 19d6aed566Sopenharmony_ci#include "gfx_utils/pixel_format_utils.h" 20d6aed566Sopenharmony_ci 21d6aed566Sopenharmony_cinamespace OHOS { 22d6aed566Sopenharmony_cienum LayerRotateType { 23d6aed566Sopenharmony_ci LAYER_ROTATE_NONE = 0, /**< No rotation */ 24d6aed566Sopenharmony_ci LAYER_ROTATE_90, /**< Rotation by 90 degrees */ 25d6aed566Sopenharmony_ci LAYER_ROTATE_180, /**< Rotation by 180 degrees */ 26d6aed566Sopenharmony_ci LAYER_ROTATE_270, /**< Rotation by 270 degrees */ 27d6aed566Sopenharmony_ci LAYER_ROTATE_BUTT /**< Invalid operation */ 28d6aed566Sopenharmony_ci}; 29d6aed566Sopenharmony_ci 30d6aed566Sopenharmony_cistruct LiteSurfaceData { 31d6aed566Sopenharmony_ci ImagePixelFormat pixelFormat; 32d6aed566Sopenharmony_ci uint16_t width; 33d6aed566Sopenharmony_ci uint16_t height; 34d6aed566Sopenharmony_ci uint8_t *virAddr; 35d6aed566Sopenharmony_ci uint8_t *phyAddr; 36d6aed566Sopenharmony_ci uint32_t stride; 37d6aed566Sopenharmony_ci uint8_t bytePerPixel; 38d6aed566Sopenharmony_ci}; 39d6aed566Sopenharmony_ci 40d6aed566Sopenharmony_ci/** 41d6aed566Sopenharmony_ci * @brief Get dev surface data. 42d6aed566Sopenharmony_ci */ 43d6aed566Sopenharmony_ciLiteSurfaceData* GetDevSurfaceData(void); 44d6aed566Sopenharmony_ci 45d6aed566Sopenharmony_ci/** 46d6aed566Sopenharmony_ci * @brief Get layer rotate type. 47d6aed566Sopenharmony_ci */ 48d6aed566Sopenharmony_ciLayerRotateType GetLayerRotateType(void); 49d6aed566Sopenharmony_ci 50d6aed566Sopenharmony_ci/** 51d6aed566Sopenharmony_ci * @brief Initialize fbdev. 52d6aed566Sopenharmony_ci */ 53d6aed566Sopenharmony_civoid FbdevInit(void); 54d6aed566Sopenharmony_ci 55d6aed566Sopenharmony_ci/** 56d6aed566Sopenharmony_ci * @brief Close fbdev. 57d6aed566Sopenharmony_ci */ 58d6aed566Sopenharmony_civoid FbdevClose(void); 59d6aed566Sopenharmony_ci 60d6aed566Sopenharmony_ci/** 61d6aed566Sopenharmony_ci * @brief flush 62d6aed566Sopenharmony_ci */ 63d6aed566Sopenharmony_civoid FbdevFlush(void); 64d6aed566Sopenharmony_ci} // namespace OHOS 65d6aed566Sopenharmony_ci#endif // GRAPHIC_LITE_HI_FBDEV_H 66