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

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

?? guitimer.c

?? Samsung ARM7 s3c44b0 + uC-OSii + uC-GUI 完美的綜合到了一起
?? 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        : GUITimer.cPurpose     : Supplies timers for new emWin GSC-------------------------------------------------------------------------------------------------END-OF-HEADER------------------------------*/#include <stddef.h>           /* needed for definition of NULL */#include "GUI_Protected.H"/*  *****************************************************************  *                                                               *  *              Config defaults                                  *  *                                                               *  ******************************************************************//*      *************************************************************      *                                                           *      *                 Object definition                         *      *                                                           *      **************************************************************/typedef struct {  GUI_TIMER_CALLBACK* cb;  GUI_TIMER_Handle hNext;  int Flags;	U32 Context;	GUI_TIMER_TIME t0;	GUI_TIMER_TIME Period;} GUI_TIMER_Obj;/*  *****************************************************************  *                                                               *  *              Static data                                      *  *                                                               *  ******************************************************************/GUI_TIMER_Handle hFirstTimer;/*  ********************************************************************  *                                                                  *  *                 Macros for internal use                          *  *                                                                  *  *********************************************************************/#define GUI_TIMER_H2P(h) (GUI_TIMER_Obj*)GUI_ALLOC_H2P(h)/*  ********************************************************************  *                                                                  *  *                    Static routines                               *  *                                                                  *  *********************************************************************/static void Unlink(GUI_TIMER_Handle hTimer) {  GUI_TIMER_Obj* pTimer = GUI_TIMER_H2P(hTimer);  GUI_TIMER_Handle hi;  GUI_TIMER_Obj*   pi;/* Check if it is the first element */  if (hFirstTimer == hTimer) {    hFirstTimer = pTimer->hNext;    return;	}  hi = hFirstTimer;/* Try to find it in the list ... */  while(hi) {    /* GUI_ASSERT(hi<1000,0); */    pi = GUI_TIMER_H2P(hi);    if (pi->hNext == hTimer) {      pi->hNext = pTimer->hNext;      break;		}            hi = pi->hNext;  }  }/*********************************************************************   Link new Timer	 ==============	This routine inserts the new timer (referenced by its handle) into	the linked list. The linked list is sorted according to timestamps.	The first element is the timer which expires first.*/void Link(GUI_TIMER_Handle hNew) {  GUI_TIMER_Obj*   pNew        = GUI_TIMER_H2P(hNew);  GUI_TIMER_Obj*   pTimer;  GUI_TIMER_Obj*   pNext;  GUI_TIMER_Handle hNext;  if (hFirstTimer ==0) { /* List is empty, make it the only element */    hFirstTimer = hNew;	  pNew->hNext = 0;  } else {    GUI_TIMER_Obj* pFirstTimer      = GUI_TIMER_H2P(hFirstTimer);/* Check if we have to make it the first element */    if ((pNew->t0 - pFirstTimer->t0) <=0) {      pNew->hNext = hFirstTimer;      hFirstTimer = hNew;			return;		} else {      GUI_TIMER_Handle hTimer = hFirstTimer;/* Put it into the list */      do {        pTimer       = GUI_TIMER_H2P(hTimer);        hNext        = pTimer->hNext;        if (hNext ==0)					goto Append;        pNext      = GUI_TIMER_H2P(hNext);				if ((pNew->t0 - pNext->t0) <=0) {          pNew->hNext  = hNext;          pTimer->hNext= hNew;          return;				}			} while(1);/* Put it at the end of the list */Append:      pNew->hNext  = hNext;      pTimer->hNext= hNew;      return;		}  }}/*  ********************************************************************  *  *        Static routines:  Exec  *  *********************************************************************/int GUI_TIMER_Exec(void) {  int r = 0;  GUI_TIMER_TIME t = GUI_GetTime();  GUI_LOCK(); {    while (hFirstTimer) {     	GUI_TIMER_Obj* pTimer = GUI_TIMER_H2P(hFirstTimer);      if ((pTimer->t0-t) <=0) {        GUI_TIMER_MESSAGE tm;        tm.Time = t;				tm.Context = pTimer->Context;        hFirstTimer = pTimer->hNext;				pTimer->cb(&tm);        r = 1;			} else			  break;    }    /*		GUI_TIMER_Obj* pObj = GUI_TIMER_H2P(hObj);    pObj->t0 = Time;    */  } GUI_UNLOCK();   return r;}/*  ********************************************************************  *                                                                  *  *        Exported routines:  Create                                *  *                                                                  *  *********************************************************************/GUI_TIMER_Handle GUI_TIMER_Create      (    GUI_TIMER_CALLBACK* cb,                                    int Time,                                    U32 Context,                                    int Flags) {  GUI_TIMER_Handle hObj;  GUI_TIMER_Obj* pObj;  GUI_LOCK();  GUI_USE_PARA(Flags);  GUI_USE_PARA(Time);  GUI_pfTimerExec = GUI_TIMER_Exec;	{    /* Alloc memory for obj */    hObj = GUI_ALLOC_ALLOC(sizeof(GUI_TIMER_Obj));    pObj = GUI_TIMER_H2P(hObj);    /* init member variables */    pObj->cb = cb;		pObj->Context = Context;    /* Link it */		Link(hObj);	} GUI_UNLOCK();  return hObj;}/*  ********************************************************************  *                                                                  *  *        Exported routines:  Delete                                *  *                                                                  *  *********************************************************************/void GUI_TIMER_Delete(GUI_TIMER_Handle hObj) {/* Unlink Timer */  GUI_LOCK();    Unlink(hObj);    GUI_ALLOC_FREE(hObj);  GUI_UNLOCK();}/*  ********************************************************************  *                                                                  *  *        Exported routines:  Various methods                       *  *                                                                  *  *********************************************************************/void GUI_TIMER_SetPeriod(GUI_TIMER_Handle hObj, GUI_TIMER_TIME Period) {  GUI_LOCK(); {    GUI_TIMER_Obj* pObj = GUI_TIMER_H2P(hObj);    pObj->Period = Period;  } GUI_UNLOCK(); }void GUI_TIMER_SetTime(GUI_TIMER_Handle hObj, GUI_TIMER_TIME Time) {  GUI_LOCK(); {   	GUI_TIMER_Obj* pObj = GUI_TIMER_H2P(hObj);    pObj->t0 = Time;  } GUI_UNLOCK(); }void GUI_TIMER_SetDelay(GUI_TIMER_Handle hObj, GUI_TIMER_TIME Delay) {  GUI_LOCK(); {   	GUI_TIMER_Obj* pObj = GUI_TIMER_H2P(hObj);    pObj->t0 = Delay;		Unlink(hObj);		Link(hObj);  } GUI_UNLOCK(); }void GUI_TIMER_Restart(GUI_TIMER_Handle hObj) {  GUI_LOCK(); {   	GUI_TIMER_Obj* pObj = GUI_TIMER_H2P(hObj);    pObj->t0 = GUI_GetTime() +pObj->Period;		Unlink(hObj);		Link(hObj);  } GUI_UNLOCK(); }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91成人网在线| 91在线国产观看| 日韩精品成人一区二区在线| 亚洲免费观看视频| 亚洲免费观看高清完整版在线观看 | 亚洲成a人片在线不卡一二三区 | 日韩欧美亚洲国产另类| 欧美一区二区三区四区在线观看| 91精品国产高清一区二区三区蜜臀| 欧美一区二区三区在线看| 日韩视频免费直播| 欧美精品一区视频| 欧美国产97人人爽人人喊| 中文字幕一区二| 亚洲午夜久久久久久久久电影院| 亚洲夂夂婷婷色拍ww47 | 久久精品国产秦先生| 亚洲精选免费视频| 日韩理论片中文av| 亚洲一区二区美女| 日韩成人免费在线| 精彩视频一区二区三区| 成人网男人的天堂| 欧美这里有精品| 日韩欧美在线观看一区二区三区| 26uuu欧美日本| 国产精品电影院| 午夜精品aaa| 国产成人免费9x9x人网站视频| 成人一二三区视频| 欧美在线一二三| 精品日韩在线观看| 亚洲视频免费观看| 日韩av中文在线观看| 国产成人免费xxxxxxxx| 欧美色综合影院| 欧美激情自拍偷拍| 三级久久三级久久久| 成人国产在线观看| 欧美一区二区三区在线电影| 中文字幕亚洲精品在线观看| 蜜臀a∨国产成人精品| 国产原创一区二区三区| 成人性视频免费网站| 欧美美女网站色| |精品福利一区二区三区| 另类小说一区二区三区| 欧美综合色免费| 亚洲bt欧美bt精品| 国产精品影视网| 91精品国产入口| 亚洲免费观看高清完整版在线| 国产精品一区二区在线看| 欧美男人的天堂一二区| 一级日本不卡的影视| 成人视屏免费看| 久久精品夜色噜噜亚洲a∨| 麻豆国产一区二区| 欧美日韩成人综合天天影院 | 国产在线国偷精品免费看| 欧美日韩一区二区不卡| 亚洲精品国产无天堂网2021| 国产夫妻精品视频| 久久欧美一区二区| 国产中文字幕一区| 精品日韩在线一区| 国模无码大尺度一区二区三区| 日韩视频一区二区在线观看| 丝袜美腿一区二区三区| 欧美美女直播网站| 丝袜诱惑亚洲看片| 91精品国产一区二区三区香蕉| 亚洲一区二区成人在线观看| 欧亚一区二区三区| 亚洲国产成人av网| 欧美精品一卡二卡| 免费一级欧美片在线观看| 91精品国产综合久久精品性色| 亚洲国产一二三| 91超碰这里只有精品国产| 国产精品1024| 国产精品日日摸夜夜摸av| 91在线丨porny丨国产| 亚洲精品亚洲人成人网在线播放| 一本大道久久a久久综合| 亚洲精品久久久久久国产精华液 | 丝袜诱惑亚洲看片| 日韩一区二区高清| 粉嫩av一区二区三区在线播放| 国产精品天天看| 欧美性欧美巨大黑白大战| 麻豆国产欧美日韩综合精品二区| 国产日产欧美精品一区二区三区| 成人激情图片网| 亚洲午夜免费视频| 精品国内二区三区| 99久久99久久综合| 五月婷婷久久综合| 日本一区二区综合亚洲| 色丁香久综合在线久综合在线观看| 日韩精品一级中文字幕精品视频免费观看| 欧美一区二区三区四区在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 日韩vs国产vs欧美| 中文天堂在线一区| 欧美精品亚洲二区| 韩国av一区二区三区在线观看| 一区在线中文字幕| 欧美一区二区三区的| 国产精品456露脸| 亚洲高清免费一级二级三级| 久久久精品tv| 欧美性猛交xxxx黑人交| 国产精品一区二区男女羞羞无遮挡| 亚洲欧美激情视频在线观看一区二区三区| 欧美日韩国产123区| 成人性色生活片| 日韩中文字幕一区二区三区| 国产精品久久久久影视| 久久久久久久免费视频了| 在线观看视频一区二区欧美日韩| 九一久久久久久| 伊人婷婷欧美激情| 国产视频一区二区三区在线观看| 欧美少妇性性性| 99久久久国产精品| 国产伦精品一区二区三区在线观看| 亚洲主播在线播放| 亚洲欧美色图小说| 欧美激情在线免费观看| 精品国产一区二区三区不卡| 欧美视频一区二区| 色综合久久天天综合网| 国产精品一区二区在线观看不卡| 久久精品国产精品青草| 午夜精品一区二区三区免费视频| 中文字幕一区视频| 国产色91在线| 久久久久久久久久电影| 日韩写真欧美这视频| 欧美日本国产视频| 欧美日韩情趣电影| 91福利视频久久久久| 99视频一区二区三区| 成人小视频在线| 99久久精品免费观看| 99热精品一区二区| av爱爱亚洲一区| 色一情一乱一乱一91av| 色综合久久综合网欧美综合网 | 欧美成人女星排行榜| 91麻豆精品国产91久久久久| 欧美乱妇一区二区三区不卡视频| 在线免费不卡视频| 欧美性三三影院| 欧美剧情片在线观看| 欧美高清你懂得| 欧美一二三在线| 亚洲成人av在线电影| 欧美影院一区二区三区| 成人视屏免费看| 99久久精品免费| 色呦呦网站一区| 7777精品伊人久久久大香线蕉| 欧洲一区二区av| 制服丝袜成人动漫| 日韩欧美亚洲国产另类| 国产色产综合色产在线视频| 国产女同性恋一区二区| 亚洲婷婷国产精品电影人久久| 亚洲欧美另类小说| 日本亚洲一区二区| 国产成人综合在线播放| 91免费看`日韩一区二区| 欧美在线小视频| 欧美电视剧在线观看完整版| 国产亚洲自拍一区| 一区二区三区欧美日| 日韩成人一级片| 不卡电影免费在线播放一区| 91福利在线观看| 久久欧美一区二区| 一区二区在线看| 国产麻豆精品一区二区| 色综合久久久久综合99| 日韩你懂的在线观看| 国产精品日产欧美久久久久| 亚洲va国产va欧美va观看| 国产在线精品视频| 欧美视频一区二区在线观看| 久久久亚洲精华液精华液精华液| 亚洲同性同志一二三专区| 水野朝阳av一区二区三区| 国产成人激情av| 欧美日韩成人综合天天影院| 欧美国产禁国产网站cc| 日韩不卡一区二区三区| 一本色道亚洲精品aⅴ| 26uuu色噜噜精品一区| 丝袜诱惑制服诱惑色一区在线观看|