亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? guiaachar.c

?? ucCos移植到廣州友善nano2410
?? C
字號(hào):
/*
*********************************************************************************************************
*                                                uC/GUI
*                        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        : GUICharAA.C
Purpose     : Display antialiased
---------------------------END-OF-HEADER------------------------------
*/

#include "GUI_Private.h"
 
#if GUI_SUPPORT_AA

#include <stdio.h>
#include <string.h>

/*********************************************************************
*
*       Types
*
**********************************************************************
*/

typedef void tSetPixelAA(int x, int y, U8 Intens);

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/

static const U8 Bit2Mask0[] = {1<<7, 1<<5, 1<<3, 1<<1};
static const U8 Bit2Mask1[] = {1<<6, 1<<4, 1<<2, 1<<0};

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       Draw
*/
static void Draw(int x0, int y0, int XSize, int YSize, int BytesPerLine, const U8*pData) {
    int x, y;
    tSetPixelAA* pfSetPixelAA;
    pfSetPixelAA = (GUI_Context.TextMode & GUI_TM_TRANS)
                 ? LCD_SetPixelAA : LCD_SetPixelAA_NoTrans;
	  for (y=0; y<YSize; y++) {
  	  const U8* pData0 = pData;
	    const U8* pData1 = pData+BytesPerLine;
  	  for (x=0; x<XSize; x++) {
        int PixelCnt=0;
        int Mask0 = Bit2Mask0[x&3];
        int Mask1 = Bit2Mask1[x&3];
			  if ((*pData0) & Mask0)
			    PixelCnt++;
			  if ((*pData0) & Mask1)
			    PixelCnt++;
			  if ((*pData1) & Mask0)
			    PixelCnt++;
			  if ((*pData1) & Mask1)
			    PixelCnt++;
        if ((x&3) ==3) {
          pData0++;
          pData1++;
			  }
        switch (PixelCnt) {
        case 4: LCD_HL_DrawPixel(x0+x,y0+y);      break;
        case 3: (*pfSetPixelAA) (x0+x,y0+y, 12); break;
        case 2: (*pfSetPixelAA) (x0+x,y0+y, 8);  break;
        case 1: (*pfSetPixelAA) (x0+x,y0+y, 4);  break;
			  }
  	  }
      pData+=2*BytesPerLine;
	  }
}

/*********************************************************************
*
*       GUIPROP_FindChar
*/
static const GUI_FONT_PROP* GUIPROP_FindChar(const GUI_FONT_PROP* pProp, U16P c) {
  for (pProp = GUI_Context.pAFont->p.pProp; pProp; pProp=(const GUI_FONT_PROP*) pProp->pNext) {
    if ((c>=pProp->First) && (c<=pProp->Last))
      break;
  }
  return pProp;
}

/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       GUIPROPAA_DispChar
*/
void GUIPROPAA_DispChar(U16P c) {
  int BytesPerLine;
  GUI_DRAWMODE DrawMode = GUI_Context.TextMode;
  const GUI_FONT_PROP* pProp = GUIPROP_FindChar(GUI_Context.pAFont->p.pProp, c);
  if (pProp) {
    GUI_DRAWMODE OldDrawMode;
    const GUI_CHARINFO* pCharInfo = pProp->paCharInfo+(c-pProp->First);
    BytesPerLine = pCharInfo->BytesPerLine;
    OldDrawMode  = LCD_SetDrawMode(DrawMode);
    Draw  ( GUI_Context.DispPosX, GUI_Context.DispPosY,
                       (pCharInfo->XSize+1)/2,
                       GUI_Context.pAFont->YSize,
                       BytesPerLine,
                       (U8 const*) pCharInfo->pData
                       );
    LCD_SetDrawMode(OldDrawMode); /* Restore draw mode */
    GUI_Context.DispPosX += (pCharInfo->XDist+1)/2;
  }
}

/*********************************************************************
*
*       GUIPROPAA_GetCharDistX
*/
int GUIPROPAA_GetCharDistX(U16P c) {
  int r;
  const GUI_FONT_PROP* pProp = GUIPROP_FindChar(GUI_Context.pAFont->p.pProp, c);
  r = (pProp) ? (pProp->paCharInfo+(c-pProp->First))->XSize : 0;
  return (r+1)/2;
}

/*********************************************************************
*
*       GUIPROPAA_GetFontInfo
*/
void GUIPROPAA_GetFontInfo(const GUI_FONT * pFont, GUI_FONTINFO* pfi) {
  GUI_USE_PARA(pFont);
  pfi->Flags = GUI_FONTINFO_FLAG_PROP | GUI_FONTINFO_FLAG_AA;
}

/*********************************************************************
*
*       GUIPROPAA_IsInFont
*/
char GUIPROPAA_IsInFont(const GUI_FONT * pFont, U16 c) {
  const GUI_FONT_PROP* pProp = GUIPROP_FindChar(pFont->p.pProp, c);
  return (pProp==NULL) ? 0 : 1;
}

#else                            /* Avoid problems with empty object modules */
  void GUIAAChar_C(void);
  void GUIAAChar_C(void) {}
#endif /* GUI_SUPPORT_AA */

/*************************** End of file ****************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区视频免费播放| 欧美videofree性高清杂交| 视频在线观看一区| 国产精品美女久久久久久久网站| 欧美日韩一区 二区 三区 久久精品| 激情深爱一区二区| 亚洲自拍偷拍av| 日本一区二区免费在线观看视频| 欧美日韩日日摸| 国产91精品免费| 日本欧美在线观看| 亚洲欧美日韩国产手机在线| 精品国产91乱码一区二区三区 | 精品少妇一区二区三区在线播放| av电影在线观看完整版一区二区| 裸体在线国模精品偷拍| 亚洲午夜精品一区二区三区他趣| 国产精品国产三级国产普通话99 | proumb性欧美在线观看| 麻豆免费看一区二区三区| 亚洲码国产岛国毛片在线| 国产日韩欧美a| 欧美成人一区二区三区在线观看| 欧美日韩一区二区三区高清| 91香蕉视频mp4| 国产成人av一区二区三区在线观看| 日韩高清在线电影| 亚洲成人激情综合网| 亚洲精品美国一| 国产精品久久久久毛片软件| 久久这里都是精品| 日韩三级精品电影久久久 | 波多野结衣中文字幕一区二区三区| 美日韩一区二区三区| 免费人成精品欧美精品| 亚洲第四色夜色| 亚洲国产一区二区视频| 亚洲免费观看在线观看| 中文字幕一区二区三中文字幕| 精品国产髙清在线看国产毛片| 欧美一区二区三区四区视频 | 欧美日本在线看| 欧美视频一区二区| 在线观看一区日韩| 欧美性大战久久久| 欧美另类z0zxhd电影| 欧美三级韩国三级日本一级| 91福利国产精品| 欧美一a一片一级一片| 欧美日韩一区二区在线观看| 精品视频在线免费| 日韩一区二区视频| 欧美不卡123| 久久亚洲精品小早川怜子| 国产亚洲欧美日韩日本| 国产精品美日韩| 亚洲图片激情小说| 亚洲国产视频网站| 奇米色一区二区| 精品日韩欧美在线| 久久天堂av综合合色蜜桃网| 久久久久久久久岛国免费| 国产女人aaa级久久久级| 日本一区二区三级电影在线观看| 最新欧美精品一区二区三区| 一区二区三区中文在线| 视频一区视频二区中文| 久久激五月天综合精品| 成人av在线资源网站| 在线精品亚洲一区二区不卡| 日韩欧美高清一区| 国产精品麻豆一区二区 | 韩国女主播一区二区三区| 国产91综合网| 欧美四级电影网| 精品美女被调教视频大全网站| 国产偷国产偷亚洲高清人白洁| 亚洲视频中文字幕| 秋霞午夜av一区二区三区| 国产成人一区二区精品非洲| 色综合久久88色综合天天| 日韩一本二本av| 亚洲欧洲美洲综合色网| 天天操天天干天天综合网| 精品一区二区免费| 99re在线精品| 日韩视频在线你懂得| 欧美国产国产综合| 亚洲成人在线免费| 国产高清不卡二三区| 91日韩精品一区| 精品美女在线观看| 一区二区三区精品久久久| 精品一区免费av| 欧美最新大片在线看 | 亚洲国产精华液网站w| 亚洲一区二区三区小说| 国产一区二区在线视频| 欧美三电影在线| 中文字幕第一区综合| 午夜激情综合网| 成人综合日日夜夜| 日韩欧美中文字幕一区| 一区二区三区影院| 国产成人精品亚洲日本在线桃色| 欧美丝袜丝nylons| 国产精品乱人伦中文| 狠狠色综合播放一区二区| 91黄色小视频| 中文字幕精品三区| 精品一区二区三区免费观看| 欧美在线观看视频在线| 国产精品成人免费| 国产一区不卡在线| 欧美日本一区二区在线观看| 亚洲精品免费在线播放| 成人自拍视频在线| 日韩精品一区二区三区四区视频| 亚洲成人综合网站| 色狠狠综合天天综合综合| 国产精品沙发午睡系列990531| 狠狠色丁香九九婷婷综合五月| 911精品产国品一二三产区 | 国产一区在线视频| 精品入口麻豆88视频| 日本中文字幕一区| 欧美人与z0zoxxxx视频| 亚洲18影院在线观看| 欧美在线视频你懂得| 亚洲免费视频成人| 在线看不卡av| 亚洲一区二区三区四区在线观看 | 亚洲一区二区三区在线| 91网页版在线| 国产精品久久久久久久岛一牛影视| 国产在线精品一区二区夜色| 欧美一级免费大片| 青青草成人在线观看| 欧美一区二区在线不卡| 亚洲福利视频一区| 精品视频色一区| 三级在线观看一区二区| 宅男在线国产精品| 另类小说综合欧美亚洲| 欧美电视剧在线观看完整版| 美女脱光内衣内裤视频久久网站| 欧美一级搡bbbb搡bbbb| 激情综合色播五月| 久久精品无码一区二区三区| 国产高清不卡一区| 亚洲欧洲一区二区在线播放| 色综合久久99| 亚洲风情在线资源站| 日韩一区二区三区四区五区六区| 久久机这里只有精品| 国产三级一区二区三区| 99久久精品免费看国产| 亚洲精品福利视频网站| 欧美三级韩国三级日本一级| 日韩国产高清在线| 久久色在线观看| av在线综合网| 亚洲成人av在线电影| 日韩一级二级三级精品视频| 国产一区二区三区久久久| 中文一区一区三区高中清不卡| 91麻豆自制传媒国产之光| 亚洲国产中文字幕在线视频综合| 欧美一区二区高清| 国产精品影视在线| 亚洲精品第一国产综合野| 欧美一区二区三区公司| 国产成人精品免费看| 一区二区三区中文字幕精品精品| 欧美系列一区二区| 国产麻豆成人传媒免费观看| 自拍偷在线精品自拍偷无码专区| 欧美日韩另类一区| 国产露脸91国语对白| 亚洲综合一区在线| 欧美va亚洲va国产综合| 99精品欧美一区| 奇米888四色在线精品| 日本一区二区三区dvd视频在线| 欧美天堂一区二区三区| 国产精品911| 日韩高清在线电影| 亚洲欧洲精品一区二区三区| 欧美一区二区三区不卡| av一区二区三区四区| 卡一卡二国产精品| 一区二区在线看| 精品久久人人做人人爱| 在线观看视频一区| 盗摄精品av一区二区三区| 日韩vs国产vs欧美| 亚洲麻豆国产自偷在线| 久久理论电影网| 3d成人动漫网站| 91麻豆.com|