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

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

?? marquee.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        : 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一区二区三区免费野_久草精品视频
亚洲免费在线播放| 亚洲综合色在线| 日韩欧美你懂的| 欧美少妇性性性| 欧美日韩一区二区三区高清| 欧美视频在线不卡| 欧美日韩国产综合久久| 欧美日韩免费不卡视频一区二区三区| 白白色亚洲国产精品| 成人久久18免费网站麻豆| 床上的激情91.| 色婷婷一区二区三区四区| 日本久久一区二区| 欧美精品成人一区二区三区四区| 欧美日韩一区二区三区四区| 欧美二区在线观看| 国产精品久久久久久久久免费相片 | 欧美一区二区三区在线观看 | 在线成人午夜影院| 欧美不卡一二三| 国产精品丝袜黑色高跟| 亚洲狼人国产精品| 日本伊人色综合网| 国产成人亚洲综合a∨猫咪| 成a人片亚洲日本久久| 精品视频色一区| 久久综合色之久久综合| 国产精品美日韩| 亚洲aaa精品| 国内精品不卡在线| 欧美婷婷六月丁香综合色| 精品国产乱码久久久久久久久| 亚洲国产电影在线观看| 婷婷亚洲久悠悠色悠在线播放| 精品综合久久久久久8888| 波多野结衣视频一区| 欧美一区二区视频在线观看| 国产目拍亚洲精品99久久精品| 亚洲一区二区三区四区五区黄| 久久99精品国产| 91传媒视频在线播放| 精品日韩一区二区三区免费视频| 国产精品成人一区二区三区夜夜夜 | 91在线免费视频观看| 欧美日韩国产精选| 中文字幕在线不卡一区| 精品中文字幕一区二区小辣椒 | 欧美大片顶级少妇| 一区二区三区成人在线视频| 激情综合五月天| 欧美日韩免费不卡视频一区二区三区| 中文欧美字幕免费| 久久精品国产亚洲一区二区三区| 91视频在线看| 亚洲国产精品国自产拍av| 久色婷婷小香蕉久久| 欧美在线观看18| 亚洲天堂a在线| 国产成人精品一区二区三区四区| 亚洲欧洲中文日韩久久av乱码| 久久国产精品无码网站| 这里只有精品电影| 亚洲综合精品自拍| 91啪九色porn原创视频在线观看| 国产亚洲欧美一级| 国产精品一区二区三区四区| 欧美不卡一区二区| 精品一区二区三区蜜桃| 欧美va在线播放| 精品综合久久久久久8888| 精品国产123| 久久精品国产77777蜜臀| 欧美一级久久久| 奇米精品一区二区三区在线观看一| 欧美日韩国产123区| 午夜视频一区在线观看| 欧美日韩mp4| 日产精品久久久久久久性色| 日韩一区二区在线看| 美国毛片一区二区三区| 精品国精品自拍自在线| 国产成人综合亚洲网站| 国产精品私房写真福利视频| 成人网男人的天堂| 亚洲人一二三区| 精品视频在线免费观看| 免费在线观看不卡| 久久精品网站免费观看| 成人美女视频在线看| 一区二区三区在线免费视频| 欧美日韩第一区日日骚| 激情欧美一区二区三区在线观看| www日韩大片| 91女厕偷拍女厕偷拍高清| 亚洲一区二区三区精品在线| 日韩一区二区电影在线| www.亚洲人| 天天爽夜夜爽夜夜爽精品视频| 日韩美女视频在线| 91在线观看地址| 日韩成人免费电影| 国产欧美日韩视频在线观看| 91原创在线视频| 日韩一区精品字幕| 中国色在线观看另类| 欧美日韩成人综合天天影院 | 91麻豆精品国产无毒不卡在线观看 | eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 久久精品国产亚洲aⅴ | 在线中文字幕一区| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品嫩草影院com| 欧美巨大另类极品videosbest| 久久精品国产精品亚洲精品| 中文字幕一区二区日韩精品绯色| 欧美伊人久久久久久久久影院| 日本韩国一区二区| 精品中文字幕一区二区小辣椒| 亚洲欧美色图小说| 久久综合网色—综合色88| 欧美性受极品xxxx喷水| 国产91在线观看| 日韩激情在线观看| 亚洲欧美一区二区久久| 久久精品一区二区| 5月丁香婷婷综合| 91久久线看在观草草青青| 国产高清无密码一区二区三区| 偷偷要91色婷婷| 亚洲综合小说图片| 中文字幕亚洲欧美在线不卡| 久久嫩草精品久久久久| 在线成人免费观看| 欧美在线啊v一区| 99久久久免费精品国产一区二区| 国产一区激情在线| 另类专区欧美蜜桃臀第一页| 亚洲成av人片| 一区二区三区国产| 亚洲女性喷水在线观看一区| 国产精品丝袜一区| 欧美国产国产综合| 国产日韩欧美综合在线| 欧美成va人片在线观看| 欧美精品在欧美一区二区少妇| 色婷婷国产精品| 色婷婷亚洲婷婷| 色综合色综合色综合色综合色综合| 国产高清久久久久| 国产精品白丝jk黑袜喷水| 国产精品白丝jk白祙喷水网站| 久久99精品国产麻豆婷婷| 久久99国产精品成人| 韩国av一区二区三区| 精品在线免费视频| 国产精品亚洲成人| 成人黄色777网| 色综合激情五月| 欧美午夜精品久久久| 欧美精品丝袜久久久中文字幕| 欧美人与性动xxxx| 日韩欧美国产不卡| 国产天堂亚洲国产碰碰| 国产精品你懂的在线欣赏| 亚洲免费av在线| 青青草视频一区| 国产精品影视天天线| 99久久99久久精品免费看蜜桃| 91九色02白丝porn| 91麻豆精品国产91久久久久 | 不卡区在线中文字幕| 色素色在线综合| 欧美日韩一卡二卡三卡| 欧美不卡一区二区三区四区| 中文字幕av在线一区二区三区| 中文字幕av一区二区三区免费看 | 99国产精品99久久久久久| 在线欧美小视频| 91精品国产乱| 国产精品久久99| 肉肉av福利一精品导航| 国产另类ts人妖一区二区| 色婷婷综合五月| 精品久久久网站| 国产精品国产三级国产普通话三级| 亚洲综合男人的天堂| 久久精品国产亚洲高清剧情介绍| 不卡一卡二卡三乱码免费网站| 欧美精品在线观看播放| 国产精品久久久久久久久果冻传媒| 亚洲一区二区三区四区中文字幕 | 国产一区二区主播在线| 色综合久久99| 精品国产乱码久久久久久免费| 亚洲人成网站在线| 国产精品自在欧美一区| 欧美精品tushy高清| 亚洲视频 欧洲视频| 精彩视频一区二区三区| 欧美系列在线观看|