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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? guiaalib.c

?? ucgui在ARM44B0目標板上的移植代碼支持16級灰度
?? C
字號:
/***********************************************************************************************************                                                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        : GUIAALib.CPurpose     : Antialiasing library---------------------------END-OF-HEADER------------------------------*/#include "GUI_Private.H"#include "LCD_ConfDefaults.h"            /* Required in order to know max. XSize so we do not waste memory */#include <stdio.h>#include <string.h>#include <math.h>#ifdef WIN32  #pragma warning( disable : 4244 )  // Disable warning messages in simulation  #pragma warning( disable : 4761 )  // Disable warning "integral size mismatch in argument; conversion supplied"#endif                                      /*  *******************************************************************  *  *              Config defaults ...  *  ********************************************************************/#ifndef GUI_AA_LINEBUFFER_SIZE  #define GUI_AA_LINEBUFFER_SIZE LCD_XSIZE#endif/*  *******************************************************************  *  *              Statics  *  ********************************************************************/static U8   abAABuffer[GUI_AA_LINEBUFFER_SIZE];   /* This could be changed to dynamic memory ... */static U8*  pabAABuffer;static int  AA_x0, AA_x1, AA_y, AA_x0_InUse, AA_x1_InUse;static GUI_RECT ClipRect_HL;static tLCD_HL_APIList           DrawAPICopy;    /* Copy of device function ptr list */static const tLCD_HL_APIList*    pLCD_HLPrev;    /* Copy of device function ptr list *//*          **********************************************          *                                            *          *              AA Clean Line Buffer          *          *                                            *          ***********************************************/static void AA_CleanLine(void) {  memset(pabAABuffer,0, AA_x1 - AA_x0+1);  AA_y = -16383;  /* Invalidate */    AA_x0_InUse =  16383;  AA_x1_InUse = -16383;}/*          **********************************************          *                                            *          *              AA Flush Line Buffer          *          *                                            *          ***********************************************/static void AA_FlushLine(void) {  int i;  int iEnd = AA_x1_InUse-AA_x0;  int IMax = GUI_Context.AA_Factor*GUI_Context.AA_Factor;  for (i =AA_x0_InUse-AA_x0; i<=iEnd; i++) {    int Intens = *(pabAABuffer+i);    if (Intens) {      /* Check we can use line draw */      if (Intens == IMax) {        int j;        for (j=i; j<iEnd; ) {          if (*(pabAABuffer+j+1) != IMax) {            break;          }          j++;        }        /* Draw the full pixel(s) */        if (j!=i) {          pLCD_HLPrev->pfDrawHLine(AA_x0+i, AA_y, AA_x0+j);          i = j;  /*xxx*/        } else {          LCD_HL_DrawPixel (AA_x0+i,AA_y);        }      } else {        LCD_SetPixelAA(AA_x0+i,AA_y, (15*Intens+IMax/2)/IMax);      }    }      }  AA_CleanLine();}/*          **********************************************          *                                            *          *              Local DrawHLine               *          *                                            *          **********************************************  This is the redirected DrawHLine routine which is called  instead of the default output routine. Its job is to do  antialiasing and then perform the drawing operations.*/static void AA_DrawHLine  (int x0, int y,  int x1) {  int x0Real, x1Real;/* Make sure there is something to do */  if (x1<x0)    return;/* Flush line if we are in an other pixel (real) line */  if (y/GUI_Context.AA_Factor != AA_y) {    AA_FlushLine();    AA_y = y/GUI_Context.AA_Factor;  }  x0Real = x0/GUI_Context.AA_Factor;  x1Real = x1/GUI_Context.AA_Factor;/* Handle used area (speed optimization for drawing) */  if (x0Real < AA_x0_InUse)    AA_x0_InUse = x0Real;  if (x1Real > AA_x1_InUse)    AA_x1_InUse = x1Real;/* Clip (should not be necessary ... Just to be on the safe side ! */  if (x0Real < AA_x0) {    x0 = AA_x0*GUI_Context.AA_Factor;  }  if (x1Real > AA_x1) {    x1 = (AA_x1+1)*GUI_Context.AA_Factor-1;  }/* Make sure there is still something to do (after clipping) */  if (x1<x0)    return;/* Inc. hit counters in buffer */  {    int x0_Off = x0/GUI_Context.AA_Factor-AA_x0;    int x1_Off = x1/GUI_Context.AA_Factor-AA_x0;    int iRem = x1_Off-x0_Off+1;    U8 *pDest = pabAABuffer+x0_Off;    if (iRem ==1) {      *(pDest) += x1-x0+1;    } else {      /* First Pixel */      *pDest++ += ((x0_Off+AA_x0+1)*GUI_Context.AA_Factor-x0);      /* Middle Pixels */      for (;--iRem>1; ) {        *pDest++ +=GUI_Context.AA_Factor;      }      /* Last Pixel */      *pDest += (1+x1- (x1_Off+AA_x0) *GUI_Context.AA_Factor);    }  }}/*  *******************************************************************  *  *              CalcClipRectHL  *  ********************************************************************/static void CalcClipRectHL(void) {  ClipRect_HL.x0 =  GUI_Context.ClipRect.x0    * GUI_Context.AA_Factor;  ClipRect_HL.y0 =  GUI_Context.ClipRect.y0    * GUI_Context.AA_Factor;  ClipRect_HL.x1 = (GUI_Context.ClipRect.x1+1) * GUI_Context.AA_Factor -1;  ClipRect_HL.y1 = (GUI_Context.ClipRect.y1+1) * GUI_Context.AA_Factor -1;}/********************************************************************              GUI_AA_Init*********************************************************************/int GUI_AA_Init(int x0, int x1) {  int r =0;  /* Bounds checking:     Make sure x0, x1 are in legal range ...     (The important point is that they span no more than configured as      buffer size)  */  if (x0<0)    x0 =0;  if (x1-x0 > GUI_AA_LINEBUFFER_SIZE-1)    x1 = x0+GUI_AA_LINEBUFFER_SIZE-1;  /* Is there anything to do at all ??? */  if (x1 < x0) {    x1 = x0;   /* Not really ... */    r =1;  }  DrawAPICopy = *GUI_Context.pLCD_HL; /* Copy API table */  pLCD_HLPrev = GUI_Context.pLCD_HL; /* Remember list ptr (for restore) */  DrawAPICopy.pfDrawHLine = AA_DrawHLine;  /* modify function ptr. for hline */  GUI_Context.pLCD_HL = &DrawAPICopy;      /* Use copy of fp-list */  pabAABuffer = abAABuffer;  AA_x0 = x0;  AA_x1 = x1;  AA_CleanLine();  CalcClipRectHL();  GUI_Context.pClipRect_HL = &ClipRect_HL;  return r;}/********************************************************************              GUI_AA_Init*********************************************************************/int GUI_AA_Init_HiRes(int x0, int x1) {  x0 /= GUI_Context.AA_Factor;  x1 /= GUI_Context.AA_Factor;  return GUI_AA_Init(x0, x1);}/***********************************************************************              AA Selection of Factors for position and quality************************************************************************/void GUI_AA_SetFactor(int Factor) {  GUI_Context.AA_Factor = Factor;  CalcClipRectHL();      /* High level clipping depends on quality factor */}int GUI_AA_GetFactor(void) {  return GUI_Context.AA_Factor;}void GUI_AA_DisableHiRes(void) {  GUI_Context.AA_HiResEnable = 0;}void GUI_AA_EnableHiRes(void) {  GUI_Context.AA_HiResEnable =1;}I16 GUI_AA_HiRes2Pixel(int HiRes) {  return GUI_Context.AA_Factor ? (HiRes / GUI_Context.AA_Factor) : HiRes;}/*  *******************************************************************  *  *              GUI_AA_Exit  *  ********************************************************************/void GUI_AA_Exit(void) {  AA_FlushLine();  /* restore previous settings */  GUI_Context.pLCD_HL = pLCD_HLPrev;  GUI_Context.pClipRect_HL = &GUI_Context.ClipRect;}/*********************** EOF FILE *******************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人8x视频一区二区 | 亚洲午夜一区二区| 欧美tickling挠脚心丨vk| 欧美视频一区二区三区| 在线国产亚洲欧美| 在线免费观看日韩欧美| 在线观看亚洲精品| 欧美性大战久久| 欧美日本一区二区| 欧美美女bb生活片| 日韩欧美视频一区| 久久蜜桃av一区精品变态类天堂| 欧美一区二区三区不卡| 精品国精品自拍自在线| 精品美女被调教视频大全网站| 精品久久国产老人久久综合| 欧美xxxxx牲另类人与| 精品国产髙清在线看国产毛片| 欧美一级国产精品| 久久久久久久av麻豆果冻| 欧美国产丝袜视频| 亚洲精品国产一区二区精华液| 亚洲精品成人天堂一二三| 亚洲韩国精品一区| 精品亚洲成a人在线观看| 国产精品一区二区黑丝| av在线播放一区二区三区| 欧美日韩在线不卡| 在线不卡一区二区| 久久蜜臀精品av| 伊人开心综合网| 男人的天堂亚洲一区| 国产中文字幕精品| 在线国产亚洲欧美| 精品国产一区二区三区不卡| 国产精品久久久久精k8| 亚洲影院久久精品| 国产麻豆欧美日韩一区| 一本色道a无线码一区v| 日韩亚洲国产中文字幕欧美| 国产嫩草影院久久久久| 午夜精品在线看| 成人性生交大片| 欧美伦理电影网| 中文字幕一区在线观看视频| 午夜欧美在线一二页| 国产成人aaaa| 日韩一区二区在线看片| 亚洲精品国久久99热| 国产一区福利在线| 欧美性大战久久久| 成人免费一区二区三区视频| 天堂久久久久va久久久久| 国产91精品欧美| 精品少妇一区二区三区在线播放 | 国产精品久久久久久久久久免费看 | 91福利在线看| 久久精品欧美一区二区三区不卡 | 欧美日韩和欧美的一区二区| 国产精品视频一区二区三区不卡| 男人的天堂亚洲一区| 91蝌蚪porny| 欧美国产精品v| 国产精品99久| 精品成人私密视频| 免费人成网站在线观看欧美高清| 在线观看中文字幕不卡| 亚洲天天做日日做天天谢日日欢 | 麻豆精品精品国产自在97香蕉| 色综合婷婷久久| 国产精品毛片大码女人| 国产麻豆成人精品| 欧美岛国在线观看| 美女一区二区三区在线观看| 欧美精品 日韩| 五月激情六月综合| 欧美日韩在线播放三区四区| 一区二区三区视频在线看| 91网站在线播放| 亚洲欧美视频一区| 色先锋资源久久综合| 亚洲精品视频免费看| 色婷婷综合久久久中文一区二区 | 91免费版pro下载短视频| 国产精品色一区二区三区| 国产成人av电影在线| 国产婷婷精品av在线| 成人小视频在线| 亚洲精品视频免费看| 欧美久久婷婷综合色| 日韩av午夜在线观看| 日韩三级免费观看| 精品亚洲免费视频| 中文字幕一区二区在线观看| 色婷婷综合久久| 五月婷婷色综合| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品视频观看| www.亚洲人| 亚洲午夜激情av| 精品人伦一区二区色婷婷| 国产盗摄女厕一区二区三区 | 亚洲免费视频中文字幕| 欧美另类变人与禽xxxxx| 免费成人美女在线观看| 久久久精品中文字幕麻豆发布| 不卡一卡二卡三乱码免费网站| 一区二区三区国产精品| 欧美成人精品高清在线播放| 暴力调教一区二区三区| 午夜在线电影亚洲一区| 久久亚区不卡日本| 91国产成人在线| 国产精品资源在线看| 一区二区三区中文免费| 精品国产免费一区二区三区香蕉| 成人网在线播放| 日本vs亚洲vs韩国一区三区二区 | 午夜精品国产更新| 国产日产精品1区| 欧美图区在线视频| 国产成人一区在线| 天涯成人国产亚洲精品一区av| 欧美激情一区二区三区全黄| 欧美男同性恋视频网站| 成人国产精品免费观看视频| 日本午夜精品视频在线观看| 亚洲免费观看高清完整版在线观看熊| 日韩一级大片在线观看| 在线观看欧美精品| 成人国产免费视频| 国产在线国偷精品免费看| 亚洲成人激情综合网| 亚洲欧美日韩国产综合| 国产日韩欧美综合在线| 日韩一区二区三区三四区视频在线观看| 国产jizzjizz一区二区| 狠狠色综合日日| 美国欧美日韩国产在线播放| 亚洲午夜激情av| 一区二区三区中文字幕电影 | 亚洲国产美国国产综合一区二区| 国产亚洲欧洲997久久综合| 欧美大片日本大片免费观看| 欧美性猛交xxxx乱大交退制版 | 国产精品黄色在线观看| 精品国产乱码久久久久久浪潮| 欧美日韩不卡一区| 欧美系列一区二区| 91国产免费观看| 色综合久久综合网97色综合| 99久久99久久精品免费观看| 成人免费视频一区| 丁香啪啪综合成人亚洲小说| 国产成人综合精品三级| 另类成人小视频在线| 蜜桃视频在线观看一区二区| 日本中文字幕一区二区有限公司| 性做久久久久久免费观看| 亚洲一区二区欧美激情| 午夜视频在线观看一区| 亚洲.国产.中文慕字在线| 婷婷六月综合网| 蜜桃av噜噜一区| 极品少妇一区二区| 国产成人精品亚洲777人妖| 成人午夜电影网站| 色综合天天天天做夜夜夜夜做| 色av一区二区| 欧美电影一区二区| 精品国产乱码久久久久久久| 国产日韩av一区| 亚洲精品国产成人久久av盗摄| 亚洲精品国产视频| 日本亚洲天堂网| 国产一区在线不卡| 91麻豆国产福利精品| 在线播放/欧美激情| 精品久久久久久综合日本欧美| 久久一夜天堂av一区二区三区| 国产精品美女www爽爽爽| 亚洲精品五月天| 精品一区二区三区香蕉蜜桃| 成人av在线资源| 欧美浪妇xxxx高跟鞋交| 26uuu亚洲| 亚洲福中文字幕伊人影院| 久久精品国产亚洲一区二区三区| 成人在线视频一区二区| 欧美视频完全免费看| 精品少妇一区二区| 亚洲人成网站在线| 狠狠色丁香婷婷综合久久片| 成人av电影在线| 日韩一级精品视频在线观看| 国产精品乱码一区二区三区软件| 午夜在线电影亚洲一区| 成人福利视频在线| 精品久久一区二区| 亚洲一区二区三区免费视频|