⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aa_text.c

📁 ucgui的3.98版本的源代码
💻 C
字号:
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/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        : AA_Text.c
Purpose     : Shows text with different antialiasing qualities
----------------------------------------------------------------------
*/

#include "GUI.h"

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/
/*********************************************************************
*
*       Not antialiased font
*/
static GUI_CONST_STORAGE unsigned char acGUI_Font1bpp_0041[ 54] = { /* code 0041 */
  ______XX,XXX_____,________,
  ______XX,XXX_____,________,
  ______XX,XXX_____,________,
  _____XXX,_XXX____,________,
  _____XXX,_XXX____,________,
  _____XXX,_XXX____,________,
  ____XXX_,__XXX___,________,
  ____XXX_,__XXX___,________,
  ___XXXX_,__XXXX__,________,
  ___XXX__,___XXX__,________,
  ___XXX__,___XXX__,________,
  __XXXXXX,XXXXXXX_,________,
  __XXXXXX,XXXXXXX_,________,
  __XXXXXX,XXXXXXX_,________,
  _XXX____,_____XXX,________,
  _XXX____,_____XXX,________,
  _XXX____,_____XXX,________,
  XXX_____,______XX,X_______};

static GUI_CONST_STORAGE unsigned char acGUI_Font1bpp_0042[ 54] = { /* code 0042 */
  __XXXXXX,XXXXX___,________,
  __XXXXXX,XXXXXXX_,________,
  __XXXXXX,XXXXXXXX,________,
  __XXX___,____XXXX,________,
  __XXX___,_____XXX,________,
  __XXX___,_____XXX,________,
  __XXX___,____XXXX,________,
  __XXXXXX,XXXXXXX_,________,
  __XXXXXX,XXXXXXX_,________,
  __XXXXXX,XXXXXXXX,________,
  __XXX___,_____XXX,X_______,
  __XXX___,______XX,X_______,
  __XXX___,______XX,X_______,
  __XXX___,______XX,X_______,
  __XXX___,_____XXX,X_______,
  __XXXXXX,XXXXXXXX,________,
  __XXXXXX,XXXXXXX_,________,
  __XXXXXX,XXXXXX__,________};

static GUI_CONST_STORAGE unsigned char acGUI_Font1bpp_0043[ 54] = { /* code 0043 */
  ______XX,XXXXX___,________,
  ____XXXX,XXXXXXX_,________,
  ___XXXXX,XXXXXXXX,________,
  __XXXXX_,____XXXX,________,
  __XXX___,_____XXX,X_______,
  __XXX___,______XX,________,
  _XXX____,________,________,
  _XXX____,________,________,
  _XXX____,________,________,
  _XXX____,________,________,
  _XXX____,________,________,
  _XXX____,______XX,________,
  _XXXX___,_____XXX,X_______,
  __XXX___,_____XXX,________,
  __XXXXX_,___XXXXX,________,
  ___XXXXX,XXXXXXX_,________,
  ____XXXX,XXXXXX__,________,
  ______XX,XXXX____,________};

static GUI_CONST_STORAGE GUI_CHARINFO GUI_Font1bpp_CharInfo[3] = {
   {  17,  17,  3, acGUI_Font1bpp_0041 } /* code 0041 */
  ,{  18,  18,  3, acGUI_Font1bpp_0042 } /* code 0042 */
  ,{  18,  18,  3, acGUI_Font1bpp_0043 } /* code 0043 */
};

static GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font1bpp_Prop1 = {
   0x0041 /* first character */
  ,0x0043 /* last character  */
  ,&GUI_Font1bpp_CharInfo[  0] /* address of first character */
  ,(GUI_CONST_STORAGE GUI_FONT_PROP*)0 /* pointer to next GUI_FONT_PROP */
};

static GUI_CONST_STORAGE GUI_FONT GUI_Font1bpp = {
   GUI_FONTTYPE_PROP /* type of font    */
  ,18 /* height of font  */
  ,18 /* space of font y */
  ,1 /* magnification x */
  ,1 /* magnification y */
  ,{&GUI_Font1bpp_Prop1}
  ,18 /* Baseline */
  ,9 /* LHeight */
  ,0 /* CHeight */
};

/*********************************************************************
*
*       Antialiased font, 2bpp
*/
static GUI_CONST_STORAGE unsigned char acGUI_Font2bpp_0041[ 90] = { /* code 0041 */
  0x00, 0x0B, 0xF8, 0x00, 0x00,
  0x00, 0x0F, 0xFC, 0x00, 0x00,
  0x00, 0x1F, 0xFD, 0x00, 0x00,
  0x00, 0x2F, 0xBE, 0x00, 0x00,
  0x00, 0x3F, 0x3F, 0x00, 0x00,
  0x00, 0xBE, 0x2F, 0x40, 0x00,
  0x00, 0xBD, 0x1F, 0x80, 0x00,
  0x01, 0xF8, 0x0B, 0xD0, 0x00,
  0x02, 0xF8, 0x0B, 0xE0, 0x00,
  0x03, 0xF0, 0x03, 0xF0, 0x00,
  0x07, 0xE0, 0x02, 0xF4, 0x00,
  0x0B, 0xFF, 0xFF, 0xF8, 0x00,
  0x0F, 0xFF, 0xFF, 0xFC, 0x00,
  0x1F, 0xFF, 0xFF, 0xFD, 0x00,
  0x2F, 0x40, 0x00, 0x7E, 0x00,
  0x3F, 0x00, 0x00, 0x3F, 0x00,
  0x7E, 0x00, 0x00, 0x2F, 0x40,
  0xBD, 0x00, 0x00, 0x1F, 0x80
};

static GUI_CONST_STORAGE unsigned char acGUI_Font2bpp_0042[ 90] = { /* code 0042 */
  0x0F, 0xFF, 0xFF, 0x90, 0x00,
  0x0F, 0xFF, 0xFF, 0xF8, 0x00,
  0x0F, 0xFF, 0xFF, 0xFE, 0x00,
  0x0F, 0xC0, 0x01, 0xBE, 0x00,
  0x0F, 0xC0, 0x00, 0x3F, 0x00,
  0x0F, 0xC0, 0x00, 0x3F, 0x00,
  0x0F, 0xC0, 0x01, 0xBE, 0x00,
  0x0F, 0xFF, 0xFF, 0xFC, 0x00,
  0x0F, 0xFF, 0xFF, 0xF8, 0x00,
  0x0F, 0xFF, 0xFF, 0xFE, 0x00,
  0x0F, 0xC0, 0x00, 0x7F, 0x80,
  0x0F, 0xC0, 0x00, 0x1F, 0x80,
  0x0F, 0xC0, 0x00, 0x0F, 0xC0,
  0x0F, 0xC0, 0x00, 0x0F, 0xC0,
  0x0F, 0xC0, 0x00, 0x6F, 0x80,
  0x0F, 0xFF, 0xFF, 0xFF, 0x40,
  0x0F, 0xFF, 0xFF, 0xFD, 0x00,
  0x0F, 0xFF, 0xFF, 0xA4, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_Font2bpp_0043[ 90] = { /* code 0043 */
  0x00, 0x0A, 0xFE, 0x90, 0x00,
  0x00, 0xBF, 0xFF, 0xF8, 0x00,
  0x02, 0xFF, 0xFF, 0xFE, 0x00,
  0x0B, 0xF9, 0x01, 0xBF, 0x40,
  0x0F, 0xD0, 0x00, 0x2F, 0x80,
  0x1F, 0x80, 0x00, 0x0A, 0x40,
  0x2F, 0x40, 0x00, 0x00, 0x00,
  0x3F, 0x00, 0x00, 0x00, 0x00,
  0x3F, 0x00, 0x00, 0x00, 0x00,
  0x3F, 0x00, 0x00, 0x00, 0x00,
  0x3F, 0x00, 0x00, 0x00, 0x00,
  0x2F, 0x40, 0x00, 0x0A, 0x40,
  0x2F, 0x80, 0x00, 0x2F, 0x80,
  0x0F, 0xD0, 0x00, 0x7F, 0x80,
  0x0B, 0xF9, 0x02, 0xFF, 0x00,
  0x02, 0xFF, 0xFF, 0xFD, 0x00,
  0x00, 0xBF, 0xFF, 0xF4, 0x00,
  0x00, 0x0A, 0xFE, 0x40, 0x00
};

static GUI_CONST_STORAGE GUI_CHARINFO GUI_Font2bpp_CharInfo[3] = {
   {  17,  17,  5, acGUI_Font2bpp_0041 } /* code 0041 */
  ,{  18,  18,  5, acGUI_Font2bpp_0042 } /* code 0042 */
  ,{  18,  18,  5, acGUI_Font2bpp_0043 } /* code 0043 */
};

static GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font2bpp_Prop1 = {
   0x0041 /* first character */
  ,0x0043 /* last character  */
  ,&GUI_Font2bpp_CharInfo[  0] /* address of first character */
  ,(GUI_CONST_STORAGE GUI_FONT_PROP*)0 /* pointer to next GUI_FONT_PROP */
};

static GUI_CONST_STORAGE GUI_FONT GUI_Font2bpp = {
   GUI_FONTTYPE_PROP_AA2 /* type of font    */
  ,18 /* height of font  */
  ,18 /* space of font y */
  ,1 /* magnification x */
  ,1 /* magnification y */
  ,{&GUI_Font2bpp_Prop1}
  ,18 /* Baseline */
  ,9 /* LHeight */
  ,0 /* CHeight */
};

/*********************************************************************
*
*       Antialiased font, 4bpp
*/
static GUI_CONST_STORAGE unsigned char acGUI_Font4bpp_0041[162] = { /* code 0041 */
  0x00, 0x00, 0x00, 0xBF, 0xFF, 0xB0, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x06, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x0C, 0xFF, 0xAF, 0xFC, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x2F, 0xFE, 0x0E, 0xFF, 0x20, 0x00, 0x00,
  0x00, 0x00, 0x8F, 0xFA, 0x0A, 0xFF, 0x70, 0x00, 0x00,
  0x00, 0x00, 0xDF, 0xF3, 0x03, 0xFF, 0xD0, 0x00, 0x00,
  0x00, 0x03, 0xFF, 0xD0, 0x00, 0xDF, 0xF3, 0x00, 0x00,
  0x00, 0x09, 0xFF, 0x90, 0x00, 0x8F, 0xF9, 0x00, 0x00,
  0x00, 0x0E, 0xFF, 0x20, 0x00, 0x2F, 0xFE, 0x00, 0x00,
  0x00, 0x5F, 0xFC, 0x00, 0x00, 0x0C, 0xFF, 0x50, 0x00,
  0x00, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
  0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x00,
  0x0B, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x6F, 0xFB, 0x00,
  0x2F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x20,
  0x7F, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0x70,
  0xCF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xC0
};

static GUI_CONST_STORAGE unsigned char acGUI_Font4bpp_0042[162] = { /* code 0042 */
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x00, 0x00,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
  0x00, 0xFF, 0xF0, 0x00, 0x00, 0x03, 0xBF, 0xFD, 0x00,
  0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00,
  0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xFE, 0x00,
  0x00, 0xFF, 0xF0, 0x00, 0x00, 0x03, 0xCF, 0xFA, 0x00,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x00,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
  0x00, 0xFF, 0xF0, 0x00, 0x00, 0x02, 0x6E, 0xFF, 0xA0,
  0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xD0,
  0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0,
  0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xE0,
  0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x5C, 0xFF, 0xB0,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x00,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0x40, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_Font4bpp_0043[162] = { /* code 0043 */
  0x00, 0x00, 0x02, 0x9C, 0xFF, 0xFC, 0xA3, 0x00, 0x00,
  0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00,
  0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
  0x00, 0x8F, 0xFF, 0xB5, 0x00, 0x06, 0xDF, 0xFF, 0x60,
  0x02, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xD0,
  0x07, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x02, 0xD9, 0x30,
  0x0C, 0xFF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x0E, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x0F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x0F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x0F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x0C, 0xFF, 0x50, 0x00, 0x00, 0x00, 0x02, 0xD9, 0x30,
  0x09, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xD0,
  0x02, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x80,
  0x00, 0x9F, 0xFF, 0xA4, 0x00, 0x28, 0xFF, 0xFE, 0x00,
  0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x00,
  0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xFE, 0x50, 0x00,
  0x00, 0x00, 0x02, 0x9C, 0xFF, 0xFC, 0x70, 0x00, 0x00
};

static GUI_CONST_STORAGE GUI_CHARINFO GUI_Font4bpp_CharInfo[3] = {
   {  17,  17,  9, acGUI_Font4bpp_0041 } /* code 0041 */
  ,{  18,  18,  9, acGUI_Font4bpp_0042 } /* code 0042 */
  ,{  18,  18,  9, acGUI_Font4bpp_0043 } /* code 0043 */
};

static GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font4bpp_Prop1 = {
   0x0041 /* first character */
  ,0x0043 /* last character  */
  ,&GUI_Font4bpp_CharInfo[  0] /* address of first character */
  ,(GUI_CONST_STORAGE GUI_FONT_PROP*)0 /* pointer to next GUI_FONT_PROP */
};

static GUI_CONST_STORAGE GUI_FONT GUI_Font4bpp = {
   GUI_FONTTYPE_PROP_AA4 /* type of font    */
  ,18 /* height of font  */
  ,18 /* space of font y */
  ,1 /* magnification x */
  ,1 /* magnification y */
  ,{&GUI_Font4bpp_Prop1}
  ,18 /* Baseline */
  ,14 /* LHeight */
  ,0 /* CHeight */
};

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
static void _ShowAntialiasedText(void) {
  /* Label the sample */
  GUI_SetFont(&GUI_Font24_ASCII);
  GUI_DispStringHCenterAt("Antialiased Text", 160, 10);
  GUI_SetFont(&GUI_Font6x8);
  GUI_DispStringHCenterAt("Not\nantialiased",          60, 130);
  GUI_DispStringHCenterAt("Antialiased\nusing\n2bpp", 160, 130);
  GUI_DispStringHCenterAt("Antialiased\nusing\n4bpp", 260, 130);
  /* Not antialiased */
  GUI_SetFont(&GUI_Font1bpp);
  GUI_DispStringHCenterAt("ABC",  60, 80);
  /* Antialiased, 2bpp */
  GUI_SetFont(&GUI_Font2bpp);
  GUI_DispStringHCenterAt("ABC", 160, 80);
  /* Antialiased, 4bpp */
  GUI_SetFont(&GUI_Font4bpp);
  GUI_DispStringHCenterAt("ABC", 260, 80);
}

/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
void MainTask(void) {
  GUI_Init();
  _ShowAntialiasedText();
  while (1) {
    GUI_Delay(100);
  }
}
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -