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

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

?? checkbox.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        : 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一区二区三区免费野_久草精品视频
亚洲女女做受ⅹxx高潮| 丝袜美腿一区二区三区| 亚洲大型综合色站| 国产夫妻精品视频| 91精品婷婷国产综合久久竹菊| 久久欧美中文字幕| 日本中文字幕不卡| 日本韩国欧美一区二区三区| 久久综合色播五月| 奇米色777欧美一区二区| 91麻豆swag| 国产精品日韩成人| 国产综合成人久久大片91| 欧美日韩在线播放三区四区| 亚洲欧美欧美一区二区三区| 粉嫩av一区二区三区| 精品国产免费一区二区三区四区 | 91久久人澡人人添人人爽欧美| 精品日韩一区二区三区免费视频| 亚洲国产一区二区三区| 91在线观看免费视频| 久久嫩草精品久久久精品| 日本怡春院一区二区| 欧美精品久久一区二区三区| 亚洲精品videosex极品| 91美女在线看| √…a在线天堂一区| 成人国产在线观看| 国产精品国产三级国产普通话99| 国产一区二区91| 久久久久国产精品麻豆ai换脸 | 欧美一区二区三区免费| 天天av天天翘天天综合网| 欧美日韩一区二区三区视频| 一区二区高清免费观看影视大全| 成人黄页在线观看| 国产精品久久久久久一区二区三区| 国产激情一区二区三区四区| 国产喂奶挤奶一区二区三区| 成人av网址在线| 中文字幕亚洲一区二区av在线 | 91精品久久久久久久99蜜桃| 天堂影院一区二区| 欧美一区二区三区视频| 精品一区二区久久| 久久久久久久久伊人| 不卡的av在线播放| 一区二区三区视频在线观看| 欧美优质美女网站| 日本aⅴ精品一区二区三区 | 91.麻豆视频| 蜜臀99久久精品久久久久久软件| 日韩免费高清视频| 丁香激情综合五月| 一区二区免费看| 日韩你懂的在线观看| 成人在线视频一区二区| 亚洲女人****多毛耸耸8| 69堂国产成人免费视频| 国产成人综合精品三级| 亚洲欧洲制服丝袜| 欧美日韩久久一区二区| 国产专区综合网| 亚洲黄色av一区| 精品国产网站在线观看| 91蝌蚪porny九色| 麻豆精品新av中文字幕| 中文字幕一区二区三区四区不卡 | 美女被吸乳得到大胸91| 欧美国产日韩亚洲一区| 欧美性大战久久久久久久蜜臀| 九九视频精品免费| 亚洲美女免费视频| 26uuu国产一区二区三区| 91国内精品野花午夜精品| 免费看精品久久片| 亚洲欧美一区二区三区极速播放| 制服丝袜成人动漫| 99v久久综合狠狠综合久久| 日韩激情在线观看| 自拍偷自拍亚洲精品播放| 欧美一区二区三区爱爱| 91女厕偷拍女厕偷拍高清| 蜜桃久久精品一区二区| 亚洲高清一区二区三区| 欧美国产1区2区| 日韩视频在线一区二区| 色综合久久久久综合体| 国产精品性做久久久久久| 日韩在线观看一区二区| 亚洲精品乱码久久久久久| 欧美激情综合五月色丁香 | 欧美日韩精品欧美日韩精品一综合| 国产成人av一区二区三区在线观看| 亚洲国产精品人人做人人爽| 国产精品久久久久国产精品日日| 日韩欧美国产电影| 欧美精品丝袜中出| 在线观看91精品国产入口| aaa国产一区| 国产99久久久国产精品免费看| 蜜桃精品视频在线观看| 日韩电影在线免费| 天涯成人国产亚洲精品一区av| 亚洲另类一区二区| 亚洲伦在线观看| 亚洲人快播电影网| 日韩一区欧美一区| 国产精品久久久久久久久晋中| 欧美激情中文字幕| 久久久99精品免费观看不卡| 欧美精品一区二区久久久| 日韩美女天天操| 欧美xxxx老人做受| 精品福利一区二区三区| 精品欧美黑人一区二区三区| 欧美mv日韩mv亚洲| 91精品国产综合久久精品图片| 91精品国产综合久久久久久久| 欧美一区二区视频免费观看| 91精品在线免费观看| 欧美成人一区二区三区片免费| 欧美不卡一区二区三区四区| 久久久蜜桃精品| 国产精品无码永久免费888| 日本一区二区成人在线| 国产精品毛片大码女人| 亚洲激情图片一区| 日韩电影在线观看一区| 久久99国产乱子伦精品免费| 国产精品亚洲成人| av高清久久久| 6080午夜不卡| 日本一区二区在线不卡| 18成人在线视频| 日本不卡高清视频| 国产麻豆日韩欧美久久| 91在线一区二区三区| 欧美亚洲一区二区在线| 91精品国产综合久久福利| 亚洲精品一区二区在线观看| 中文文精品字幕一区二区| 一区二区三区四区视频精品免费 | 成人午夜电影小说| 色婷婷综合久久久久中文| 91精品在线免费| 国产三级一区二区三区| 亚洲精品日产精品乱码不卡| 婷婷久久综合九色综合伊人色| 国产精品一区二区果冻传媒| 99久久精品国产麻豆演员表| 欧美乱熟臀69xxxxxx| 国产亚洲1区2区3区| 亚洲一区二区三区三| 精品在线观看视频| 色狠狠色狠狠综合| 欧美一区二区人人喊爽| 亚洲欧洲日产国码二区| 蜜桃久久精品一区二区| 91麻豆高清视频| 91麻豆精品国产91久久久资源速度| 日韩欧美国产午夜精品| 亚洲免费电影在线| 久久99久久99精品免视看婷婷| 99久久久久久| 久久综合久久综合久久| 午夜精品一区二区三区电影天堂 | 蜜臀精品一区二区三区在线观看| 国产福利视频一区二区三区| 制服视频三区第一页精品| 亚洲精品免费看| 成人午夜视频免费看| 日韩欧美美女一区二区三区| 一区二区三区视频在线看| 成人高清av在线| 精品国产污网站| 日本系列欧美系列| 在线看日本不卡| 亚洲国产电影在线观看| 美腿丝袜在线亚洲一区 | 欧洲亚洲国产日韩| 国产精品激情偷乱一区二区∴| 国产一区二区影院| 日韩视频在线观看一区二区| 午夜精品久久久久久久| 91久久免费观看| 亚洲精品伦理在线| 91丨九色porny丨蝌蚪| 欧美韩日一区二区三区四区| 国产美女视频一区| 久久综合99re88久久爱| 精品系列免费在线观看| 欧美xxxxx裸体时装秀| 免费高清在线视频一区·| 欧美挠脚心视频网站| 日韩一区欧美二区| 日韩色在线观看| 麻豆91在线播放免费| 日韩精品一区二区三区三区免费| 人人爽香蕉精品|