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

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

?? checkbox.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        : CHECKBOX.cPurpose     : Template for new emWin GSC widgets---------------------------END-OF-HEADER------------------------------*/#include <stdlib.h>#include <string.h>#include "GUI_Private.H"#include "CHECKBOX.h"#include "Widget.h"#if GUI_WINSUPPORT/***********************************************************************       Private config defaults************************************************************************//* Define default fonts */#ifndef CHECKBOX_FONT_DEFAULT  #define CHECKBOX_FONT_DEFAULT &GUI_Font13_1#endif/* Support for 3D effects */#ifndef CHECKBOX_USE_3D  #define CHECKBOX_USE_3D 1#endif/* Define colors */#ifndef CHECKBOX_BKCOLOR0_DEFAULT  #define CHECKBOX_BKCOLOR0_DEFAULT 0x808080           /* Inactive color */#endif#ifndef CHECKBOX_BKCOLOR1_DEFAULT  #define CHECKBOX_BKCOLOR1_DEFAULT GUI_WHITE          /* Active color */#endif#ifndef CHECKBOX_FGCOLOR0_DEFAULT  #define CHECKBOX_FGCOLOR0_DEFAULT 0x101010#endif#ifndef CHECKBOX_FGCOLOR1_DEFAULT  #define CHECKBOX_FGCOLOR1_DEFAULT GUI_BLACK#endif/***********************************************************************       Object definition************************************************************************/typedef struct {  WIDGET Widget;  GUI_COLOR aBkColor[2];  GUI_COLOR aFgColor[2];  #if GUI_DEBUG_LEVEL >1    int DebugId;  #endif  } CHECKBOX_Obj;/***********************************************************************       Static data************************************************************************/static GUI_COLOR _aColor[2];/***********************************************************************       Static const data************************************************************************/static const GUI_LOGPALETTE _PalCheck = {  2,	/* number of entries */  0, 	/* No transparency */  &_aColor[0]};static const unsigned char _acCheck[] = {  XXXXXXXX, XXX_____,  XXXXXXXX, XXX_____,  XXXXXXXX, _XX_____,  XXXXXXX_, _XX_____,  XX_XXX__, _XX_____,  XX__X___, XXX_____,  XX_____X, XXX_____,  XXX___XX, XXX_____,  XXXX_XXX, XXX_____,  XXXXXXXX, XXX_____,  XXXXXXXX, XXX_____};static const GUI_BITMAP _bmCheck = { 11, /* XSize */ 11, /* YSize */ 2, /* BytesPerLine */ 1, /* BitsPerPixel */ _acCheck,  /* Pointer to picture data (indices) */ &_PalCheck  /* Pointer to palette */};/***********************************************************************       Macros for internal use************************************************************************/#define CHECKBOX_ID 0x4544   /* Magic numer, should be unique if possible */#define CHECKBOX_H2P(h) (CHECKBOX_Obj*) WM_H2P(h)#ifdef _DEBUG  #define CHECKBOX_ASSERT_IS_VALID_PTR(p) DEBUG_ERROROUT_IF(p->DebugId != CHECKBOX_ID, "xxx.c: Wrong handle type or Object not init'ed")  #define CHECKBOX_INIT_ID(p)   p->DebugId = CHECKBOX_ID  #define CHECKBOX_DEINIT_ID(p) p->DebugId = CHECKBOX_ID+1#else  #define CHECKBOX_ASSERT_IS_VALID_PTR(p)  #define CHECKBOX_INIT_ID(p)  #define CHECKBOX_DEINIT_ID(p)#endif/***********************************************************************       Static routines************************************************************************//***********************************************************************       _Paint*/static void _Paint(CHECKBOX_Obj* pObj) {  int ColorIndex;  ColorIndex = WIDGET__IsEnabled(&pObj->Widget);  /* Clear inside  ... Just in case */  GUI_SetBkColor (pObj->aBkColor[ColorIndex]);  GUI_Clear();  if (pObj->Widget.State & CHECKBOX_STATE_CHECKED) {    _aColor[1] = pObj->aBkColor[ColorIndex];    _aColor[0] = pObj->aFgColor[ColorIndex];    GUI_DrawBitmap(&_bmCheck, 2, 2);  }  /* Draw the 3D effect (if configured) */  WIDGET__EFFECT_DrawDown(&pObj->Widget);}/***********************************************************************       _OnTouch*/static void _OnTouch(CHECKBOX_Handle hObj, CHECKBOX_Obj* pObj, WM_MESSAGE*pMsg) {  int Notification;  int Hit = 0;  GUI_TOUCH_tState* pState = (GUI_TOUCH_tState*)pMsg->Data.p;  if (pMsg->Data.p) {  /* Something happened in our area (pressed or released) */    if (pState->Pressed) {      if (pObj->Widget.State & WIDGET_STATE_ENABLED) {        pObj->Widget.State ^= CHECKBOX_STATE_CHECKED;        WM_Invalidate(hObj);        Notification = WM_NOTIFICATION_CLICKED;        WM_SetFocus(hObj);      }    } else {      Hit =1;      Notification = WM_NOTIFICATION_RELEASED;    }  } else {    Notification = WM_NOTIFICATION_MOVED_OUT;  }  WM_NotifyParent(hObj, Notification);  if (Hit == 1) {    GUI_DEBUG_LOG("CHECKBOX: Hit\n");    GUI_StoreKey(pObj->Widget.Id);  }}/***********************************************************************       _Callback*/static void _CHECKBOX_Callback (WM_MESSAGE *pMsg) {  CHECKBOX_Handle hObj;  CHECKBOX_Obj* pObj;  hObj = pMsg->hWin;  pObj = CHECKBOX_H2P(hObj);  /* Let widget handle the standard messages */  if (WIDGET_HandleActive(hObj, pMsg) == 0) {    return;  }  switch (pMsg->MsgId) {  case WM_PAINT:    GUI_DEBUG_LOG("CHECKBOX: _Callback(WM_PAINT)\n");    _Paint(pObj);    return;  case WM_TOUCH:    _OnTouch(hObj, pObj, pMsg);    break;  }  WM_DefaultProc(pMsg);}/***********************************************************************       Exported routines:  Create************************************************************************//* Note: the parameters to a create function may vary.         Some widgets may have multiple create functions */CHECKBOX_Handle CHECKBOX_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags) {  CHECKBOX_Handle hObj;  /* Create the window */  WM_LOCK();  hObj = WM_CreateWindowAsChild(x0, y0, xsize, ysize, hParent,                                Flags, _CHECKBOX_Callback, sizeof(CHECKBOX_Obj)-sizeof(WM_Obj));  if (hObj) {    CHECKBOX_Obj* pObj = CHECKBOX_H2P(hObj);    /* init widget specific variables */    WIDGET__Init(&pObj->Widget, WIDGET_STATE_FOCUSSABLE | WIDGET_STATE_ENABLED);    pObj->Widget.Id     = Id;    /* init member variables */    CHECKBOX_INIT_ID(pObj);    pObj->aBkColor[0]   = CHECKBOX_BKCOLOR0_DEFAULT;    pObj->aBkColor[1]   = CHECKBOX_BKCOLOR1_DEFAULT;    pObj->aFgColor[0]   = CHECKBOX_FGCOLOR0_DEFAULT;    pObj->aFgColor[1]   = CHECKBOX_FGCOLOR1_DEFAULT;  } else {    GUI_DEBUG_ERROROUT_IF(hObj==0, "CHECKBOX_Create failed")  }  WM_UNLOCK();  return hObj;}CHECKBOX_Handle CHECKBOX_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb) {  CHECKBOX_Handle  hThis;  GUI_USE_PARA(cb);  hThis = CHECKBOX_Create(pCreateInfo->x0 + x0, pCreateInfo->y0 + y0, 15, 15,                          hWinParent, pCreateInfo->Id, pCreateInfo->Flags);  return hThis;}/***********************************************************************       Exported routines:  Various methods************************************************************************/void CHECKBOX_Check(CHECKBOX_Handle hObj) {  WIDGET_OrState(hObj, CHECKBOX_STATE_CHECKED);}void CHECKBOX_Uncheck(CHECKBOX_Handle hObj) {  WIDGET_AndState(hObj, CHECKBOX_STATE_CHECKED);}/***********************************************************************       Exported routines:  Query state************************************************************************//***********************************************************************       CHECKBOX_IsChecked*/int CHECKBOX_IsChecked(CHECKBOX_Handle hObj) {  int r = 0;  CHECKBOX_Obj* pObj;  if (hObj) {    WM_LOCK();    pObj = CHECKBOX_H2P(hObj);    r = (pObj->Widget.State & CHECKBOX_STATE_CHECKED) ? 1 : 0;    WM_UNLOCK();  }  return r;}#endif  /* #if GUI_WINSUPPORT */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看免费一区| 国产精品久久久久婷婷 | 美女mm1313爽爽久久久蜜臀| 韩国欧美国产1区| 91久久香蕉国产日韩欧美9色| 精品国产三级a在线观看| 亚洲精品高清在线观看| 国产一区二区三区精品视频| 欧美视频在线一区二区三区| 中文一区二区完整视频在线观看| 日韩高清一级片| 99精品欧美一区二区蜜桃免费 | 成人免费视频视频在线观看免费| 欧美伦理影视网| 国产精品初高中害羞小美女文| 狂野欧美性猛交blacked| 欧美日韩亚洲综合一区| 亚洲日本一区二区三区| 粉嫩av一区二区三区在线播放| 欧美一级片免费看| 天天综合网天天综合色| 欧美日韩在线不卡| 亚洲va欧美va人人爽午夜 | 日韩理论片网站| 处破女av一区二区| 欧美国产精品劲爆| 国产麻豆91精品| 久久久久国色av免费看影院| 蜜桃精品视频在线| 日韩欧美一二三四区| 免费在线观看精品| 欧美不卡一区二区三区四区| 美日韩黄色大片| 337p粉嫩大胆噜噜噜噜噜91av| 奇米777欧美一区二区| 欧美一级免费观看| 激情五月激情综合网| 欧美成人精精品一区二区频| 国产在线播放一区三区四| 久久精品人人做人人综合| 国产福利一区二区三区在线视频| 国产午夜亚洲精品不卡| 成人高清视频在线观看| 亚洲欧洲另类国产综合| 在线亚洲+欧美+日本专区| 亚洲444eee在线观看| 日韩一区二区在线观看| 国产一区二区精品久久91| 日本一区二区动态图| 色吧成人激情小说| 日本v片在线高清不卡在线观看| 制服.丝袜.亚洲.中文.综合| 九一九一国产精品| 国产精品国产三级国产aⅴ中文| 91视频.com| 视频一区在线视频| 久久精品日韩一区二区三区| 色综合久久天天| 免费成人你懂的| 最好看的中文字幕久久| 欧美日韩久久一区二区| 国产一区二区三区四区五区入口| 国产精品久久久久精k8| 欧美日韩精品电影| 国产成人免费视频| 亚洲午夜免费电影| 亚洲精品一区在线观看| 一本色道久久综合亚洲91| 日本不卡一区二区| 中文字幕av资源一区| 欧美精品高清视频| 国产精品一卡二| 亚洲成av人片观看| 国产精品久久久久久亚洲毛片| 欧美日韩在线不卡| www.久久久久久久久| 偷拍自拍另类欧美| 国产精品福利在线播放| 在线播放91灌醉迷j高跟美女| 国产一区二区免费在线| 午夜视频一区在线观看| 欧美国产综合色视频| 日韩一区二区在线播放| 91免费国产在线观看| 国产乱国产乱300精品| 五月天亚洲精品| 亚洲天堂网中文字| 国产色产综合产在线视频| 欧美日韩国产高清一区二区| 不卡av免费在线观看| 国产又黄又大久久| 美女在线一区二区| 五月天一区二区| 亚洲已满18点击进入久久| 国产精品亲子伦对白| 精品国产制服丝袜高跟| 欧美日本一区二区三区四区| 色综合天天综合网国产成人综合天 | 日本va欧美va欧美va精品| 亚洲欧美日韩小说| 国产精品嫩草影院com| 久久美女艺术照精彩视频福利播放| 欧美久久一区二区| 欧美探花视频资源| 91成人国产精品| 色999日韩国产欧美一区二区| 成人av在线观| 成人激情小说乱人伦| 国产福利91精品| 国产一区91精品张津瑜| 国产一区二区看久久| 国产一区二区三区免费在线观看| 久久99久久精品欧美| 日本视频一区二区| 捆绑调教一区二区三区| 精品午夜一区二区三区在线观看| 九九久久精品视频| 国产酒店精品激情| 不卡一区在线观看| 91亚洲午夜精品久久久久久| 91丝袜呻吟高潮美腿白嫩在线观看| 波多野结衣在线一区| 91女厕偷拍女厕偷拍高清| 99久久777色| 欧美三级日韩三级| 欧美日本视频在线| 精品免费日韩av| 国产精品素人视频| 一区二区三区国产豹纹内裤在线| 亚洲成国产人片在线观看| 日韩国产在线一| 精一区二区三区| 成人免费黄色在线| 色婷婷国产精品| 91精品国产综合久久精品麻豆| 91精品国产综合久久精品app| 精品美女在线播放| 中文字幕在线一区免费| 亚洲午夜在线视频| 激情五月播播久久久精品| 成人毛片视频在线观看| 欧美性三三影院| 久久久综合网站| 一区二区三区四区五区视频在线观看| 亚洲二区在线观看| 国产一区999| 欧美日韩综合在线| 欧美精品一区二区三区蜜臀 | 亚洲18女电影在线观看| 蜜桃精品视频在线| 不卡一区二区三区四区| 欧美狂野另类xxxxoooo| 国产午夜精品一区二区| 夜夜爽夜夜爽精品视频| 黄色日韩网站视频| 色噜噜久久综合| 久久蜜桃香蕉精品一区二区三区| 一区二区三区在线观看视频| 日本不卡一区二区三区高清视频| 成人午夜激情在线| 日韩欧美国产三级电影视频| 亚洲欧洲精品一区二区三区 | av毛片久久久久**hd| 日韩一区二区麻豆国产| 综合电影一区二区三区 | 97精品视频在线观看自产线路二| 欧美午夜一区二区三区免费大片| 久久精品夜色噜噜亚洲a∨| 亚洲第一会所有码转帖| av中文字幕不卡| 欧美精品一区二区三区四区| 亚洲成人动漫一区| 91首页免费视频| 日本一二三不卡| 国产精品资源在线| 欧美一级二级三级乱码| 亚洲国产欧美在线人成| 日本乱人伦aⅴ精品| 欧美国产乱子伦| 国产河南妇女毛片精品久久久| 91精品国产91久久综合桃花| 日韩一区二区视频| 色呦呦国产精品| 94-欧美-setu| 日本一区二区三区dvd视频在线| 午夜亚洲国产au精品一区二区| 99re成人精品视频| 国产精品久久福利| 国产寡妇亲子伦一区二区| 精品国精品国产| 国产自产v一区二区三区c| 精品欧美一区二区三区精品久久 | 久久免费视频一区| 精品一区二区精品| 日韩视频一区二区在线观看| 日韩高清不卡一区二区| 91精品国产手机| 狠狠色综合日日| 精品精品国产高清一毛片一天堂| 另类小说一区二区三区|