This repository has been archived on 2025-02-28. You can view files and clone it, but cannot push or open issues or pull requests.
controller-hd/User/lib/lcd/gui/GUIDemo/GUIDEMO_Circle.c

77 lines
2.2 KiB
C

/*
*********************************************************************************************************
* uC/GUI
* Universal graphic software for embedded applications
*
* (c) Copyright 2002, Micrium Inc., Weston, FL
* (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
* µC/GUI is protected by international copyright laws. Knowledge of the
* source code may not be used to write a similar product. This file may
* only be used in accordance with a license and should not be redistributed
* in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File : GUIDEMO_Circle.c
Purpose : Drawing circles
----------------------------------------------------------------------
*/
#include "GUI.h"
#include "GUIDEMO.h"
/*********************************************************************
*
* GUIDEMO_Circle
*
**********************************************************************
*/
void GUIDEMO_Circle(void) {
int x0, y0, r;
GUIDEMO_ShowIntro("Circles",
"\nArbitrary circles"
"\nand arcs.");
GUI_Clear();
GUI_SetFont(&GUI_Font8x16);
GUI_SetColor(GUI_WHITE);
x0 = LCD_XSIZE >> 1;
y0 = LCD_YSIZE >> 1;
#if GUIDEMO_LARGE
r = 50;
GUI_DispStringAt("Circle", 0, 0);
#elif !(GUIDEMO_TINY)
r = 40;
#else
#if (LCD_YSIZE < 80)
r = 23;
#else
r = 30;
#endif
#endif
GUI_FillCircle (x0, y0, r);
GUIDEMO_Wait();
GUI_SetDrawMode(GUI_DM_XOR);
#if GUIDEMO_LARGE
GUI_FillCircle (x0, y0, r + 10);
#elif !(GUIDEMO_TINY)
GUI_FillCircle (x0, y0, r + 8);
#else
GUI_FillCircle (x0, y0, r + 6);
#endif
GUI_SetDrawMode(0);
GUIDEMO_Wait();
#if GUI_SUPPORT_AA
#if GUIDEMO_LARGE
GUIDEMO_ShowInfo("Circles with\nAntialiasing");
#endif
GUI_Clear();
GUI_SetColor(GUI_WHITE);
#if GUIDEMO_LARGE
GUI_DispStringAt("Antialiased\ncircle", 0, 0);
#endif
GUI_AA_FillCircle(x0, y0, r - 2);
GUIDEMO_Wait();
#endif
}