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

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

?? marquee.c

?? uCOS/uCGUI在2440上的移植
?? 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        : 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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性做爰猛烈叫床潮| 丰满少妇久久久久久久| 欧美日韩综合不卡| 三级在线观看一区二区 | 成人高清在线视频| 中文字幕精品一区| 99精品桃花视频在线观看| 亚洲三级在线观看| 欧美日韩一区二区三区在线看| 亚洲成人1区2区| 欧美成人福利视频| 粉嫩久久99精品久久久久久夜| 中文字幕亚洲区| 欧美日韩在线三区| 激情综合网激情| 国产精品久久综合| 欧美精品乱人伦久久久久久| 久久国产欧美日韩精品| 国产精品久久久久精k8| 欧美酷刑日本凌虐凌虐| 国产在线视频不卡二| 中文字幕在线一区| 欧美日韩高清一区二区| 黄色精品一二区| 一区二区在线观看av| 91精品国产综合久久国产大片| 狠狠狠色丁香婷婷综合激情| 亚洲精选视频免费看| 欧美一级高清片| www.性欧美| 久久国产精品色婷婷| 中文字幕在线不卡一区二区三区| 欧美日本不卡视频| 成人深夜福利app| 秋霞电影网一区二区| 国产精品国产三级国产| 欧美成人性福生活免费看| 91在线视频18| 国内精品久久久久影院薰衣草| 亚洲精品乱码久久久久久黑人 | 婷婷国产在线综合| 欧美韩日一区二区三区| 欧美裸体一区二区三区| 99精品久久只有精品| 久久91精品久久久久久秒播| 伊人性伊人情综合网| 国产女人18毛片水真多成人如厕| 欧美久久高跟鞋激| 色偷偷久久人人79超碰人人澡| 国产一区在线观看麻豆| 亚洲成精国产精品女| 综合久久综合久久| 久久久91精品国产一区二区精品 | 精品88久久久久88久久久| 欧美性猛片aaaaaaa做受| 风间由美中文字幕在线看视频国产欧美| 日本一道高清亚洲日美韩| 成人欧美一区二区三区黑人麻豆 | 青娱乐精品视频| 亚洲精品成人精品456| 亚洲欧洲在线观看av| 国产偷v国产偷v亚洲高清| 精品国产一区二区三区久久影院| 欧美猛男gaygay网站| 在线观看一区二区视频| 一本久久a久久免费精品不卡| 国产一区二区不卡| 韩国毛片一区二区三区| 日本va欧美va瓶| 免费成人在线网站| 美女www一区二区| 免费视频一区二区| 久久精品国产亚洲aⅴ| 免费日韩伦理电影| 麻豆91精品91久久久的内涵| 蜜臀av性久久久久蜜臀aⅴ| 婷婷开心激情综合| 免费在线观看一区二区三区| 日韩激情视频网站| 麻豆国产91在线播放| 精品一区二区三区免费毛片爱| 日本视频一区二区三区| 美国三级日本三级久久99| 久久se这里有精品| 国产黄色精品视频| www.亚洲在线| 在线观看区一区二| 欧美一区三区二区| 欧美成人性福生活免费看| 久久久久久夜精品精品免费| 欧美国产精品v| 亚洲视频小说图片| 亚洲图片欧美综合| 美美哒免费高清在线观看视频一区二区| 久久精品国产免费| 粉嫩绯色av一区二区在线观看| 成人av电影在线观看| 精品视频1区2区| 日韩三级在线观看| 中文无字幕一区二区三区| 亚洲三级视频在线观看| 五月激情综合婷婷| 国产精品一区在线| 91电影在线观看| 日韩免费高清电影| 国产精品免费视频网站| 夜夜操天天操亚洲| 日本美女视频一区二区| 国产精品一区二区久久精品爱涩 | 亚洲一区二区不卡免费| 免费在线观看不卡| 丰满少妇在线播放bd日韩电影| 91麻豆国产自产在线观看| 91精品国模一区二区三区| 久久久久久久免费视频了| 樱桃视频在线观看一区| 精品一区二区在线播放| 色综合视频一区二区三区高清| 91精品国模一区二区三区| 国产精品色哟哟网站| 日韩福利视频导航| 91麻豆精东视频| 337p日本欧洲亚洲大胆精品| 亚洲乱码国产乱码精品精可以看 | 久久影院电视剧免费观看| 亚洲裸体xxx| 国产一区二区网址| 欧美亚洲一区二区三区四区| 久久一区二区三区国产精品| 亚洲国产毛片aaaaa无费看| 国产高清久久久| 日韩欧美中文字幕公布| 亚洲主播在线观看| 国产精品99久久久| 日韩午夜在线观看| 亚洲成人福利片| 99久久久久久| 国产午夜精品一区二区 | 国产麻豆精品在线| 7777精品伊人久久久大香线蕉完整版| 国产精品久久久一本精品| 极品尤物av久久免费看| 欧美色综合久久| 亚洲欧美激情插| 成人深夜福利app| 国产欧美日本一区视频| 美洲天堂一区二卡三卡四卡视频| 精品视频在线免费| 一区二区三区四区精品在线视频| 国产91精品露脸国语对白| 欧美tickling挠脚心丨vk| 日韩极品在线观看| 7777精品伊人久久久大香线蕉| 一片黄亚洲嫩模| 日本道免费精品一区二区三区| 国产精品电影院| 99精品视频中文字幕| 欧美国产日本视频| 国产精品影视在线观看| 精品国产凹凸成av人网站| 老色鬼精品视频在线观看播放| 欧美顶级少妇做爰| 天天av天天翘天天综合网色鬼国产 | 成人免费在线观看入口| 成人免费的视频| 亚洲国产精品成人久久综合一区| 国内精品写真在线观看| 欧美精品一区二区三区在线播放 | 国产精品美女久久久久高潮| 成人午夜在线免费| 国产精品三级在线观看| 99天天综合性| 一区二区久久久久久| 欧美日本在线看| 蜜芽一区二区三区| 久久欧美一区二区| 成人精品在线视频观看| 中文字幕制服丝袜成人av | 国产成人亚洲综合a∨婷婷| 亚洲国产精品传媒在线观看| 99久久国产免费看| 亚洲在线观看免费| 91麻豆精品国产自产在线 | 另类综合日韩欧美亚洲| 久久精品夜色噜噜亚洲aⅴ| eeuss鲁片一区二区三区| 亚洲综合小说图片| 欧美老肥妇做.爰bbww视频| 国精产品一区一区三区mba桃花| 日本一区二区不卡视频| 日本精品视频一区二区三区| 日韩成人精品在线观看| 久久久五月婷婷| 91福利国产精品| 激情小说欧美图片| 国产精品不卡在线观看| 欧美片网站yy| 国产成人精品亚洲日本在线桃色| 亚洲另类色综合网站| 日韩欧美国产一区在线观看|