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

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

?? guidemo_wm.c

?? UCOSII在STM32平臺的移植
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*********************************************************************************************************
*                                                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        : WM_Sample.c
Purpose     : Demonstrates the window manager
----------------------------------------------------------------------
*/

#include <string.h>
//#include "GUI.h"
//#include "GUIDEMO.h"
#include "..\GUIinc\GUI.h"
#include "..\uCGUIDemo\GUIDEMO.h"
#include "..\GUIinc\WM.h"
#include "..\GUIinc\MULTIEDIT.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 _WindowColor2 = GUI_RED;
static GUI_COLOR _ChildColor = GUI_YELLOW;

static WM_CALLBACK* _cbBkWindowOld;

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

static MULTIEDIT_HANDLE _hMEdit;

/*******************************************************************
*
*       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)
{
   int x, y;
   switch (pMsg->MsgId)
   {
   case WM_PAINT:
      GUI_SetBkColor(_WindowColor1);
      GUI_Clear();
      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)
{
   int x, y;
   switch (pMsg->MsgId)
   {
   case WM_PAINT:
      GUI_SetBkColor(_WindowColor2);
      GUI_Clear();
      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;
   case WM_SIZE:
      WM_InvalidateWindow(_hChild);
      break;
   default:
      WM_DefaultProc(pMsg);
   }
}

/*******************************************************************
*
*       _cbChild
*/
static void _cbChild(WM_MESSAGE* pMsg)
{
   int x, y;
   switch (pMsg->MsgId)
   {
   case WM_PAINT:
      GUI_SetBkColor(_ChildColor);
      GUI_Clear();
      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()");
   //  GUIDEMO_Delay(SPEED*2);
   WM_SetDesktopColor(GUI_BLACK);
   GUIDEMO_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);
   GUIDEMO_NotifyStartNext();
}

/*******************************************************************
*
*       _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()");
   //  GUIDEMO_Delay(SPEED);
   _hWindow1 = WM_CreateWindow(50, 70, 165, 100, WM_CF_SHOW | WM_CF_MEMDEV,
                  _cbWindow1, 0);
   GUIDEMO_Delay(SPEED / 3);
   _hWindow2 = WM_CreateWindow(105, 125, 165, 100, WM_CF_SHOW | WM_CF_MEMDEV,
                  _cbWindow2, 0);
   GUIDEMO_Delay(SPEED);
   GUIDEMO_NotifyStartNext();
}

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

  Demonstrates the use of WM_CreateWindowAsChild
*/
static void _DemoCreateWindowAsChild(void)
{
   /* Create windows */
   _ChangeInfoText("WM_CreateWindowAsChild()");
   //  GUIDEMO_Delay(SPEED);
   /*  _hMEdit = MULTIEDIT_Create(10, 50,
                         145, 40, 
                                _hWindow2, 10, WM_CF_SHOW | WM_CF_MEMDEV,
                                MULTIEDIT_CF_AUTOSCROLLBAR_V, "This is a test of multi edit box\n",
                                200);
   */
   //  MULTIEDIT_SetAutoScrollV(_hMEdit, 1);
   _hChild = WM_CreateWindowAsChild(10, 50, 145, 40, _hWindow2,
               WM_CF_SHOW | WM_CF_MEMDEV, _cbChild, 0);
   GUIDEMO_Delay(SPEED);
   GUIDEMO_NotifyStartNext();
}

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

  Demonstrates the use of WM_InvalidateWindow
*/
static void _DemoInvalidateWindow(void)
{
   _ChangeInfoText("WM_InvalidateWindow()");
   _WindowColor1 = GUI_BLUE;
   //  GUIDEMO_Delay(SPEED);
   WM_InvalidateWindow(_hWindow1);
   GUIDEMO_Delay(SPEED);
   GUIDEMO_NotifyStartNext();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产真实乱对白精彩久久| 99精品国产一区二区三区不卡| 国产一区二区三区在线观看免费 | 99精品在线免费| 欧美久久免费观看| 中文字幕国产一区| 美女任你摸久久| 91成人在线观看喷潮| 国产欧美精品区一区二区三区| 天天亚洲美女在线视频| 色综合久久六月婷婷中文字幕| 精品国产123| 日韩电影免费一区| 色拍拍在线精品视频8848| 国产视频在线观看一区二区三区| 午夜欧美视频在线观看| 日本久久一区二区| 亚洲欧洲av色图| 国产福利一区在线观看| 精品久久久久久久久久久久久久久 | 亚洲欧美区自拍先锋| 国产精品亚洲专一区二区三区| 91精品国产日韩91久久久久久| 一区二区三区日韩欧美精品 | 国产欧美日韩视频在线观看| 免费成人在线影院| 91精品视频网| 青青草伊人久久| 日韩欧美国产精品一区| 青青草一区二区三区| 欧美精品高清视频| 日韩电影一二三区| 91精品国产一区二区人妖| 日日夜夜一区二区| 91精品麻豆日日躁夜夜躁| 青青草国产精品亚洲专区无| 欧美日韩三级一区二区| 日本欧美大码aⅴ在线播放| 欧美一区二区不卡视频| 麻豆国产精品一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 久久狠狠亚洲综合| 2017欧美狠狠色| 国产精品一卡二卡| 国产精品免费网站在线观看| 99精品久久99久久久久| 亚洲一区二区美女| 日韩一区二区中文字幕| 国产精品白丝jk白祙喷水网站| 欧美国产日本韩| 色狠狠一区二区| 日韩成人精品在线观看| 久久网站最新地址| 成人不卡免费av| 一区二区三区免费| 日韩欧美国产高清| 菠萝蜜视频在线观看一区| 亚洲欧美日韩在线播放| 69堂国产成人免费视频| 国产一区二区三区电影在线观看 | 午夜视频一区二区| 久久婷婷一区二区三区| 97成人超碰视| 日本女优在线视频一区二区| 国产清纯白嫩初高生在线观看91| 日本精品视频一区二区三区| 免费一级片91| 亚洲色图都市小说| 日韩一区二区三区四区| 成人短视频下载| 日韩在线一二三区| 欧美国产精品v| 欧美日韩成人一区| 顶级嫩模精品视频在线看| 亚洲成人激情自拍| 国产精品毛片高清在线完整版| 精品视频1区2区| 成人精品一区二区三区中文字幕| 亚洲6080在线| 一色屋精品亚洲香蕉网站| 欧美一区二区播放| 91精品办公室少妇高潮对白| 激情五月激情综合网| 亚洲第一成人在线| 中文字幕一区二区日韩精品绯色| 欧美一卡二卡在线观看| 色综合久久九月婷婷色综合| 精品一区二区三区免费| 午夜精品久久久久久久| 综合久久久久久久| 欧美激情综合在线| 2017欧美狠狠色| 欧美一区二区视频免费观看| 在线一区二区观看| 不卡一区中文字幕| 国产成人精品网址| 国产综合成人久久大片91| 丝袜美腿亚洲综合| 亚洲狠狠爱一区二区三区| 国产精品美女视频| 欧美国产成人精品| 久久久高清一区二区三区| 日韩欧美一级精品久久| 欧美一三区三区四区免费在线看| 色婷婷久久久久swag精品| av一区二区不卡| 成人精品视频一区| 国产高清精品网站| 国产福利一区二区三区视频在线| 国模大尺度一区二区三区| 麻豆传媒一区二区三区| 免费观看91视频大全| 蜜臂av日日欢夜夜爽一区| 日韩vs国产vs欧美| 免费观看91视频大全| 奇米精品一区二区三区在线观看| 图片区小说区区亚洲影院| 性欧美疯狂xxxxbbbb| 日韩在线卡一卡二| 麻豆91在线观看| 韩国在线一区二区| 国精品**一区二区三区在线蜜桃| 狠狠色丁香婷综合久久| 国产真实乱偷精品视频免| 国产高清成人在线| 99精品国产99久久久久久白柏| 一本久久a久久免费精品不卡| 色国产精品一区在线观看| 色狠狠桃花综合| 欧美精品日韩一区| 欧美变态tickling挠脚心| 久久九九全国免费| 亚洲欧美综合在线精品| 一区二区高清免费观看影视大全| 亚洲成人自拍网| 精品午夜久久福利影院| 成人性视频网站| 色婷婷精品久久二区二区蜜臂av| 欧美在线视频全部完| 欧美一区二区三区免费| 国产欧美一区二区精品忘忧草| 国产精品久久久久影院老司 | 国产精品毛片a∨一区二区三区| 综合激情成人伊人| 亚洲成a天堂v人片| 精品一区二区三区视频在线观看| 成人av网站在线| 欧美日韩激情在线| 久久蜜桃香蕉精品一区二区三区| 亚洲男人的天堂一区二区| 午夜影视日本亚洲欧洲精品| 激情小说亚洲一区| 91豆麻精品91久久久久久| 日韩欧美www| 一区二区三区精品在线| 激情久久五月天| 在线一区二区观看| 久久久综合网站| 亚洲一区二区五区| 成人午夜激情影院| 欧美一卡二卡在线观看| 亚洲青青青在线视频| 久草精品在线观看| 欧美自拍偷拍午夜视频| 久久亚洲精精品中文字幕早川悠里| 一区二区三区四区在线| 国产精品资源在线观看| 欧美日韩黄色一区二区| 国产精品久久久久国产精品日日 | 国产精品亚洲综合一区在线观看| 色婷婷一区二区三区四区| 久久久精品tv| 蜜桃视频一区二区| 欧美日韩国产乱码电影| 亚洲摸摸操操av| 成人动漫精品一区二区| 国产亚洲一二三区| 久久精品久久综合| 欧美精品久久久久久久久老牛影院| 日韩毛片高清在线播放| 国产ts人妖一区二区| 精品国产乱码久久久久久浪潮| 亚洲地区一二三色| 欧美亚洲综合另类| 亚洲美女在线国产| 91伊人久久大香线蕉| 日本一区二区不卡视频| 国产精品1区2区3区在线观看| 日韩一级完整毛片| 日韩av在线播放中文字幕| 欧美性淫爽ww久久久久无| 亚洲免费观看高清在线观看| 波多野结衣在线aⅴ中文字幕不卡| 亚洲精品在线一区二区| 美日韩黄色大片| 精品捆绑美女sm三区| 激情综合色播激情啊| 精品国产乱码久久久久久夜甘婷婷 | 国产成人精品1024| 国产午夜精品美女毛片视频|