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

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

?? widget_buttonround.c

?? UC_GUI開發(fā)源代碼,里面含有范例,源文件
?? C
字號:
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        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        : WIDGET_ButtonRound.c
Purpose     : Demonstrates how to create and use a round button
---------------------------END-OF-HEADER------------------------------
*/

#include <stddef.h>
#include <string.h>

#include "WM.h"
#include "FRAMEWIN.h"
#include "BUTTON.h"
#include "BUTTON_Private.h"
#include "GUI_Protected.h"

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/

static WM_CALLBACK * _pcbCallback;
static int           _Color;
static int           _Font;
static int           _Pressed;

static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
  { FRAMEWIN_CreateIndirect, "Round button sample", 0,      50,  60, 200, 120, FRAMEWIN_CF_MOVEABLE },
  { BUTTON_CreateIndirect,   "Button",   GUI_ID_BUTTON0,   100,  10,  80,  80 },
  { BUTTON_CreateIndirect,   "Callback", GUI_ID_BUTTON1,    10,  10,  60,  20 },
  { BUTTON_CreateIndirect,   "Font",     GUI_ID_BUTTON2,    10,  30,  60,  20 },
  { BUTTON_CreateIndirect,   "Color",    GUI_ID_BUTTON3,    10,  50,  60,  20 },
  { BUTTON_CreateIndirect,   "Cancel",   GUI_ID_CANCEL,     10,  70,  60,  20 }
};

/*********************************************************************
*
*       Static functions
*
**********************************************************************
*/

/*********************************************************************
*
*       _OnPaint
*
* Purpose: Paints the owner drawn button
*/
static void _OnPaint(BUTTON_Handle hObj) {
  int Index;
  char ac[50];
  GUI_RECT Rect;
  BUTTON_Obj * pObj;
  pObj = BUTTON_H2P(hObj);
  Index = (WIDGET_GetState(hObj) & BUTTON_STATE_PRESSED) ? 1 : 0;
  WM_GetClientRect(&Rect);
  /* Draw filled ellipse with button background color */
  GUI_SetColor(BUTTON_GetBkColor(hObj, Index));
  GUI_FillEllipse(Rect.x1 / 2, Rect.y1 / 2, Rect.x1 / 2, Rect.y1 / 2);
  /* Draw black shape */
  GUI_SetColor(GUI_BLACK);
  GUI_DrawEllipse(Rect.x1 / 2, Rect.y1 / 2, Rect.x1 / 2, Rect.y1 / 2);
  /* Draw button text with widget attributes */
  GUI_SetColor(BUTTON_GetTextColor(hObj, Index));
  GUI_SetBkColor(BUTTON_GetBkColor(hObj, Index));
  GUI_SetFont(BUTTON_GetFont(hObj));
  BUTTON_GetText(hObj, ac, sizeof(ac));
  if (_Pressed) {
    strcpy(ac + strlen(ac), "\npressed");
  }
  GUI_DispStringInRect(ac, &Rect, GUI_TA_HCENTER | GUI_TA_VCENTER);
}

/*********************************************************************
*
*       _cbButton
*
* Purpose: 
*  1. Calls the owner draw function if the WM_PAINT message has been send
*  2. Calls the original callback for further messages
*  3. After processing the messages the function evaluates the pressed-state
*     if the WM_TOUCH message has been send
*/
static void _cbButton(WM_MESSAGE *pMsg) {
  switch (pMsg->MsgId) {
    case WM_PAINT:
      _OnPaint(pMsg->hWin);
      break;
    default:
      _pcbCallback(pMsg); /* The original callback */
      break;
  }
  if (pMsg->MsgId == WM_TOUCH) {
    if (BUTTON_IsPressed(pMsg->hWin)) {
      if (!_Pressed) {
        _Pressed = 1;
      }
    } else {
      _Pressed = 0;
    }
  }
}

/*********************************************************************
*
*       _cbDialog
*
* Purpose: Dialog callback routine
*/
static void _cbDialog(WM_MESSAGE *pMsg) {
  int NCode, Id;
  WM_HWIN hDlg;
  BUTTON_Handle hButton;
  hDlg = pMsg->hWin;
  switch (pMsg->MsgId) {
    case WM_PAINT:
      WM_DefaultProc(pMsg); /* Handle dialog items */
      /* After drawing the dialog items add some user drawn items to the window */
      GUI_SetPenSize(10);
      GUI_SetColor(GUI_GREEN);
      GUI_DrawLine( 95,  5, 185, 95);
      GUI_SetColor(GUI_RED);
      GUI_DrawLine( 95, 95, 185,  5);
      break;
    case WM_INIT_DIALOG:
      hButton = WM_GetDialogItem(hDlg, GUI_ID_BUTTON0);
      WM_SetHasTrans(hButton);              /* Set transparency flag for button */
      break;
    case WM_KEY:
      switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) {
        case GUI_KEY_ESCAPE:
          GUI_EndDialog(hDlg, 1);
          break;
        case GUI_KEY_ENTER:
          GUI_EndDialog(hDlg, 0);
          break;
      }
      break;
    case WM_NOTIFY_PARENT:
      Id    = WM_GetId(pMsg->hWinSrc);      /* Id of widget */
      NCode = pMsg->Data.v;                 /* Notification code */
      switch (NCode) {
        case WM_NOTIFICATION_RELEASED:      /* React only if released */
          hButton = WM_GetDialogItem(hDlg, GUI_ID_BUTTON0);
          if (Id == GUI_ID_BUTTON1) {       /* Toggle callback */
            if (_pcbCallback) {
              WM_SetCallback(hButton, _pcbCallback);
              _pcbCallback = 0;
            } else {
              _pcbCallback = WM_SetCallback(hButton, _cbButton);
            }
            WM_InvalidateWindow(hButton);
          }
          if (Id == GUI_ID_BUTTON2) {       /* Toggle font */
            if (_Font) {
              BUTTON_SetFont(hButton, &GUI_Font13_1);
            } else {
              BUTTON_SetFont(hButton, &GUI_Font8x16);
            }
            _Font ^= 1;
          }
          if (Id == GUI_ID_BUTTON3) {       /* Toggle color */
            if (_Color) {
              BUTTON_SetBkColor(hButton, 0, 0xaaaaaa);
              BUTTON_SetBkColor(hButton, 1, GUI_WHITE);
              BUTTON_SetTextColor(hButton, 0, GUI_BLACK);
              BUTTON_SetTextColor(hButton, 1, GUI_BLACK);
            } else {
              BUTTON_SetBkColor(hButton, 0, GUI_BLUE);
              BUTTON_SetBkColor(hButton, 1, GUI_RED);
              BUTTON_SetTextColor(hButton, 0, GUI_WHITE);
              BUTTON_SetTextColor(hButton, 1, GUI_YELLOW);
            }
            _Color ^= 1;
          }
          if (Id == GUI_ID_OK) {            /* OK Button */
            GUI_EndDialog(hDlg, 0);
          }
          if (Id == GUI_ID_CANCEL) {        /* Cancel Button */
            GUI_EndDialog(hDlg, 1);
          }
          break;
      }
      break;
    default:
      WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       MainTask
*
**********************************************************************
*/

void MainTask(void) {
  GUI_Init();
  /* Use memory devices for all windows */
  WM_SetCreateFlags(WM_CF_MEMDEV);
  WM_EnableMemdev(WM_HBKWIN);
  WM_SetDesktopColor(GUI_GREEN);
  while(1) {
    _Font = 0;
    _Color = 0;
    _pcbCallback = 0;
    GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbDialog, 0, 0, 0);
    GUI_Delay(1000);
  }
}
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区白人| 欧美电影在线免费观看| jiyouzz国产精品久久| eeuss鲁片一区二区三区在线看| 色综合久久66| 欧美一区二区免费| 国产欧美中文在线| 亚洲成a人在线观看| 国产一区二区三区四区五区美女| 99精品视频在线免费观看| 欧美日韩免费一区二区三区| 欧美精品一区二区三区四区 | 五月天激情综合网| 国产一区二区三区在线观看免费 | 综合av第一页| 欧美aaa在线| 波多野结衣中文字幕一区二区三区| 在线精品国精品国产尤物884a| 日韩精品在线网站| 亚洲精品国产无天堂网2021| 日韩国产欧美视频| 99精品在线观看视频| 欧美大片在线观看一区| 亚洲你懂的在线视频| 精品一区二区三区视频| 色婷婷av一区二区三区之一色屋| 久久久久亚洲蜜桃| 午夜视黄欧洲亚洲| 不卡的电视剧免费网站有什么| 日韩欧美在线影院| 亚洲一区二区三区不卡国产欧美| 国产大陆亚洲精品国产| 欧美一区三区二区| 一二三区精品福利视频| 国产a视频精品免费观看| 777午夜精品免费视频| 亚洲人妖av一区二区| 国产一区二区三区久久悠悠色av | 婷婷中文字幕综合| 99久久国产综合精品麻豆| 欧美大白屁股肥臀xxxxxx| 一区二区国产盗摄色噜噜| 国产suv精品一区二区6| 精品国产伦一区二区三区观看方式 | 日韩中文字幕麻豆| 色综合久久天天综合网| 国产日韩av一区| 久久99久久99精品免视看婷婷 | 亚洲国产视频在线| 菠萝蜜视频在线观看一区| 久久久一区二区| 精品一区二区三区在线观看国产 | 日本女人一区二区三区| 在线免费观看日本欧美| 亚洲少妇最新在线视频| 成人深夜在线观看| 精品一区二区日韩| 欧美日韩国产精品自在自线| 一区二区免费看| 色综合天天综合网天天狠天天| 国产精品久久久久久一区二区三区| 国产一区二区三区日韩| 精品国产免费人成在线观看| 韩国一区二区三区| 精品蜜桃在线看| 久久av中文字幕片| 精品欧美黑人一区二区三区| 久久激情五月激情| 日韩三级电影网址| 人人爽香蕉精品| 日韩亚洲欧美综合| 捆绑调教美女网站视频一区| 日韩一区二区在线看| 日本视频免费一区| 日韩欧美成人午夜| 久久99精品视频| 91精品国产综合久久久久久久久久| 日韩福利电影在线观看| 91精品国产综合久久久蜜臀图片 | 欧美不卡激情三级在线观看| 麻豆久久一区二区| 精品美女一区二区三区| 国内成人自拍视频| 国产日韩欧美高清| gogogo免费视频观看亚洲一| 亚洲婷婷在线视频| 在线观看中文字幕不卡| 性做久久久久久| 91精品国产91久久久久久一区二区 | 国内久久婷婷综合| 日本一区二区在线不卡| 91麻豆福利精品推荐| 亚洲一二三专区| 91麻豆精品久久久久蜜臀| 久久福利视频一区二区| 国产视频911| 94色蜜桃网一区二区三区| 亚洲综合色丁香婷婷六月图片| 欧美日韩www| 国产主播一区二区三区| 国产精品久久99| 亚洲一区影音先锋| 欧美一区二区三区四区高清 | 国产精品美女久久久久久久久久久 | 91蜜桃网址入口| 一区二区三区欧美激情| 欧美久久久一区| 狠狠色综合播放一区二区| 欧美国产一区视频在线观看| 在线视频国产一区| 蜜臀精品久久久久久蜜臀 | 99国产欧美久久久精品| 亚洲第一福利视频在线| 日韩欧美久久久| fc2成人免费人成在线观看播放| 亚洲国产日韩精品| 精品av综合导航| 99re成人精品视频| 日韩高清在线一区| 国产欧美精品区一区二区三区| 色先锋资源久久综合| 久久er精品视频| 亚洲精品视频观看| 日韩精品在线网站| 91九色02白丝porn| 国产精品99久久久久久似苏梦涵| 亚洲综合小说图片| 国产日韩欧美精品综合| 欧美日韩一区小说| 盗摄精品av一区二区三区| 亚洲不卡在线观看| 国产欧美一区二区精品仙草咪| 亚洲成av人片| 日本一区二区三区电影| 91精品国产综合久久久久| 99精品黄色片免费大全| 精品伊人久久久久7777人| 亚洲男人电影天堂| 中文一区一区三区高中清不卡| 欧美日本一道本| av日韩在线网站| 国内成+人亚洲+欧美+综合在线| 亚洲国产日日夜夜| |精品福利一区二区三区| 精品精品国产高清一毛片一天堂| 在线一区二区视频| 播五月开心婷婷综合| 国产高清一区日本| 麻豆91免费看| 五月天中文字幕一区二区| 亚洲精品少妇30p| 国产精品国产a| 久久久亚洲午夜电影| 日韩午夜精品电影| 欧美三区免费完整视频在线观看| 波多野结衣亚洲| 国产成人免费视频网站| 韩日av一区二区| 美女视频网站黄色亚洲| 午夜电影一区二区三区| 亚洲精品老司机| 《视频一区视频二区| 国产精品免费看片| 久久精品男人天堂av| 精品999久久久| 精品国产伦一区二区三区观看体验| 欧美日韩国产区一| 欧美性受xxxx| 91国产丝袜在线播放| av激情综合网| 成人国产精品免费观看视频| 国产v日产∨综合v精品视频| 国产传媒久久文化传媒| 国产在线日韩欧美| 精品系列免费在线观看| 美女一区二区三区在线观看| 日本欧美一区二区三区乱码 | 日韩视频在线永久播放| 欧美高清性hdvideosex| 欧美三级一区二区| 欧美视频日韩视频| 欧美日韩视频不卡| 欧美理论片在线| 51精品久久久久久久蜜臀| 欧美日韩国产高清一区| 欧美日韩色综合| 91麻豆精品国产91久久久使用方法| 欧美日韩高清影院| 91精品国产综合久久小美女| 欧美一区二区三区日韩| 日韩欧美综合在线| 精品欧美久久久| 欧美激情一区二区三区蜜桃视频| 国产日韩欧美综合在线| 国产精品久久久久影视| 亚洲婷婷在线视频| 亚洲一区二区三区小说| 日本不卡在线视频| 国产一区二区视频在线| caoporn国产一区二区|