/** * @brief Draws a rectangle. * @param Xpos: X position * @param Ypos: Y position * @param Width: Rectangle width * @param Height: Rectangle height * @retval None */ void BSP_LCD_DrawRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) { /* Draw horizontal lines */ BSP_LCD_DrawHLine(Xpos, Ypos, Width); BSP_LCD_DrawHLine(Xpos, (Ypos+ Height), Width); /* Draw vertical lines */ BSP_LCD_DrawVLine(Xpos, Ypos, Height); BSP_LCD_DrawVLine((Xpos + Width), Ypos, Height); }
/** * @brief Show LCD Features * @param feature : feature index * @retval None */ static void LCD_Show_Feature(uint8_t feature) { Point Points[]= {{20, 70}, {60, 70}, {60, 100}}; Point Points2[]= {{80, 70}, {120, 70}, {120, 100}}; BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_FillRect(0, 60, BSP_LCD_GetXSize(), BSP_LCD_GetYSize()- 40); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); switch (feature) { case 0: /* Text Feature */ BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(14, 80, (uint8_t *)"Font24", LEFT_MODE); BSP_LCD_SetFont(&Font20); BSP_LCD_DisplayStringAt(0, 105, (uint8_t *)"Font20", CENTER_MODE); BSP_LCD_SetFont(&Font16); BSP_LCD_DisplayStringAt(14, 130, (uint8_t *)"Font16", RIGHT_MODE); break; case 1: /* Draw misc. Shapes part 1*/ BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_DrawRect(20, 70, 40 , 20); BSP_LCD_FillRect(70, 70, 40 , 20); BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawCircle(40, 120, 20); BSP_LCD_FillCircle(90, 120, 20); BSP_LCD_SetTextColor(LCD_COLOR_RED); BSP_LCD_DrawLine (20, 70, 20+40 , 70+20); BSP_LCD_DrawLine (20, 70+20, 20+40 , 70); BSP_LCD_DrawHLine(20, 120, 40); BSP_LCD_DrawVLine(40, 100, 40); break; case 2: /* Draw misc. Shapes part 2*/ BSP_LCD_SetTextColor(LCD_COLOR_GREEN); BSP_LCD_DrawPolygon(Points, 3); BSP_LCD_FillPolygon(Points2, 3); BSP_LCD_SetTextColor(LCD_COLOR_RED); BSP_LCD_DrawEllipse(BSP_LCD_GetXSize() - 100, 110, 20, 30); BSP_LCD_FillEllipse(BSP_LCD_GetXSize() - 40, 110, 20, 30); break; case 3: /* Draw Bitmap */ BSP_LCD_DrawBitmap(20, 70, (uint8_t *)stlogo); HAL_Delay(200); break; } }
void LCD_DISCO_F469NI::DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) { BSP_LCD_DrawVLine(Xpos, Ypos, Length); }