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

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

?? marquee.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        : 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一区二区三区免费野_久草精品视频
九九久久精品视频| 日韩精品一区二区三区中文精品| 欧美精品一二三四| 亚洲国产精华液网站w| 奇米一区二区三区| 一本久久综合亚洲鲁鲁五月天| 精品91自产拍在线观看一区| 一区二区三区免费网站| 丁香六月久久综合狠狠色| 日韩一卡二卡三卡国产欧美| 亚洲一区二区欧美| 91毛片在线观看| 国产午夜精品理论片a级大结局 | 91同城在线观看| 久久众筹精品私拍模特| 日韩av一二三| 欧美日韩一二区| 亚洲国产日韩a在线播放| 99re热这里只有精品视频| 国产欧美一区二区精品性| 国产一区二区免费看| 日韩三级在线免费观看| 蜜乳av一区二区| 日韩精品一区二区三区老鸭窝| 亚洲香肠在线观看| 欧美日韩亚洲高清一区二区| 伊人婷婷欧美激情| 色综合色综合色综合色综合色综合 | 国产一本一道久久香蕉| 久久久蜜桃精品| 国产高清不卡一区二区| 久久网站最新地址| 国产凹凸在线观看一区二区 | 欧美精品一二三| 日韩国产一二三区| 91精品久久久久久久99蜜桃| 三级成人在线视频| 日韩一二三区视频| 激情综合色播激情啊| 久久综合久久综合亚洲| 国产激情一区二区三区桃花岛亚洲| 欧美国产丝袜视频| 色妹子一区二区| 日本美女视频一区二区| 精品国产成人系列| 国产电影精品久久禁18| 国产精品久久久久天堂| 色综合天天综合在线视频| 亚洲电影第三页| 26uuu久久综合| 91视频一区二区三区| 午夜精品免费在线| 精品精品欲导航| 成人激情小说网站| 亚洲成人自拍一区| 久久婷婷色综合| 在线看国产一区| 美女在线视频一区| 国产精品国产三级国产有无不卡| 欧洲精品在线观看| 久久狠狠亚洲综合| 亚洲视频一二三区| 日韩精品中午字幕| 色94色欧美sute亚洲线路一ni| 图片区小说区区亚洲影院| 久久久久久亚洲综合| 91福利国产成人精品照片| 精品一区二区日韩| 亚洲一区在线观看视频| 久久久久国产精品厨房| 色国产综合视频| 国产经典欧美精品| 日本成人超碰在线观看| 欧美性三三影院| 精品在线一区二区| 五月综合激情日本mⅴ| 国产精品乱码久久久久久| 91麻豆精品国产无毒不卡在线观看| 成人一区二区在线观看| 蜜桃av一区二区| 亚洲电影视频在线| 中文字幕欧美一| 精品欧美一区二区久久 | 91在线你懂得| 狠狠色丁香久久婷婷综| 亚洲高清免费在线| 亚洲女爱视频在线| 中文字幕av一区二区三区免费看| 91精品麻豆日日躁夜夜躁| 91国模大尺度私拍在线视频| 国产一区二区三区免费| 蜜臀av一区二区在线免费观看 | 九九精品一区二区| 五月天亚洲婷婷| 亚洲午夜免费视频| 亚洲视频在线观看三级| 亚洲欧洲日韩av| 国产精品美女久久久久aⅴ国产馆| 精品久久久久香蕉网| 日韩三级视频在线看| 欧美一区二区三区在线观看| 欧美调教femdomvk| 欧美在线短视频| 色综合久久88色综合天天免费| 国产成人综合网站| 国产在线视视频有精品| 日韩avvvv在线播放| 日韩电影在线一区二区三区| 丝袜诱惑亚洲看片| 免费观看成人av| 精品一区二区三区免费| 国产乱色国产精品免费视频| 韩日av一区二区| 国产精品夜夜嗨| 丰满放荡岳乱妇91ww| 粉嫩av一区二区三区| av成人动漫在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 91亚洲国产成人精品一区二三| 99麻豆久久久国产精品免费| 91啪在线观看| 在线观看成人小视频| 欧美日韩国产中文| 日韩欧美一级二级三级久久久| 欧美成va人片在线观看| 久久久一区二区| 1区2区3区国产精品| 亚洲自拍偷拍九九九| 日本伊人色综合网| 国产剧情一区二区三区| 99精品国产99久久久久久白柏| 色88888久久久久久影院按摩| 欧美日韩和欧美的一区二区| 日韩欧美久久一区| 国产欧美日韩精品在线| 日韩黄色免费电影| 国产在线视频不卡二| 成人国产精品免费观看| 精品1区2区3区| 精品国产青草久久久久福利| 国产人成一区二区三区影院| 国产亚洲精品超碰| 一区二区三区欧美日| 老司机午夜精品| 99精品欧美一区二区蜜桃免费| 欧美三级电影在线观看| 精品久久久网站| 亚洲一区二区三区小说| 国内精品久久久久影院色 | 亚洲免费成人av| 热久久免费视频| 成人高清免费观看| 欧美一区二区三区影视| 中文字幕亚洲电影| 日本不卡一区二区三区高清视频| 国产suv精品一区二区883| 欧美性生活久久| 国产精品视频在线看| 偷窥国产亚洲免费视频| 91在线看国产| 欧美mv日韩mv国产网站| 亚洲国产视频直播| 国产成人8x视频一区二区| 欧美亚洲国产一区二区三区| 国产性做久久久久久| 三级在线观看一区二区 | 亚洲一区二区三区免费视频| 国产最新精品免费| 欧美怡红院视频| 国产精品色眯眯| 国产综合色视频| 欧美美女黄视频| 亚洲最快最全在线视频| av男人天堂一区| 国产欧美视频在线观看| 久久99国产精品免费网站| 欧美久久久久久久久中文字幕| 一区在线播放视频| 国产a精品视频| 久久亚洲一级片| 美腿丝袜在线亚洲一区| 欧美色综合影院| 亚洲免费在线视频| caoporen国产精品视频| 国产拍揄自揄精品视频麻豆| 激情欧美日韩一区二区| 精品久久久久久久人人人人传媒 | 久久精品免费观看| 6080国产精品一区二区| 亚洲动漫第一页| 在线观看区一区二| 亚洲黄色在线视频| 在线观看欧美精品| 亚洲国产日韩精品| 在线播放国产精品二区一二区四区 | a在线播放不卡| 自拍偷拍国产精品| 欧美在线小视频| 午夜电影久久久| 日韩一区二区电影|