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

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

?? guicirc.c

?? 汽車綜合監(jiān)控儀——廣東省大學(xué)生電子設(shè)計(jì)大賽作品 (獲一等獎(jiǎng)) 使用技術(shù):ARM9(S3C2440)
?? 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一区二区三区免费野_久草精品视频
欧美日韩电影在线| 亚洲三级小视频| 欧美一级久久久久久久大片| 欧美主播一区二区三区| 在线精品视频免费观看| 欧美性色黄大片| 欧美年轻男男videosbes| 欧洲日韩一区二区三区| 欧美人牲a欧美精品| 欧美日韩国产综合草草| 欧美一区二区三区视频免费| 日韩精品综合一本久道在线视频| 日韩一区二区免费在线电影| 日韩欧美自拍偷拍| 久久久久综合网| 国产精品亲子伦对白| 国产精品高潮久久久久无| 1024成人网| 亚洲国产sm捆绑调教视频| 三级精品在线观看| 久久99国产精品久久99果冻传媒| 精品一区二区日韩| 成人短视频下载| 色八戒一区二区三区| 欧美精品第1页| 欧美mv和日韩mv的网站| 中文字幕精品三区| 亚洲夂夂婷婷色拍ww47 | 男人操女人的视频在线观看欧美 | 91精品在线观看入口| 精品区一区二区| 中文字幕第一区二区| 一区二区三区精品视频在线| 免费成人在线播放| 懂色av噜噜一区二区三区av| 91免费观看在线| 日韩一区二区三区视频| 国产亚洲精品aa| 亚洲最快最全在线视频| 麻豆传媒一区二区三区| 成人毛片在线观看| 欧美精品久久一区二区三区| 久久久久久久久久久电影| 亚洲免费观看在线视频| 美腿丝袜亚洲一区| 一本色道久久综合精品竹菊| 日韩女优av电影| 亚洲精品乱码久久久久| 久久精品国产一区二区三| 91色.com| 精品嫩草影院久久| 亚洲国产日韩a在线播放| 韩国欧美一区二区| 欧美日韩电影在线播放| 国产精品美女视频| 麻豆国产欧美一区二区三区| 色综合久久99| 国产欧美1区2区3区| 三级影片在线观看欧美日韩一区二区| 国产成人精品亚洲午夜麻豆| 91精品国产综合久久精品麻豆| 亚洲国产经典视频| 蜜臀精品一区二区三区在线观看| 色香蕉久久蜜桃| 精品久久久久一区| 午夜免费久久看| 99久久精品免费观看| 久久久久国产精品麻豆| 亚洲成av人片www| 99久久精品免费精品国产| 久久影院电视剧免费观看| 性做久久久久久免费观看欧美| 97精品超碰一区二区三区| 久久久久久电影| 麻豆91在线观看| 欧美日韩三级一区| 一区二区三区四区蜜桃| www.66久久| 国产免费久久精品| 激情综合色综合久久综合| 7777精品伊人久久久大香线蕉超级流畅 | 精品影视av免费| 欧美人xxxx| 亚洲精品欧美在线| 91在线精品一区二区| 国产亚洲欧洲一区高清在线观看| 青青草国产精品亚洲专区无| 欧美三级在线播放| 亚洲精品高清视频在线观看| 99免费精品在线| 国产精品美女久久久久久久久| 国产精品香蕉一区二区三区| 日韩免费视频线观看| 日韩激情av在线| 欧美精品电影在线播放| 偷拍亚洲欧洲综合| 欧美日韩国产美| 天堂久久久久va久久久久| 欧美羞羞免费网站| 亚洲国产乱码最新视频| 欧洲人成人精品| 亚洲国产精品麻豆| 欧美性色黄大片| 亚洲va韩国va欧美va| 欧美日韩免费观看一区二区三区| 亚洲一区在线视频| 在线播放/欧美激情| 日韩电影免费一区| 精品久久人人做人人爰| 国产一区二区三区四区五区美女| 久久综合九色综合欧美就去吻 | 色狠狠色噜噜噜综合网| 一区二区三区国产精华| 在线观看日韩毛片| 日本三级亚洲精品| 精品欧美一区二区三区精品久久| 国产一区二区三区在线观看精品| 国产女人18毛片水真多成人如厕 | 成人午夜电影久久影院| 中文字幕一区二区三区精华液 | 亚洲免费电影在线| 欧美视频一区在线| 奇米综合一区二区三区精品视频| 欧美xfplay| 成人一区二区视频| 一区二区高清免费观看影视大全| 538prom精品视频线放| 国产一区二区在线免费观看| 亚洲欧洲成人精品av97| 欧美私人免费视频| 极品少妇xxxx精品少妇| 国产精品国产三级国产三级人妇| 在线亚洲一区二区| 蜜臀91精品一区二区三区| 国产精品视频线看| 精品视频资源站| 国产二区国产一区在线观看| 亚洲日本免费电影| 日韩欧美在线观看一区二区三区| 成人三级在线视频| 亚洲国产视频一区| 久久蜜桃av一区精品变态类天堂 | 91在线观看地址| 日韩不卡在线观看日韩不卡视频| 久久精品免视看| 在线观看91视频| 国产一区二区精品久久| 亚洲欧美国产三级| 欧美电视剧免费全集观看| 波多野结衣一区二区三区| 日韩精品视频网站| 中文字幕一区二| 日韩一区二区免费视频| eeuss鲁一区二区三区| 久久精品国内一区二区三区| www.日韩av| 日韩电影免费一区| 中文字幕一区二区三区av| 成人午夜电影久久影院| 亚洲精品在线观看网站| 99久久免费国产| 美女视频黄a大片欧美| 国产精品嫩草99a| 欧美一区二区三区日韩| 色狠狠av一区二区三区| 国产成人高清在线| 蜜桃精品视频在线| 亚洲一区二区三区美女| 国产精品欧美精品| 日韩欧美国产麻豆| 欧美性受xxxx黑人xyx性爽| 成人综合在线视频| 久久99精品国产麻豆婷婷| 亚洲成av人片| 亚洲裸体在线观看| 国产清纯白嫩初高生在线观看91| 91精品国产美女浴室洗澡无遮挡| 91蝌蚪porny| 福利一区在线观看| 极品尤物av久久免费看| 日韩成人一级片| 亚欧色一区w666天堂| 亚洲男人天堂一区| 亚洲国产精品99久久久久久久久| 精品久久久久久久久久久久包黑料 | 91在线porny国产在线看| 国产一区三区三区| 美国十次综合导航| 天堂精品中文字幕在线| 一区二区日韩av| 亚洲激情五月婷婷| 亚洲三级视频在线观看| 亚洲欧洲日产国产综合网| 国产喷白浆一区二区三区| 久久婷婷国产综合国色天香| 日韩美一区二区三区| 欧美一区二区在线播放| 在线电影院国产精品| 欧美日韩aaa| 欧美日韩高清不卡|