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

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

?? guiaalib.c

?? uCOS/uCGUI在2440上的移植
?? 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一区二区三区免费野_久草精品视频
91久久精品一区二区| 一本大道久久a久久精品综合| 亚洲欧美日韩国产中文在线| 国产精品毛片大码女人| 欧美国产乱子伦| 国产欧美日韩在线观看| 国产精品久久久久一区二区三区| 国产精品久久久久久久第一福利| 亚洲视频小说图片| 午夜电影网亚洲视频| 免费看精品久久片| 国产剧情一区在线| 99re这里都是精品| 欧美午夜电影网| 日韩一级片在线播放| 久久精品在线免费观看| 国产精品色婷婷| 亚洲午夜激情网站| 国内不卡的二区三区中文字幕| 丰满少妇在线播放bd日韩电影| 99久久免费视频.com| 欧美日韩情趣电影| 久久久久88色偷偷免费 | 亚洲高清不卡在线| 丝瓜av网站精品一区二区| 麻豆国产欧美一区二区三区| 国产suv精品一区二区三区| 色94色欧美sute亚洲线路一ni| 欧美电影一区二区| 欧美国产精品中文字幕| 丝袜国产日韩另类美女| 国产99久久久国产精品潘金| 欧美日免费三级在线| 久久九九99视频| 日本亚洲天堂网| 91视视频在线直接观看在线看网页在线看| 欧洲另类一二三四区| 久久久久国产成人精品亚洲午夜| 亚洲综合自拍偷拍| 国产不卡一区视频| 日韩欧美黄色影院| 一区二区三区精品在线| 国产一区二区不卡在线| 欧美精品黑人性xxxx| 国产精品成人在线观看| 久久99精品国产麻豆婷婷洗澡| 91一区在线观看| 国产日产亚洲精品系列| 免费久久精品视频| 欧美三级视频在线播放| 亚洲欧美在线视频观看| 国产69精品久久久久777| 51精品久久久久久久蜜臀| 亚洲黄色尤物视频| 成人精品视频一区| 久久色视频免费观看| 日韩国产精品久久久久久亚洲| 北条麻妃国产九九精品视频| 国产亚洲一二三区| 国模套图日韩精品一区二区| 欧美一区日韩一区| 日韩中文字幕91| 91官网在线免费观看| 亚洲视频在线一区二区| 不卡av在线免费观看| 日本一区二区三区国色天香| 国产麻豆精品视频| 久久这里只有精品视频网| 捆绑变态av一区二区三区| 欧美一区二区三区免费视频| 性感美女极品91精品| 欧美视频日韩视频在线观看| 亚洲宅男天堂在线观看无病毒| 91麻豆国产精品久久| 亚洲色图制服诱惑| 欧美在线小视频| 亚洲sss视频在线视频| 欧美欧美欧美欧美| 日本少妇一区二区| 亚洲精品在线免费观看视频| 国产尤物一区二区| 国产精品日韩精品欧美在线| 成人激情动漫在线观看| 亚洲精品中文在线影院| 欧美午夜理伦三级在线观看| 亚洲chinese男男1069| 欧美一区在线视频| 国产精品一区二区在线播放| 欧美激情一区二区三区在线| 99久久精品国产精品久久| 亚洲欧美一区二区在线观看| 欧美亚洲一区二区三区四区| 天堂久久一区二区三区| 精品成人佐山爱一区二区| 国产精品99久久久久久久vr| 亚洲少妇30p| 91精品蜜臀在线一区尤物| 黄色小说综合网站| 国产精品电影一区二区三区| 欧美丝袜丝交足nylons图片| 美女视频黄频大全不卡视频在线播放| 26uuu国产电影一区二区| 成人av免费在线观看| 午夜精品一区二区三区电影天堂 | 国产在线一区二区| 国产精品国产三级国产aⅴ原创| 91麻豆福利精品推荐| 久久精品国产999大香线蕉| 国产精品久久一卡二卡| 欧美久久一二区| 国产91精品一区二区麻豆亚洲| 一区二区三区av电影| 精品国产亚洲在线| 91福利资源站| 成人蜜臀av电影| 蜜臀av性久久久久蜜臀av麻豆 | 香蕉影视欧美成人| 欧美国产一区二区在线观看| 欧美日韩国产另类不卡| 成人激情动漫在线观看| 久久精品国产亚洲一区二区三区| 亚洲色图在线视频| 久久新电视剧免费观看| 欧美另类变人与禽xxxxx| 国产电影精品久久禁18| 日韩一区精品字幕| 亚洲视频图片小说| 亚洲国产精品一区二区尤物区| 亚洲日本免费电影| 中文字幕亚洲在| 欧美一区二区三区视频在线 | 中文字幕制服丝袜成人av| 7777精品伊人久久久大香线蕉经典版下载 | 777xxx欧美| 欧洲亚洲国产日韩| 99久久婷婷国产综合精品| 国产在线不卡一区| 麻豆精品久久久| 日本不卡视频一二三区| 一区二区三区日韩欧美精品| 国产精品久久久久久福利一牛影视| 日韩欧美国产综合一区 | 麻豆精品视频在线观看| 五月婷婷综合网| 一区二区三区蜜桃网| 亚洲免费大片在线观看| 国产精品免费视频网站| 国产精品美女一区二区在线观看| 精品成人免费观看| 精品欧美久久久| 欧美刺激午夜性久久久久久久| 亚洲欧美日韩电影| 综合在线观看色| 国产精品国产三级国产普通话三级| 国产亚洲一区二区三区在线观看| 久久众筹精品私拍模特| 国产三级精品视频| 国产精品久久久久一区二区三区共| 国产亚洲精品aa午夜观看| 久久免费偷拍视频| 中文幕一区二区三区久久蜜桃| 国产三级欧美三级日产三级99| 久久嫩草精品久久久精品一| 国产午夜精品理论片a级大结局| 欧美激情一区二区三区在线| 国产精品久久毛片av大全日韩| 亚洲三级理论片| 亚洲成人在线网站| 麻豆91精品91久久久的内涵| 国精产品一区一区三区mba桃花| 韩国三级在线一区| www.66久久| 欧美日韩中文另类| 精品播放一区二区| √…a在线天堂一区| 亚洲1区2区3区4区| 国产福利精品导航| 在线看日韩精品电影| 日韩午夜电影av| 国产精品嫩草久久久久| 亚洲午夜成aⅴ人片| 国产乱子轮精品视频| 91啪亚洲精品| 日韩欧美一二三区| 中文字幕制服丝袜一区二区三区 | 日本伊人色综合网| 不卡在线观看av| 91麻豆精品国产无毒不卡在线观看 | 欧美一区二区在线不卡| 久久久久久久久久久电影| 一区二区在线免费| 国产一区二区精品久久99| 91最新地址在线播放| 日韩精品一区二区三区老鸭窝 | 欧美日韩成人激情| 久久精品免费在线观看| 五月天一区二区| 成人av免费观看| 久久蜜桃香蕉精品一区二区三区| 亚洲美女视频一区|