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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? guiaachar2.c

?? uc/os 嵌入式系統(tǒng)圖形界面PC機(jī)模擬仿真工具
?? 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        : GUICharAA2.C
Purpose     : Display antialiased 2bpp
----------------------------------------------------------------------
Version-Date---Author-Explanation
----------------------------------------------------------------------
1.00.01 011031 JE     a) GL_DrawBitmap called instead of GUI_DrawBitmap
1.00.00 990922 RS     First release
----------------------------------------------------------------------
Known problems or limitations with current version
----------------------------------------------------------------------
Module needs cleanup and review, but is fully functional.
---------------------------END-OF-HEADER------------------------------
*/


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

/*
      ***********************************************************
      *                                                         *
      *       Static defines
      *                                                         *
      ***********************************************************
*/

#define MAX_CHAR_SIZE 100

/*
      ***********************************************************
      *                                                         *
      *       Static variables
      *                                                         *
      ***********************************************************
*/

/* used by transparent characters */
static const int aConvTable[4] = {0, 5, 10, 15};

/* used by non transparent characters */
static LCD_COLOR aColor[4];
static LCD_PIXELINDEX OldColorIndex, OldBkColorIndex;
static GUI_LOGPALETTE Palette = {4, 0, &aColor[0]};
static GUI_BITMAP Bitmap = {0, 0, 0, 2, 0, &Palette, 0};

/*
      ***********************************************************
      *                                                         *
      *       Anti-aliased drawing                              *
      *                                                         *
      ***********************************************************
*/

static void DrawNoTrans(int x0, int y0, int XSize, int YSize, int BytesPerLine, const U8*pData) {
  if ((OldColorIndex   != LCD_COLORINDEX) || 
      (OldBkColorIndex != LCD_BKCOLORINDEX)) {
    int i;
    LCD_PIXELINDEX BkColorIndex = LCD_BKCOLORINDEX;
    LCD_PIXELINDEX ColorIndex   = LCD_COLORINDEX;
    LCD_COLOR BkColor = LCD_Index2Color(BkColorIndex);
    LCD_COLOR Color   = LCD_Index2Color(ColorIndex);
    aColor[0] = BkColor;
    for (i = 1; i < 3; i++) {
      U8 Intens;
      Intens = 5 * i;
      aColor[i] = LCD_AA_MixColors(Color, BkColor, Intens);
    }
    aColor[3] = Color;
    LCD_GetpPalConvTableUncached(&Palette);
    OldColorIndex = ColorIndex;
    OldBkColorIndex = BkColorIndex;
  }
  Bitmap.XSize = XSize;
  Bitmap.YSize = YSize;
  Bitmap.BytesPerLine = BytesPerLine;
  Bitmap.pData = pData;
  GL_DrawBitmap(&Bitmap, x0, y0);
}

static void DrawTrans(int x0, int y0, int XSize, int YSize, int BytesPerLine, const U8*pData) {
  int x, y;
  for (y = 0; y < YSize; y++) {
    const U8 *pData0 = pData;
    U8 Rem = XSize & 3;
    for (x = 0; x < XSize - 1; x += 4) {
      LCD_SetPixelAA(x + x0    , y0 + y, aConvTable[((*pData0  ) >> 6)       ]);
      LCD_SetPixelAA(x + x0 + 1, y0 + y, aConvTable[((*pData0  ) >> 4) & 0x03]);
      LCD_SetPixelAA(x + x0 + 2, y0 + y, aConvTable[((*pData0  ) >> 2) & 0x03]);
      LCD_SetPixelAA(x + x0 + 3, y0 + y, aConvTable[((*pData0++)     ) & 0x03]);
  	}
    if (Rem) {
      LCD_SetPixelAA(x + x0    , y0 + y, aConvTable[((*pData0  ) >> 6)       ]);
      if (Rem > 1) {
        LCD_SetPixelAA(x + x0 + 1, y0 + y, aConvTable[((*pData0  ) >> 4) & 0x03]);
        if (Rem > 2) {
          LCD_SetPixelAA(x + x0 + 2, y0 + y, aConvTable[((*pData0  ) >> 2) & 0x03]);
        }
      }
    }
    pData += BytesPerLine;
  }
}

/*
      ***********************************************************
      *                                                         *
      *       Font handling                                     *
      *                                                         *
      ***********************************************************
*/

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;
}

void GUIPROP_AA2_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);
    if (DrawMode && GUI_TM_TRANS) {
      DrawTrans(GUI_Context.DispPosX, 
                GUI_Context.DispPosY,
                pCharInfo->XSize,
                GUI_Context.pAFont->YSize,
                BytesPerLine,
                (U8 const*)pCharInfo->pData
      );
    } else {
      DrawNoTrans(GUI_Context.DispPosX, 
                  GUI_Context.DispPosY,
                  pCharInfo->XSize,
                  GUI_Context.pAFont->YSize,
                  BytesPerLine,
                  (U8 const*)pCharInfo->pData
      );
    }
    LCD_SetDrawMode(OldDrawMode); /* Restore draw mode */
    GUI_Context.DispPosX += pCharInfo->XDist;
  }
}

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

void GUIPROP_AA2_GetFontInfo(void*pFont, GUI_FONTINFO* pfi) {
  GUI_USE_PARA(pFont);
  pfi->Flags = GUI_FONTINFO_FLAG_PROP | GUI_FONTINFO_FLAG_AA2;
}

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

/* End of file */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产91久久久久久久妲己| 精品欧美久久久| 美腿丝袜亚洲一区| √…a在线天堂一区| 91精品综合久久久久久| 粉嫩欧美一区二区三区高清影视| 午夜精品久久久久久久99樱桃| 国产视频一区二区在线观看| 欧美日韩国产高清一区二区三区| 成人精品鲁一区一区二区| 日韩黄色免费网站| 亚洲日韩欧美一区二区在线| 精品成人在线观看| 欧美人xxxx| 91原创在线视频| 国产成人夜色高潮福利影视| 免费观看久久久4p| 亚洲高清视频在线| 自拍视频在线观看一区二区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产精品久久久久影院色老大 | 国模冰冰炮一区二区| 亚洲一区二区在线视频| 日本一二三四高清不卡| 欧美精品一区二区三区在线播放| 欧美日韩国产精选| 欧美亚洲国产一区在线观看网站| 97国产一区二区| 国产成人一区二区精品非洲| 精品在线一区二区三区| 日日骚欧美日韩| 亚洲永久精品国产| 又紧又大又爽精品一区二区| 国产精品国产a| 亚洲国产高清在线| 日本一区二区三级电影在线观看| 精品国内片67194| 91精品国产91久久综合桃花| 6080午夜不卡| 91精品国产欧美一区二区18| 欧美丰满少妇xxxbbb| 欧美天天综合网| 欧美三级中文字幕在线观看| 在线视频国产一区| 欧洲亚洲精品在线| 在线观看国产91| 欧美亚洲综合网| 欧美另类videos死尸| 欧美日本免费一区二区三区| 欧美日韩免费视频| 欧美日韩免费视频| 欧美一区二区三区男人的天堂| 欧美一区二视频| 精品国产乱码久久久久久浪潮| 欧美成人激情免费网| 久久久亚洲精品一区二区三区| 国产亚洲视频系列| 最新高清无码专区| 亚洲一区二区免费视频| 日韩av高清在线观看| 奇米777欧美一区二区| 黄色日韩三级电影| 成人激情小说网站| 欧美日韩一本到| 精品国产一区a| 国产精品麻豆一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲愉拍自拍另类高清精品| 日日摸夜夜添夜夜添国产精品| 久久99国内精品| www.激情成人| 欧美体内she精高潮| 精品国产不卡一区二区三区| 国产精品国产三级国产aⅴ入口 | 欧美激情中文字幕一区二区| 亚洲天堂av老司机| 偷拍日韩校园综合在线| 国产一区二区三区香蕉| 色婷婷综合久久久中文一区二区| 欧美日韩精品系列| 国产日韩高清在线| 亚洲国产你懂的| 韩国一区二区视频| 91在线国内视频| 日韩一区二区三区在线视频| 欧美激情综合五月色丁香小说| 亚洲国产乱码最新视频 | 99re热视频这里只精品| 欧美日韩一区二区不卡| 国产午夜精品在线观看| 亚洲国产精品人人做人人爽| 国产一区二区美女| 在线观看日产精品| 国产欧美综合在线| 免费在线看成人av| 91在线小视频| 久久久久九九视频| 婷婷六月综合亚洲| 成人手机在线视频| 欧美电影免费观看完整版| 亚洲精品成a人| 国产剧情一区二区三区| 欧美精品日韩一区| 亚洲美女区一区| 国产精品538一区二区在线| 欧美久久一区二区| 亚洲精品国产无套在线观| 国产一区二区在线免费观看| 欧美电影在线免费观看| 亚洲日韩欧美一区二区在线| 国产真实乱子伦精品视频| 在线电影欧美成精品| 亚洲色图丝袜美腿| 成人精品视频一区| 国产午夜久久久久| 国内精品国产成人| 日韩视频免费观看高清完整版| 亚洲一区二区欧美| 日本精品一区二区三区高清| 国产人成亚洲第一网站在线播放| 免费高清视频精品| 欧美日韩色一区| 洋洋av久久久久久久一区| av不卡免费电影| 国产精品久久精品日日| 国产精品系列在线播放| www国产成人免费观看视频 深夜成人网| 午夜伦理一区二区| 精品视频1区2区| 亚洲精品国产无天堂网2021 | 欧美一二三四在线| 日本特黄久久久高潮| 欧美电影影音先锋| 日韩av二区在线播放| 欧美一区二区三区视频| 日韩不卡一区二区三区| 欧美欧美欧美欧美首页| 亚洲成av人片在线观看| 欧美日韩成人一区| 亚洲18女电影在线观看| 欧美日韩精品一区二区三区蜜桃| 亚洲国产日日夜夜| 欧美久久久久久久久久| 日韩电影在线一区二区| 欧美一级一区二区| 91久久香蕉国产日韩欧美9色| 国产精品欧美综合在线| 92国产精品观看| 亚洲一级不卡视频| 欧美日本一区二区| 美女视频黄免费的久久| 2014亚洲片线观看视频免费| 国产一区在线不卡| 国产欧美精品在线观看| av电影天堂一区二区在线| 日韩美女精品在线| 欧美视频在线观看一区二区| av中文字幕亚洲| 亚洲天堂a在线| 欧美视频一区在线观看| 蜜臀国产一区二区三区在线播放| 精品国产乱子伦一区| 国产成人亚洲精品青草天美| 国产拍欧美日韩视频二区 | 日韩视频免费观看高清完整版在线观看 | 成人av影院在线| 亚洲免费观看高清| 337p亚洲精品色噜噜| 韩国精品久久久| **欧美大码日韩| 欧美精品乱人伦久久久久久| 国产又粗又猛又爽又黄91精品| 国产精品日产欧美久久久久| 欧美亚洲图片小说| 激情亚洲综合在线| 亚洲人亚洲人成电影网站色| 欧美日本韩国一区二区三区视频| 韩国理伦片一区二区三区在线播放 | 制服丝袜亚洲播放| 国产专区欧美精品| 亚洲一区免费观看| 精品1区2区在线观看| 91免费看`日韩一区二区| 婷婷久久综合九色国产成人| 国产日韩欧美电影| 欧美久久一区二区| 成人美女视频在线观看| 日韩成人伦理电影在线观看| 欧美经典三级视频一区二区三区| 成人免费福利片| 蜜桃久久av一区| 一区二区三区中文在线| 久久亚洲精品国产精品紫薇| 一本久久综合亚洲鲁鲁五月天| 捆绑调教美女网站视频一区| 成人听书哪个软件好| 午夜电影网一区| 日韩一区中文字幕| 日韩一区二区三区视频在线 | 亚洲欧美日本韩国|