blob: b31938fd6476b460e37f9b7ec15d451a523099fa [file] [log] [blame]
/*
* Copyright (c) 2021-2022 Arm Limited. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef STUBS_SIMPLE_PLATFORM_H
#define STUBS_SIMPLE_PLATFORM_H
#include <stdint.h>
/****************************************************************************/
/* Definitions and stub functions for modules currently */
/* unavailable on this target platform */
/****************************************************************************/
#define GLCD_WIDTH 320
#define GLCD_HEIGHT 240
#define Black 0x0000 /* 0, 0, 0 */
#define White 0xFFFF /* 255, 255, 255 */
/************************ GLCD related functions ****************************/
/**
* @brief Initialize the Himax LCD with HX8347-D LCD Controller
*/
void GLCD_Initialize(void);
/**
* @brief Display graphical bitmap image at position x horizontally and y
* vertically. This function is optimized for 16 bits per pixel
* format, it has to be adapted for any other format.
* @param[in] x horizontal position.
* @param[in] y vertical position.
* @param[in] w width of bitmap.
* @param[in] h height of bitmap.
* @param[in] bitmap address at which the bitmap data resides.
*/
void GLCD_Bitmap(unsigned int x, unsigned int y,
unsigned int w, unsigned int h,
unsigned short *bitmap);
/**
* @brief Displays an 8 bit image, conversion to the LCD's
* 16 bit codec is done on the fly.
* @param[in] data pointer to the full sized image data.
* @param[in] width image width.
* @param[in] height image height.
* @param[in] channels number of channels in the image.
* @param[in] pos_x start x position for the LCD.
* @param[in] pos_y start y position for the LCD.
* @param[in] downsample_factor factor by which the image
* is downsampled by.
*/
void GLCD_Image(const void *data, const uint32_t width,
const uint32_t height, const uint32_t channels,
const uint32_t pos_x, const uint32_t pos_y,
const uint32_t downsample_factor);
/**
* @brief Clear display
* @param[in] color display clearing color
*/
void GLCD_Clear(unsigned short color);
/**
* @brief Set foreground color
* @param[in] color foreground color
*/
void GLCD_SetTextColor(unsigned short color);
/**
* @brief Display character on given line
* @param[in] ln line number
* @param[in] col column number
* @param[in] fi font index (0 = 9x15)
* @param[in] c ASCII character
*/
void GLCD_DisplayChar(unsigned int ln, unsigned int col,
unsigned char fi, unsigned char c);
/**
* @brief Display string on given line
* @param[in] ln line number
* @param[in] col column number
* @param[in] fi font index (0 = 9x15)
* @param[in] s pointer to string
*/
void GLCD_DisplayString(unsigned int ln, unsigned int col,
unsigned char fi, char *s);
/**
* @brief Draw box filled with color
* @param[in] x horizontal position
* @param[in] y: vertical position
* @param[in] w: window width in pixels
* @param[in] h: window height in pixels
* @param[in] color box color
*/
void GLCD_Box(unsigned int x, unsigned int y,
unsigned int w, unsigned int h,
unsigned short color);
#endif /* STUBS_SIMPLE_PLATFORM_H */