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

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

?? wm_sample.c

?? UC_GUI開發(fā)源代碼,里面含有范例,源文件
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*********************************************************************************************************
*                                             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        : WM_Sample.c
Purpose     : Demonstrates the window manager
----------------------------------------------------------------------
*/

#include <string.h>
#include "GUI.h"
#include "WM.h"

/*******************************************************************
*
*       defines
*
********************************************************************
*/

#define MSG_CHANGE_TEXT WM_USER+0

#define SPEED 1250

/*******************************************************************
*
*       static variables
*
********************************************************************
*/

static char _acInfoText[40];

static GUI_COLOR _WindowColor1 = GUI_GREEN;
static GUI_COLOR _FrameColor1  = GUI_BLUE;
static GUI_COLOR _WindowColor2 = GUI_RED;
static GUI_COLOR _FrameColor2  = GUI_YELLOW;
static GUI_COLOR _ChildColor   = GUI_YELLOW;
static GUI_COLOR _ChildFrame   = GUI_BLACK;

static WM_CALLBACK* _cbBkWindowOld;

static WM_HWIN _hWindow1;
static WM_HWIN _hWindow2;
static WM_HWIN _hChild;


/*******************************************************************
*
*       static code, helper functions
*
********************************************************************
*/
/*******************************************************************
*
*       _ChangeInfoText

  Sends a message to the background window and invalidate it, so
  the callback of the background window display the new text.
*/
static void _ChangeInfoText(char* pStr) {
  WM_MESSAGE Message;
  Message.MsgId  = MSG_CHANGE_TEXT;
  Message.Data.p = pStr;
  WM_SendMessage(WM_HBKWIN, &Message);
  WM_InvalidateWindow(WM_HBKWIN);
}

/*******************************************************************
*
*       _DrawInfoText

  Drawes the info text directly on the display. This function is for
  the moments when no callback is set.
*/
static void _DrawInfoText(char* pStr) {
  GUI_SetColor(GUI_WHITE);
  GUI_SetFont(&GUI_Font24_ASCII);
  GUI_DispStringHCenterAt("WindowManager - Sample", 160, 5);
  GUI_SetFont(&GUI_Font8x16);
  GUI_DispStringAtCEOL(pStr, 5, 40);
}

/*******************************************************************
*
*       _LiftUp
*/
static void _LiftUp(int dy) {
  int i, tm;
  for (i = 0; i < (dy/4); i++) {
    tm = GUI_GetTime();
    WM_MoveWindow(_hWindow1, 0, -4);
    WM_MoveWindow(_hWindow2, 0, -4);
    while ((GUI_GetTime() - tm) < 20) {
      WM_Exec();
    }
  }
}

/*******************************************************************
*
*       _LiftDown
*/
static void _LiftDown(int dy) {
  int i, tm;
  for (i = 0; i < (dy/4); i++) {
    tm = GUI_GetTime();
    WM_MoveWindow(_hWindow1, 0, 4);
    WM_MoveWindow(_hWindow2, 0, 4);
    while ((GUI_GetTime() - tm) < 20) {
      WM_Exec();
    }
  }
}

/*******************************************************************
*
*       static code, callbacks for windows
*
********************************************************************
*/

/*******************************************************************
*
*       _cbBkWindow
*/
static void _cbBkWindow(WM_MESSAGE* pMsg) {
  switch (pMsg->MsgId) {
  case MSG_CHANGE_TEXT:
    strcpy(_acInfoText, pMsg->Data.p);
  case WM_PAINT:
    GUI_SetBkColor(GUI_BLACK);
    GUI_Clear();
    GUI_SetColor(GUI_WHITE);
    GUI_SetFont(&GUI_Font24_ASCII);
    GUI_DispStringHCenterAt("WindowManager - Sample", 160, 5);
    GUI_SetFont(&GUI_Font8x16);
    GUI_DispStringAt(_acInfoText, 5, 40);
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

/*******************************************************************
*
*       _cbWindow1
*/
static void _cbWindow1(WM_MESSAGE* pMsg) {
  GUI_RECT Rect;
  int x, y;
  switch (pMsg->MsgId) {
  case WM_PAINT:
    WM_GetInsideRect(&Rect);
    GUI_SetBkColor(_WindowColor1);
    GUI_SetColor(_FrameColor1);
    GUI_ClearRectEx(&Rect);
    GUI_DrawRectEx(&Rect);
    GUI_SetColor(GUI_WHITE);
    GUI_SetFont(&GUI_Font24_ASCII);
    x = WM_GetWindowSizeX(pMsg->hWin);
    y = WM_GetWindowSizeY(pMsg->hWin);
    GUI_DispStringHCenterAt("Window 1", x / 2, (y / 2) - 12);
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

/*******************************************************************
*
*       _cbWindow2
*/
static void _cbWindow2(WM_MESSAGE* pMsg) {
  GUI_RECT Rect;
  int x, y;
  switch (pMsg->MsgId) {
  case WM_PAINT:
    WM_GetInsideRect(&Rect);
    GUI_SetBkColor(_WindowColor2);
    GUI_SetColor(_FrameColor2);
    GUI_ClearRectEx(&Rect);
    GUI_DrawRectEx(&Rect);
    GUI_SetColor(GUI_WHITE);
    GUI_SetFont(&GUI_Font24_ASCII);
    x = WM_GetWindowSizeX(pMsg->hWin);
    y = WM_GetWindowSizeY(pMsg->hWin);
    GUI_DispStringHCenterAt("Window 2", x / 2, (y / 4) - 12);
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

/*******************************************************************
*
*       _cbChild
*/
static void _cbChild(WM_MESSAGE* pMsg) {
  GUI_RECT Rect;
  int x, y;
  switch (pMsg->MsgId) {
  case WM_PAINT:
    WM_GetInsideRect(&Rect);
    GUI_SetBkColor(_ChildColor);
    GUI_SetColor(_ChildFrame);
    GUI_ClearRectEx(&Rect);
    GUI_DrawRectEx(&Rect);
    GUI_SetColor(GUI_RED);
    GUI_SetFont(&GUI_Font24_ASCII);
    x = WM_GetWindowSizeX(pMsg->hWin);
    y = WM_GetWindowSizeY(pMsg->hWin);
    GUI_DispStringHCenterAt("Child window", x / 2, (y / 2) - 12);
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

/*******************************************************************
*
*       _cbDemoCallback1
*/
static void _cbDemoCallback1(WM_MESSAGE* pMsg) {
  int x, y;
  switch (pMsg->MsgId) {
  case WM_PAINT:
    GUI_SetBkColor(GUI_GREEN);
    GUI_Clear();
    GUI_SetColor(GUI_RED);
    GUI_SetFont(&GUI_FontComic18B_1);
    x = WM_GetWindowSizeX(pMsg->hWin);
    y = WM_GetWindowSizeY(pMsg->hWin);
    GUI_DispStringHCenterAt("Window 1\nanother Callback", x / 2, (y / 2) - 18);
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

/*******************************************************************
*
*       _cbDemoCallback2
*/
static void _cbDemoCallback2(WM_MESSAGE* pMsg) {
  int x, y;
  switch (pMsg->MsgId) {
  case WM_PAINT:
    GUI_SetBkColor(GUI_MAGENTA);
    GUI_Clear();
    GUI_SetColor(GUI_YELLOW);
    GUI_SetFont(&GUI_FontComic18B_1);
    x = WM_GetWindowSizeX(pMsg->hWin);
    y = WM_GetWindowSizeY(pMsg->hWin);
    GUI_DispStringHCenterAt("Window 2\nanother Callback", x / 2, (y / 4) - 18);
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

/*******************************************************************
*
*       static code, functions for demo
*
********************************************************************
*/

/*******************************************************************
*
*       _DemoSetDesktopColor

  Demonstrates the use of WM_SetDesktopColor
*/
static void _DemoSetDesktopColor(void) {
  GUI_SetBkColor(GUI_BLUE);
  GUI_Clear();
  _DrawInfoText("WM_SetDesktopColor()");
  GUI_Delay(SPEED*3/2);
  WM_SetDesktopColor(GUI_BLACK);
  GUI_Delay(SPEED/2);
  /* Set background color and invalidate desktop color.
     This is needed for the later redrawing demo. */
  GUI_SetBkColor(GUI_BLACK);
  WM_SetDesktopColor(GUI_INVALID_COLOR);
}

/*******************************************************************
*
*       _DemoCreateWindow

  Demonstrates the use of WM_CreateWindow
*/
static void _DemoCreateWindow(void) {
  /* Set callback for background window */
  _cbBkWindowOld = WM_SetCallback(WM_HBKWIN, _cbBkWindow);
  /* Create windows */
  _ChangeInfoText("WM_CreateWindow()");
  GUI_Delay(SPEED);
  _hWindow1 = WM_CreateWindow( 50,  70, 165, 100, WM_CF_SHOW | WM_CF_MEMDEV, _cbWindow1, 0);
  GUI_Delay(SPEED/3);
  _hWindow2 = WM_CreateWindow(105, 125, 165, 100, WM_CF_SHOW | WM_CF_MEMDEV, _cbWindow2, 0);
  GUI_Delay(SPEED);
}

/*******************************************************************
*
*       _DemoCreateWindowAsChild

  Demonstrates the use of WM_CreateWindowAsChild
*/
static void _DemoCreateWindowAsChild(void) {
  /* Create windows */
  _ChangeInfoText("WM_CreateWindowAsChild()");
  GUI_Delay(SPEED);
  _hChild = WM_CreateWindowAsChild(10, 50, 145, 40, _hWindow2, WM_CF_SHOW | WM_CF_MEMDEV, _cbChild, 0);
  GUI_Delay(SPEED);
}

/*******************************************************************
*
*       _DemoInvalidateWindow

  Demonstrates the use of WM_InvalidateWindow
*/
static void _DemoInvalidateWindow(void) {
  _ChangeInfoText("WM_InvalidateWindow()");
  _WindowColor1 = GUI_BLUE;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区有码在线| 91精品视频网| 亚洲国产精品成人久久综合一区| 久久99久久99小草精品免视看| 91精品国产色综合久久不卡蜜臀 | 亚洲欧美偷拍另类a∨色屁股| 北岛玲一区二区三区四区| 亚洲视频免费看| 欧美日韩中文字幕精品| 亚洲高清免费一级二级三级| 在线不卡一区二区| 美日韩一级片在线观看| 精品国产一区二区三区不卡 | 亚洲激情图片一区| 欧美在线综合视频| 天天综合网天天综合色| 精品88久久久久88久久久| 国产精品一级二级三级| 国产精品久久久久一区| 欧美三级一区二区| 精品系列免费在线观看| 国产精品久久久久婷婷二区次| 91福利在线看| 蜜臀av性久久久久蜜臀av麻豆| 精品电影一区二区三区| a4yy欧美一区二区三区| 亚洲成人一区在线| 亚洲精品在线一区二区| 色成年激情久久综合| 久久er精品视频| 国产精品久久久久久一区二区三区 | 911国产精品| 国产成人av福利| 亚洲一区二区五区| 久久久久久夜精品精品免费| 色婷婷激情综合| 极品少妇xxxx精品少妇| 亚洲免费av在线| 精品国产一区二区三区久久久蜜月 | 欧美一区二区三区在| 不卡一区在线观看| 日韩高清在线一区| 中文字幕一区二区视频| 日韩免费观看高清完整版在线观看| 白白色亚洲国产精品| 精品一区二区三区影院在线午夜| 有码一区二区三区| 久久久另类综合| 日韩欧美视频在线| 在线观看免费亚洲| 国产成人精品亚洲日本在线桃色| 婷婷久久综合九色综合绿巨人| 亚洲色图欧美偷拍| 久久久久久久久久久99999| 欧美日韩不卡一区二区| 91美女福利视频| 国产不卡在线一区| 精品无人码麻豆乱码1区2区| 亚洲777理论| 亚洲黄一区二区三区| 国产精品免费免费| 精品免费一区二区三区| 欧美日韩亚洲综合| 91视频观看免费| av一区二区三区在线| 国产剧情av麻豆香蕉精品| 久久99这里只有精品| 视频一区在线播放| 亚洲一区二区三区在线| 亚洲图片激情小说| 中文字幕一区三区| 欧美经典三级视频一区二区三区| 久久综合丝袜日本网| 日韩欧美色电影| 精品免费日韩av| 91精品国产高清一区二区三区 | 亚洲国产成人porn| 亚洲欧洲制服丝袜| 亚洲男人天堂一区| 亚洲精品欧美在线| **欧美大码日韩| 亚洲人妖av一区二区| 亚洲人亚洲人成电影网站色| 日韩一区中文字幕| 亚洲欧洲av在线| 亚洲欧洲精品天堂一级 | 亚洲精品中文字幕乱码三区| 国产精品久久久久aaaa樱花| 国产精品九色蝌蚪自拍| 亚洲视频 欧洲视频| 一区二区三区中文免费| 亚洲成人av中文| 五月天网站亚洲| 免费av成人在线| 韩日欧美一区二区三区| 国产成a人无v码亚洲福利| 成人av网站在线| 91麻豆精品在线观看| 欧美日本免费一区二区三区| 欧美成人三级在线| 久久久国产午夜精品| 成人免费小视频| 亚洲一级电影视频| 日本系列欧美系列| 欧美调教femdomvk| 51久久夜色精品国产麻豆| www一区二区| 中文字幕在线不卡| 亚洲电影激情视频网站| 久久精品国产亚洲a| 国产不卡在线一区| 欧美三级中文字幕在线观看| 日韩精品一区二区三区swag | 亚洲情趣在线观看| 天天综合天天做天天综合| 国产精品一品二品| 在线这里只有精品| 精品播放一区二区| 亚洲欧美日韩国产综合| 美女任你摸久久| 99v久久综合狠狠综合久久| 欧美美女一区二区在线观看| 国产日产精品一区| 亚洲国产日日夜夜| 国产精品1区2区| 欧美日韩aaaaaa| 中文字幕不卡在线播放| 亚洲福利视频一区| 丁香天五香天堂综合| 欧美日韩在线观看一区二区| 国产亚洲一区二区三区四区 | 久久久99精品久久| 亚洲最大成人综合| 国产精品一二三四五| 欧美日韩日日摸| 中文字幕一区日韩精品欧美| 精品一区二区国语对白| 欧美午夜不卡视频| 中文字幕不卡的av| 免费成人美女在线观看| 欧洲精品在线观看| 国产欧美日韩三区| 麻豆91精品视频| 欧美人xxxx| 亚洲综合男人的天堂| 成人的网站免费观看| 欧美精品一区二区精品网| 天天影视涩香欲综合网| 91精品1区2区| 一色屋精品亚洲香蕉网站| 国产精品91一区二区| 欧美精品一区二区高清在线观看| 亚洲gay无套男同| 日本韩国欧美一区| 综合中文字幕亚洲| 国产.欧美.日韩| 国产日韩欧美一区二区三区综合| 麻豆国产欧美一区二区三区| 欧美丰满一区二区免费视频| 亚洲精品视频一区二区| 成人国产精品免费| 久久色中文字幕| 国产在线不卡一区| 亚洲综合在线五月| jizz一区二区| 国产精品久久久久久久久免费相片| 国产精品系列在线观看| 久久天天做天天爱综合色| 狠狠色狠狠色合久久伊人| 日韩一区二区免费视频| 日韩影院精彩在线| 在线成人高清不卡| 日本不卡一区二区| 日韩一区二区在线观看视频播放| 日韩综合一区二区| 欧美一级久久久| 麻豆91免费看| 久久久99精品免费观看不卡| 成人性生交大片免费看在线播放| 国产精品美女久久久久aⅴ国产馆| www.66久久| 一区二区欧美国产| 欧美精选一区二区| 美女视频一区二区三区| 精品国产乱码久久久久久牛牛| 国产一二精品视频| 中文字幕欧美日韩一区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 久久国产视频网| 国产欧美一二三区| 99视频在线精品| 一区二区免费在线播放| 欧美高清视频在线高清观看mv色露露十八 | 日韩写真欧美这视频| 国产精品国产a级| 亚洲欧美日韩国产一区二区三区| 久久久青草青青国产亚洲免观| 中文成人综合网| 精品美女在线观看| 日韩免费一区二区|