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

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

?? guicirc.c

?? ucgui在ARM44B0目標(biāo)板上的移植代碼支持16級(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        : GUICirc.CPurpose     : Circle and ellipse drawing functions----------------------------------------------------------------------Version-Date---Author-Explanation----------------------------------------------------------------------1.00.02 011115 JE     a) GL_FillEllipse, GL_FillCircle, GL_DrawCircle changed1.00.01 011113 JE     a) GL_DrawEllipse changed1.00.00 991206 RS     First release----------------------------------------------------------------------Known problems or limitations with current version----------------------------------------------------------------------None.----------------------------------------------------------------------Open issues----------------------------------------------------------------------None---------------------------END-OF-HEADER------------------------------*/#include <stddef.h>           /* needed for definition of NULL */#include "GUI_Private.H"/*      *************************************************      *                                               *      *            Draw Circle                        *      *                                               *      **************************************************/static  void Draw8Point(int x0,int y0, int xoff, int yoff) {  LCD_HL_DrawPixel(x0+xoff,y0+yoff);  LCD_HL_DrawPixel(x0-xoff,y0+yoff);  LCD_HL_DrawPixel(x0+yoff,y0+xoff);  LCD_HL_DrawPixel(x0+yoff,y0-xoff);  if (yoff) {    LCD_HL_DrawPixel(x0+xoff,y0-yoff);    LCD_HL_DrawPixel(x0-xoff,y0-yoff);    LCD_HL_DrawPixel(x0-yoff,y0+xoff);    LCD_HL_DrawPixel(x0-yoff,y0-xoff);  }}void GL_DrawCircle(int x0, int y0, int r) {  I32 i;  int imax = ((I32)((I32)r*707))/1000+1;  I32 sqmax = (I32)r*(I32)r+(I32)r/2;  I32 y=r;  Draw8Point(x0,y0,r,0);  for (i=1; i<= imax; i++) {    if ((i*i+y*y) >sqmax) {      Draw8Point(x0,y0,i,y);      y--;    }    Draw8Point(x0,y0,i,y);  }}void GUI_DrawCircle       (int x0, int y0, int r) {  #if (GUI_WINSUPPORT)    GUI_RECT Rect;  #endif  GUI_LOCK();  #if (GUI_WINSUPPORT)    WM_ADDORG(x0,y0);    Rect.x0 = x0-r;    Rect.x1 = x0+r;    Rect.y0 = y0-r;    Rect.y1 = y0+r;    WM_ITERATE_START(&Rect); {  #endif    GL_DrawCircle( x0, y0, r);  #if (GUI_WINSUPPORT)    } WM_ITERATE_END();  #endif  GUI_UNLOCK();}/*      *************************************************      *                                               *      *            Fill Circle                        *      *                                               *      **************************************************/void GL_FillCircle       (int x0, int y0, int r) {  I32 i;  int imax = ((I32)((I32)r*707))/1000+1;  I32 sqmax = (I32)r*(I32)r+(I32)r/2;  I32 x=r;  LCD_HL_DrawHLine(x0-r,y0,x0+r);  for (i=1; i<= imax; i++) {    if ((i*i+x*x) >sqmax) {      /* draw lines from outside */      if (x>imax) {        LCD_HL_DrawHLine (x0-i+1,y0+x, x0+i-1);        LCD_HL_DrawHLine (x0-i+1,y0-x, x0+i-1);      }      x--;    }    /* draw lines from inside (center) */    LCD_HL_DrawHLine(x0-x,y0+i, x0+x);    LCD_HL_DrawHLine(x0-x,y0-i, x0+x);  }}void GUI_FillCircle       (int x0, int y0, int r) {  GUI_LOCK();  #if (GUI_WINSUPPORT)    WM_ADDORG(x0,y0);    WM_ITERATE_START(NULL); {  #endif  GL_FillCircle(x0,y0,r);  #if (GUI_WINSUPPORT)    } WM_ITERATE_END();  #endif  GUI_UNLOCK();}/*        *********************************************************        *                                                       *        *               Ellipse drawing / filling               *        *                                                       *        *********************************************************The most efficient way to calculate the ellipse positionsis using the knowledge that the ellipse is just circle which hascompressed (or stretched) in one direction. For a circle, thefollowing equation holds true for all points located on the border ofit:               x^2 + y(x)^2 = r^2 = constTherefor, for an ellipse we can make use of the following equation:               (ry*x)^2 + (rx*y(x))^2 = (ry*rx)^2 = const*/void GL_FillEllipse      (int x0, int y0, int rx, int ry) {  I32 OutConst, Sum, SumY;  int x,y;  U32 _rx = rx;  U32 _ry = ry;  OutConst = _rx*_rx*_ry*_ry  /* Constant as explaint above */            +(_rx*_rx*_ry>>1); /* To compensate for rounding */  x = rx;  for (y=0; y<=ry; y++) {    SumY =((I32)(rx*rx))*((I32)(y*y)); /* Does not change in loop */    while (Sum = SumY + ((I32)(ry*ry))*((I32)(x*x)),           (x>0) && (Sum>OutConst))    {      x--;    }    LCD_HL_DrawHLine(x0-x, y0+y, x0+x);    if (y)      LCD_HL_DrawHLine(x0-x, y0-y, x0+x);  }}void GUI_FillEllipse      (int x0, int y0, int rx, int ry) {  #if (GUI_WINSUPPORT)    GUI_RECT r;  #endif  GUI_LOCK();  #if (GUI_WINSUPPORT)    WM_ADDORG(x0,y0);    /* Calc rectangle in order to avoid unnecessary drawing ops. */    r.x0 = x0-rx; r.x1 = x0+rx; r.y0 = y0-ry; r.y1 = y0+ry;    WM_ITERATE_START(&r); {  #endif  GL_FillEllipse (x0,y0, rx, ry);  #if (GUI_WINSUPPORT)    } WM_ITERATE_END();  #endif  GUI_UNLOCK();}void GL_DrawEllipse      (int x0, int y0, int rx, int ry) {  I32 OutConst, Sum, SumY;  int x,y;  int xOld;  U32 _rx = rx;  U32 _ry = ry;  OutConst = _rx*_rx*_ry*_ry  /* Constant as explaint above */            +(_rx*_rx*_ry>>1); /* To compensate for rounding */  xOld = x = rx;  for (y=0; y<=ry; y++) {    if (y==ry) {      x=0;    } else {      SumY =((I32)(rx*rx))*((I32)(y*y)); /* Does not change in loop */      while (Sum = SumY + ((I32)(ry*ry))*((I32)(x*x)),             (x>0) && (Sum>OutConst)) x--;    }/* Since we draw lines, we can not draw on the first    iteration*/    if (y) {      GL_DrawLine1(x0-xOld,y0-y+1,x0-x,y0-y);      GL_DrawLine1(x0-xOld,y0+y-1,x0-x,y0+y);      GL_DrawLine1(x0+xOld,y0-y+1,x0+x,y0-y);      GL_DrawLine1(x0+xOld,y0+y-1,x0+x,y0+y);    }    xOld = x;  }}void GUI_DrawEllipse      (int x0, int y0, int rx, int ry) {  #if (GUI_WINSUPPORT)    GUI_RECT r;  #endif  GUI_LOCK();  #if (GUI_WINSUPPORT)    WM_ADDORG(x0,y0);  /* Calc rectangle in order to avoid unnecessary drawing ops. */    r.x0 = x0-rx; r.x1 = x0+rx; r.y0 = y0-ry; r.y1 = y0+ry;    WM_ITERATE_START(&r); {  #endif  GL_DrawEllipse(x0, y0, rx, ry);  #if (GUI_WINSUPPORT)    } WM_ITERATE_END();  #endif  GUI_UNLOCK();}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费在线观看视频一区| 亚洲另类春色国产| 精彩视频一区二区三区| 日韩三级视频在线看| 欧美96一区二区免费视频| 精品久久久久久久久久久院品网 | 欧美日韩成人在线一区| 日韩国产精品久久| 欧美大片在线观看一区二区| 国产综合久久久久久久久久久久| 国产欧美日韩在线视频| 91一区二区三区在线播放| 午夜成人免费视频| 欧美成人精品高清在线播放| 成人一二三区视频| 午夜精品久久久久久久久| 精品国产免费人成在线观看| 成人动漫中文字幕| 婷婷成人激情在线网| 欧美精品一区二区三区在线播放| 成人精品免费看| 午夜不卡在线视频| 久久精品人人爽人人爽| 色婷婷精品久久二区二区蜜臀av| 日韩黄色免费网站| 欧美国产禁国产网站cc| 欧美乱妇一区二区三区不卡视频| 国产乱一区二区| 亚洲福利国产精品| 国产女人18毛片水真多成人如厕 | 高清成人在线观看| 亚洲综合自拍偷拍| 欧美变态tickle挠乳网站| 99re热视频精品| 精品午夜久久福利影院| 艳妇臀荡乳欲伦亚洲一区| 久久久精品免费观看| 欧美男生操女生| 91玉足脚交白嫩脚丫在线播放| 日韩精品亚洲一区二区三区免费| 最新国产の精品合集bt伙计| 精品日韩一区二区三区| 欧美少妇bbb| 99精品1区2区| 国产suv精品一区二区三区| 日本sm残虐另类| 亚洲国产日韩一区二区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 精品久久久久久无| 欧美日韩国产片| 在线亚洲精品福利网址导航| 国产成+人+日韩+欧美+亚洲| 美美哒免费高清在线观看视频一区二区| 亚洲另类色综合网站| 国产精品妹子av| 久久亚区不卡日本| 精品国产免费人成电影在线观看四季| 欧美日韩精品欧美日韩精品一综合| 91影院在线观看| 9色porny自拍视频一区二区| 国产成人精品综合在线观看 | 亚洲欧美一区二区不卡| 久久女同精品一区二区| 欧美tickling挠脚心丨vk| 欧美性xxxxxxxx| 色婷婷av一区| av激情亚洲男人天堂| 国产.欧美.日韩| 高清久久久久久| 高清国产一区二区三区| 高清国产一区二区| 福利一区在线观看| 成人av小说网| 成人18视频日本| 91免费观看国产| 一本色道久久综合亚洲91| 成人午夜视频网站| av午夜精品一区二区三区| eeuss鲁片一区二区三区| 成人午夜短视频| www.视频一区| 91国产福利在线| 欧美丰满少妇xxxbbb| 欧美一级高清片在线观看| 欧美一级电影网站| 欧美精品一区二区三区高清aⅴ | 婷婷久久综合九色综合绿巨人| 亚洲一区影音先锋| 亚洲成av人片一区二区梦乃| 丝袜美腿亚洲一区| 国产一区二区剧情av在线| 成人精品鲁一区一区二区| 日本高清不卡aⅴ免费网站| 欧美三级在线视频| 日韩免费性生活视频播放| 久久久亚洲高清| 亚洲欧美日韩人成在线播放| 亚洲五码中文字幕| 久久电影网站中文字幕| 国产suv精品一区二区三区| 色综合色综合色综合 | 91麻豆精品在线观看| 欧美在线高清视频| 日韩精品一区二区三区视频播放| 久久久久国产精品人| 亚洲精品成人天堂一二三| 日韩不卡一二三区| 国产精品一卡二卡| 在线观看91精品国产入口| 欧美xxxxxxxxx| 中文字幕一区二区在线播放| 夜夜嗨av一区二区三区四季av| 久久精品国产一区二区| 成人午夜激情视频| 91.com在线观看| 国产精品女同互慰在线看| 日韩高清欧美激情| 成人黄色网址在线观看| 精品视频1区2区3区| 国产亚洲综合性久久久影院| 亚洲综合一二区| 国产一区二区在线视频| 日本精品视频一区二区三区| 精品国产百合女同互慰| 亚洲国产精品一区二区www在线| 国产乱色国产精品免费视频| 欧美日韩视频一区二区| 国产精品天干天干在线综合| 免费精品99久久国产综合精品| 99久久久久久| 久久久久久久久久电影| 午夜视频一区在线观看| 91网站在线播放| 国产无一区二区| 麻豆高清免费国产一区| 在线这里只有精品| 国产精品久久久久久户外露出| 裸体健美xxxx欧美裸体表演| 色国产精品一区在线观看| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲成精国产精品女| 欧美日韩精品一区二区在线播放| 综合久久久久久| 国产高清久久久| 欧美成人午夜电影| 亚洲一区二区三区精品在线| 成人美女视频在线看| 亚洲福中文字幕伊人影院| 99精品视频在线播放观看| 久久久精品天堂| 亚洲精品成a人| 99久久婷婷国产综合精品电影| 亚洲欧美国产三级| 欧美日韩综合在线免费观看| 日韩成人伦理电影在线观看| 精品久久国产老人久久综合| 国产成人aaaa| 亚洲激情一二三区| 欧美一区三区四区| 丰满放荡岳乱妇91ww| 亚洲欧美另类小说| 欧美精品色综合| 国产美女精品在线| 亚洲欧美日韩中文字幕一区二区三区| 精品婷婷伊人一区三区三| 蜜臂av日日欢夜夜爽一区| 国产女主播一区| 欧美视频中文字幕| 国产乱码精品一区二区三区五月婷 | 国产日韩av一区| 91免费在线视频观看| 天天综合网 天天综合色| 久久精品在线观看| 欧美伊人精品成人久久综合97| 精品一区二区三区不卡| 亚洲欧美一区二区三区国产精品 | 6080亚洲精品一区二区| 国产麻豆午夜三级精品| 伊人色综合久久天天| 精品粉嫩超白一线天av| 91福利精品第一导航| 国内精品久久久久影院色| 亚洲免费在线看| 精品人在线二区三区| 色欧美片视频在线观看| 狠狠色狠狠色综合| 樱桃视频在线观看一区| 久久精品一区二区三区不卡牛牛 | 麻豆久久一区二区| 亚洲三级电影全部在线观看高清| 日韩欧美在线网站| 97成人超碰视| 国产精品白丝av| 美女视频一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 久久精品视频一区| 日韩美女天天操| 欧美视频一区二区三区| www.66久久| 国产91精品露脸国语对白|