简单分析UCGUI初始化

    GUI_Init();//GUI初始化
	
	GUI_SetBkColor(GUI_RED);//设置背景颜色
	GUI_Clear();//清除用户裁剪区

1、 GUI_Init做了3件主要事情。
①初始化上下文结构体
②初始化屏幕
③初始化视窗管理器

2、 GUI_SetBkColor做了2件事情。
①设置上下文结构体的背景颜色
②设置上下文结构体的背景色索引

3、 GUI_Clear在剪切算法后,用上下文结构体的背景色索引填充屏幕。

上下文结构体

struct GUI_CONTEXT {
/* LCD模块中的变量 */
  LCD_COLORINDEX_UNION LCD;/* 0背景色索引  1画笔颜色索引 */
	
  LCD_RECT       ClipRect;//矩形框坐标
  U8             DrawMode;//绘制模式
  U8             SelLayer;//当前选择的层
  U8             TextStyle;//文本风格
/* GL 模块中的变量 */
  GUI_RECT* pClipRect_HL;                /* High level clip rectangle ... Speed optimization so drawing routines can optimize */
  U8        PenSize;//画笔宽度
  U8        PenShape;//画笔形状
  U8        LineStyle;//画线风格
  U8        FillStyle;//
/* GUICHAR 模块中的变量 */
  const GUI_FONT            * pAFont;//当前字库
  const GUI_UC_ENC_APILIST * pUC_API;    /* Unicode encoding API */

  I16P LBorder;
  I16P DispPosX, DispPosY;//当前显示X,Y
  I16P DrawPosX, DrawPosY;//画点的X,Y
  I16P TextMode, TextAlign;//要设置的文本对齐方式
  GUI_COLOR Color, BkColor; //前景色 背景色          /* 仅在更改设备和速度选择(缓存)时才需要 */
  
/* WM 模块中的变量 */
    const GUI_RECT* WM__pUserClipRect;
    GUI_HWIN hAWin;
    int xOff, yOff;

  
/* MEMDEV 模块中的变量(仅限内存设备) */
    const tLCDDEV_APIList* pDeviceAPI;  /* function pointers only */
    GUI_HMEM    hDevData;
    GUI_RECT    ClipRectPrev;

/* Anitaliasing 模块中的变量 */
  #if GUI_SUPPORT_AA
    const tLCD_HL_APIList* pLCD_HL;     /* Required to reroute drawing (HLine & Pixel) to the AA module */
    U8 AA_Factor;
    U8 AA_HiResEnable;
  #endif
  
};
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值