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

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

?? guicirc.c

?? 基于arm7內核的S3C44B0X的UCGUI應用程序
?? 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        : 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();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区二区三区不卡| 国产欧美日韩视频在线观看| 日韩欧美成人激情| 欧美韩国日本一区| 91在线观看污| 亚洲免费伊人电影| 日本伊人精品一区二区三区观看方式| 国产一区二区三区高清播放| 91国偷自产一区二区使用方法| 日韩欧美色电影| 亚洲综合一二三区| 波多野结衣视频一区| 日韩欧美三级在线| 亚洲va在线va天堂| 91一区二区三区在线观看| 久久久亚洲综合| 美女视频第一区二区三区免费观看网站| 日韩精品一区二区三区在线观看 | 成人午夜短视频| 欧美日韩国产高清一区二区| 国产精品丝袜久久久久久app| 免费av成人在线| 91精品国产综合久久蜜臀| 亚洲一区二区视频| 在线这里只有精品| 亚洲国产精品久久不卡毛片| 91视频com| 亚洲另类在线视频| 91浏览器在线视频| 亚洲情趣在线观看| 一本色道久久综合亚洲精品按摩| 中文字幕亚洲一区二区va在线| 国产精品99久久久久久久女警| 精品国产乱码久久久久久久| 国产在线精品一区在线观看麻豆| 日韩精品一区国产麻豆| 久久精品国产免费看久久精品| 日韩写真欧美这视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 91精品国产综合久久久久久| 喷水一区二区三区| 精品成人一区二区三区四区| 国内精品国产三级国产a久久| 国产亚洲精品7777| 99视频国产精品| 亚洲一区二区三区四区在线观看| 麻豆国产欧美日韩综合精品二区| 欧美伊人久久久久久午夜久久久久| 国产精品自在在线| 欧美r级电影在线观看| 久久精品国内一区二区三区| 久久久国产午夜精品| 成人免费va视频| 亚洲一区影音先锋| 精品日韩成人av| 国产精品伊人色| 亚洲激情在线激情| 欧美一区二区三区四区在线观看| 激情成人综合网| 国产精品久99| 91.com视频| 成人免费看视频| 亚洲国产日日夜夜| 日韩欧美色综合| 91免费在线视频观看| 奇米精品一区二区三区在线观看 | 欧美日韩午夜精品| 在线观看国产日韩| 人妖欧美一区二区| 国产欧美综合在线观看第十页| www.性欧美| 秋霞影院一区二区| 国产精品人成在线观看免费| 欧美三级电影在线看| 国产精品一级在线| 午夜精品在线看| 国产精品视频在线看| 欧美一区国产二区| 91丨九色丨蝌蚪丨老版| 美腿丝袜亚洲色图| 一区二区三区四区不卡在线| 久久精品视频免费| 欧美丝袜丝交足nylons图片| 懂色av中文一区二区三区| 免费久久精品视频| 亚洲成人一区二区在线观看| 国产精品传媒入口麻豆| 精品美女在线观看| 欧洲亚洲国产日韩| 99久久国产综合色|国产精品| 久久不见久久见免费视频1| 亚洲成人自拍一区| 亚洲久本草在线中文字幕| 久久午夜免费电影| 欧美一区二区不卡视频| 欧洲亚洲国产日韩| 日韩精品一区二区三区四区| 精品视频一区 二区 三区| 成人激情免费网站| 国产精品一级片在线观看| 免费在线看一区| 日韩激情一区二区| 亚洲一区二区三区在线看| 一区二区成人在线| 国产精品传媒视频| 一色桃子久久精品亚洲| 欧美国产激情一区二区三区蜜月| 2023国产精华国产精品| 精品噜噜噜噜久久久久久久久试看| 欧美年轻男男videosbes| 欧美日韩一级二级| 欧美美女直播网站| 91精品国产综合久久久久久久久久| 欧美视频中文字幕| 欧美日韩一二区| 日韩小视频在线观看专区| 日韩小视频在线观看专区| 欧美mv和日韩mv的网站| 日韩欧美国产一区在线观看| 日韩色在线观看| 久久日一线二线三线suv| 久久精品日产第一区二区三区高清版| 久久影院视频免费| 国产精品沙发午睡系列990531| 国产精品理论片| 亚洲一区二区影院| 男男视频亚洲欧美| 国产精品一区二区免费不卡| www.在线成人| 欧美伊人精品成人久久综合97| 欧美日韩精品久久久| 欧美一区二区三区日韩| 精品黑人一区二区三区久久| 久久精子c满五个校花| 国产精品久久久久久亚洲伦| 亚洲伦理在线精品| 全国精品久久少妇| 成人综合在线网站| 在线视频国产一区| 欧美mv日韩mv国产网站| 中文字幕一区av| 天天色综合成人网| 国产激情视频一区二区在线观看| 成人福利视频网站| 欧美日韩在线免费视频| 亚洲精品一区二区三区精华液 | 国产精品久久久久四虎| 亚洲香肠在线观看| 久久99精品久久久久久国产越南| 成人免费看的视频| 欧美日本一区二区在线观看| 国产亚洲va综合人人澡精品| 亚洲精品日韩专区silk| 国模少妇一区二区三区| 色噜噜偷拍精品综合在线| 日韩免费性生活视频播放| 中文字幕一区二区三区乱码在线| 午夜精品aaa| 99久久久国产精品免费蜜臀| 日韩女同互慰一区二区| 日韩一区欧美一区| 极品瑜伽女神91| 欧美日韩精品一区二区三区四区| 国产欧美一二三区| 蜜桃免费网站一区二区三区| 色婷婷狠狠综合| 国产精品日日摸夜夜摸av| 天堂一区二区在线| 在线中文字幕一区| 国产精品三级在线观看| 久久精品国产一区二区三区免费看| 91丝袜美腿高跟国产极品老师| 久久色.com| 韩日欧美一区二区三区| 欧美久久一区二区| 亚洲精品成人悠悠色影视| 丁香亚洲综合激情啪啪综合| 日韩欧美亚洲国产精品字幕久久久| 中文字幕亚洲精品在线观看| 精品综合久久久久久8888| 欧美日韩视频在线观看一区二区三区 | 日本女优在线视频一区二区| 色婷婷国产精品综合在线观看| 欧美韩国一区二区| 国产毛片精品国产一区二区三区| 日韩午夜激情免费电影| 亚洲丶国产丶欧美一区二区三区| 91麻豆123| 亚洲图片另类小说| 91免费小视频| 亚洲精品国产品国语在线app| www.亚洲人| 亚洲天堂中文字幕| 99久久精品99国产精品| 国产精品的网站| 91麻豆国产自产在线观看| 国产精品传媒在线| 91免费观看视频| 一区二区三区在线影院| 欧洲一区在线电影|