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

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

?? marquee.c

?? ucos在ARM9上的移植
?? 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        : MARQUEE.cPurpose     : emWin GSC bitmap widget, which allows to show blinking              bitmaps----------------------------------------------------------------------Version-Date---Author-Explanation----------------------------------------------------------------------1.02     001011 RS     a) Debug info (logging option) added.                       b) Support for Zero-time (transparent)                          bitmaps added.1.00     000613 RS     Release.0.50     000223 RS     First (Beta) release0.00     000107 RS     Start of development----------------------------------------------------------------------Known problems or limitations with current version----------------------------------------------------------------------None.----------------------------------------------------------------------Open issues----------------------------------------------------------------------None---------------------------END-OF-HEADER------------------------------*/#include "stdlib.h"#include "string.h"#include "MARQUEE.h"#include "GUIDEBUG.h"#include "GUI.h"#if GUI_WINSUPPORT/*  *****************************************************************  *                                                               *  *              Config defaults                                  *  *                                                               *  ******************************************************************/#ifndef MARQUEE_LOG_ENABLE  #ifdef _DEBUG    #define MARQUEE_LOG_ENABLE 0  #else    #define MARQUEE_LOG_ENABLE 0  #endif#endif/*  *****************************************************************  *  *              Internal macros  *  ******************************************************************/#define Invalidate(h) WM_InvalidateWindow(h)#if MARQUEE_LOG_ENABLE  #define LOG(s) SIM_Log(s)  #define LOG1(s,p1) SIM_Log(s,p1)  #define LOG_TIME() SIM_LogTime()#else  #define LOG(s)  #define LOG1(s)  #define LOG_TIME()#endif/*      *************************************************************      *                                                           *      *                 LIST ITEM  definition                     *      *                                                           *      **************************************************************//*      *************************************************************      *                                                           *      *                 Object definition                         *      *                                                           *      **************************************************************/typedef struct {  WM_Obj WMObj;  GUI_TIMER_Handle hTimer;  WM_HMEM hpText;  GUI_COLOR TextColor;  GUI_COLOR BkColor;  const GUI_FONT* pFont;#ifdef _DEBUG  int Id;#endif  } MARQUEE_Obj;/*  *****************************************************************  *                                                               *  *              Static data                                      *  *                                                               *  ******************************************************************//* None *//*  ********************************************************************  *                                                                  *  *                 Macros for internal use                          *  *                                                                  *  *********************************************************************/#define MARQUEE_ID 0x4249544d#define MARQUEE_H2P(h) (MARQUEE_Obj*) WM_HMEM2Ptr(h)#define LI_H2P(h)     (LI_Obj*)     WM_HMEM2Ptr(h)#ifdef _DEBUG  #define MARQUEE_ASSERT_IS_VALID_PTR(p) WM_ASSERT(p->Id == MARQUEE_ID)  #define MARQUEE_INIT_ID(p)   p->Id = MARQUEE_ID  #define MARQUEE_DEINIT_ID(p) p->Id = MARQUEE_ID+1#else  #define MARQUEE_ASSERT_IS_VALID_PTR(p)  #define MARQUEE_INIT_ID(p)  #define MARQUEE_DEINIT_ID(p)#endif/*  ********************************************************************  *                                                                  *  *                    Static routines                               *  *                                                                  *  *********************************************************************/static void FreeAttached(MARQUEE_Handle hObj) {  MARQUEE_Obj* pObj = MARQUEE_H2P(hObj);  WM_FREEPTR(&pObj->hpText);}static void Paint(MARQUEE_Obj* pObj/*, GUI_RECT*pRect*/) {  const char*s = (const char*) WM_HMEM2Ptr(pObj->hpText);  GUI_SetFont    (pObj->pFont);  GUI_SetBkColor (pObj->BkColor);  GUI_SetColor   (pObj->TextColor);  GUI_DispStringAt(s,0,0);  LOG_TIME(); LOG("MARQUEE: Paint(..)\n");}static void Delete(MARQUEE_Obj* pObj) {  if (pObj->hTimer) {    GUI_TIMER_Delete(pObj->hTimer);    pObj->hTimer =0;	}  if (pObj->hpText) {//    GUI_ALLOC_Free(hLI);    LOG_TIME(); LOG("MARQUEE: Delete: Deleting attached string\n");  }}static void _Callback (WM_MESSAGE * pMsg) {  MARQUEE_Handle hObj = (MARQUEE_Handle)pMsg->hWin;  MARQUEE_Obj* pObj = MARQUEE_H2P(hObj);  switch (pMsg->MsgId) {  case WM_PAINT:    LOG_TIME(); LOG("MARQUEE: _Callback(WM_PAINT)\n");    Paint(pObj/*, (GUI_RECT*)pMsg->Data.p*/);    return;  case WM_DELETE:    LOG_TIME(); LOG("MARQUEE: _Callback(WM_DELETE)\n");    Delete(pObj);    break;       /* No return here ... WM_DefaultProc needs to be called */#if MARQUEE_LOG_ENABLE  /* Debug code ... normally not compiled */  case WM_CREATE:    LOG_TIME(); LOG("MARQUEE: _Callback(WM_CREATE)\n");    break;       /* No return here ... WM_DefaultProc needs to be called */  default:    LOG_TIME(); LOG("MARQUEE: _Callback(unhandle message)\n");#endif  }  WM_DefaultProc(pMsg);}static void cbTimer (GUI_TIMER_MESSAGE *pMsg) {  MARQUEE_Handle hObj = pMsg->Context;  MARQUEE_Obj*   pObj = MARQUEE_H2P(hObj);  pObj = pObj;  MARQUEE_ASSERT_IS_VALID_PTR(pObj);  LOG_TIME(); LOG("MARQUEE: cbTimer\n");//  ShowNext(pObj);}/*  ********************************************************************  *                                                                  *  *        Exported routines:  Create                                *  *                                                                  *  *********************************************************************//* Note: the parameters to a create function may vary.         Some widgets may have multiple create functions */MARQUEE_Handle MARQUEE_Create      (                                    int x0, int y0, int xsize, int ysize,                                    int Flags){  /* Alloc memory for obj */  MARQUEE_Handle hObj =  WM_CreateWindow(x0, y0, xsize, ysize,                  WM_CF_SHOW |Flags, _Callback,                  sizeof(MARQUEE_Obj)-sizeof(WM_Obj));  if (hObj) {    MARQUEE_Obj* pObj = MARQUEE_H2P(hObj);    /* init widget specific variables */    /* init member variables */    MARQUEE_INIT_ID(pObj);    pObj->pFont =GUI_DEFAULT_FONT;    pObj->BkColor   = GUI_BLACK;    pObj->TextColor = GUI_WHITE;/* Create Timer */    pObj->hTimer = GUI_TIMER_Create(cbTimer,		                            0,    /* Time, 0 means not yet active */                                hObj, /* Instance handle */																0);  }  return hObj;}/*  ********************************************************************  *                                                                  *  *        Exported routines:  Various methods                       *  *                                                                  *  *********************************************************************/void MARQUEE_SetText(MARQUEE_Handle hObj, const char* s) {  MARQUEE_Obj* pObj = MARQUEE_H2P(hObj);  FreeAttached(hObj);  {    WM_HMEM hMem = WM_ALLOC(strlen(s)+1);    strcpy((char *) WM_HMEM2Ptr(hMem), s);    pObj->hpText = hMem;  }  Invalidate(hObj);}void MARQUEE_SetFont(MARQUEE_Handle hObj, const GUI_FONT* pfont) {  MARQUEE_Obj* pObj = MARQUEE_H2P(hObj);  pObj->pFont = pfont;  Invalidate(hObj);}void MARQUEE_SetBkColor(MARQUEE_Handle hObj, GUI_COLOR color) {  MARQUEE_Obj* pObj = MARQUEE_H2P(hObj);  pObj->BkColor = color;  Invalidate(hObj);}void MARQUEE_SetTextColor(MARQUEE_Handle hObj, GUI_COLOR color) {  MARQUEE_Obj* pObj = MARQUEE_H2P(hObj);  pObj->TextColor = color;  Invalidate(hObj);}#elsevoid WIDGET_Marquee(void) {} /* avoid empty object files */#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品日日鲁夜夜添| 亚洲色图视频网| 亚洲免费观看高清| 日本成人在线电影网| 99久久国产综合色|国产精品| 欧美高清视频一二三区| 国产精品久久久久精k8 | 久久先锋影音av鲁色资源网| 亚洲另类一区二区| 国产一区二区h| 7777精品伊人久久久大香线蕉| 国产女主播一区| 国产在线视视频有精品| 欧美日韩国产小视频| 亚洲视频一区在线| 大白屁股一区二区视频| 日韩欧美国产麻豆| 亚洲va韩国va欧美va精品| 91视视频在线观看入口直接观看www| 日韩欧美久久久| 日韩黄色免费电影| 欧洲一区二区av| 亚洲女女做受ⅹxx高潮| 成人午夜碰碰视频| 欧美成人r级一区二区三区| 亚洲国产精品久久久男人的天堂| 波多野结衣在线一区| 久久精品一二三| 国产精品中文字幕一区二区三区| 欧美va亚洲va香蕉在线| 日本中文在线一区| 欧美午夜不卡在线观看免费| 一区二区三区高清不卡| 色婷婷久久综合| 亚洲美女区一区| 91蜜桃网址入口| 一区二区三区在线影院| 日本精品视频一区二区| 亚洲欧美日本在线| av不卡一区二区三区| 最新国产精品久久精品| 91免费国产在线观看| 一区二区国产视频| 欧美性色黄大片| 免费成人性网站| 欧美一区二区视频在线观看| 日本vs亚洲vs韩国一区三区| 精品99一区二区三区| 国产美女在线精品| 国产精品家庭影院| 日本黄色一区二区| 青青草原综合久久大伊人精品优势| 日韩欧美国产一区二区在线播放| 精品一区二区三区不卡| 国产欧美一区二区精品婷婷 | 中文字幕亚洲视频| 色婷婷av一区二区三区大白胸 | 久久99九九99精品| 日本一区二区久久| 在线看日韩精品电影| 日本中文字幕一区| 国产精品久久久久久久久动漫 | 中文在线一区二区| 色域天天综合网| 免费在线观看精品| 国产精品久久久久久久第一福利| 在线精品视频免费播放| 日本欧美一区二区三区乱码| 国产人久久人人人人爽| 在线视频一区二区三| 久久99久久久久| 中文字幕一区二区在线播放| 欧美精品99久久久**| 国产不卡一区视频| 午夜精品久久久久久不卡8050| 久久综合久久鬼色| 欧美在线制服丝袜| 国产乱码字幕精品高清av| 一区二区日韩电影| 久久久五月婷婷| 欧美久久久久久蜜桃| proumb性欧美在线观看| 麻豆91精品视频| 亚洲欧美日韩国产综合在线| 久久久无码精品亚洲日韩按摩| 欧美写真视频网站| 99精品视频免费在线观看| 麻豆精品一二三| 亚洲精品国久久99热| 国产校园另类小说区| 91精品午夜视频| 色综合天天综合色综合av| 国产麻豆精品久久一二三| 午夜欧美大尺度福利影院在线看| 国产精品乱人伦| 精品国产1区二区| 欧美顶级少妇做爰| 一本大道久久a久久综合 | 免费成人小视频| 一区二区三区成人| 中文字幕一区二区5566日韩| 精品欧美一区二区在线观看| 欧美人动与zoxxxx乱| 色94色欧美sute亚洲13| 成人sese在线| 成人污视频在线观看| 久久er99精品| 免费成人av在线| 日韩成人dvd| 婷婷综合另类小说色区| 夜夜精品视频一区二区| 亚洲欧美激情在线| 最新国产精品久久精品| 中文字幕中文字幕中文字幕亚洲无线| 精品少妇一区二区三区视频免付费 | 韩国三级中文字幕hd久久精品| 肉色丝袜一区二区| 婷婷成人激情在线网| 亚洲影院久久精品| 亚洲电影第三页| 亚瑟在线精品视频| 丝袜美腿亚洲综合| 免费人成在线不卡| 久久狠狠亚洲综合| 国产毛片精品一区| 成人午夜视频在线观看| 91在线视频网址| 在线观看免费成人| 91精品福利在线一区二区三区 | 91精品国产色综合久久| 5月丁香婷婷综合| 日韩欧美视频一区| 久久亚洲精华国产精华液| 国产偷v国产偷v亚洲高清| 国产精品伦理一区二区| 亚洲精品高清在线观看| 午夜精品一区二区三区三上悠亚| 日韩成人午夜精品| 国产成人精品综合在线观看 | 成人免费av在线| 91社区在线播放| 欧美肥妇毛茸茸| 2023国产精品视频| 亚洲欧美在线另类| 亚洲高清免费一级二级三级| 久久99国产精品免费网站| 成人综合日日夜夜| 91在线精品秘密一区二区| 欧美网站大全在线观看| 精品福利一区二区三区| 国产精品黄色在线观看| 日韩精品成人一区二区在线| 国产suv精品一区二区三区 | av男人天堂一区| 91麻豆精品国产自产在线观看一区 | 亚洲精品亚洲人成人网在线播放| 午夜久久福利影院| 国产成人在线视频网址| 欧美日韩一区二区三区不卡| 亚洲精品一区二区三区在线观看 | 91在线国内视频| 欧美电影精品一区二区| 中文字幕日韩av资源站| 日本美女一区二区| 一本久久精品一区二区| 日韩欧美一区二区免费| 亚洲精品老司机| 寂寞少妇一区二区三区| 色婷婷精品大在线视频| 久久精品在线免费观看| 奇米一区二区三区| 91视频一区二区三区| 精品国产123| 性欧美大战久久久久久久久| bt欧美亚洲午夜电影天堂| 日韩欧美电影在线| 亚洲乱码国产乱码精品精98午夜| 美女视频黄 久久| 欧美图片一区二区三区| 中文av字幕一区| 九九热在线视频观看这里只有精品| 色综合久久久久综合99| 国产女同互慰高潮91漫画| 麻豆成人av在线| 欧美精品久久99久久在免费线 | 欧美色窝79yyyycom| 国产精品久线在线观看| 国产精品一二三| 日韩免费在线观看| 六月丁香婷婷色狠狠久久| 欧美日韩激情在线| 夜夜爽夜夜爽精品视频| 在线免费观看成人短视频| 亚洲欧美电影一区二区| 白白色 亚洲乱淫| 国产精品久久久一本精品| 国产精品系列在线播放| 久久在线免费观看| 国产精品一区二区男女羞羞无遮挡| 欧美大白屁股肥臀xxxxxx|