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

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

?? wm.h

?? 嵌入式系統設計與開發實例詳解--基于ARM的應用(采用ARM7TDMI內核的、三星公司推出的S3C44B0X) 第二部分:guiHZK,guiMemDev,guiScale,guiWM
?? H
?? 第 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.H
Purpose     : Windows manager include
----------------------------------------------------------------------
*/

#ifndef WM_H            /* Make sure we only include it once */
#ifndef GUI_H
  #include "GUI.H"      /* Needed because of typedefs only */
#endif

#ifndef WM_H		        /* Make sure circular reference do not lead
                           to multiple-inclusion problem */
#define WM_H

/* Make sure we actually have configured windows. If we have not,
  there is no point for a windows manager and it will therefor not
  generate any code !
*/

#if GUI_WINSUPPORT

/*
      *************************************************************
      *                                                           *
      *                 Defaults for configuration switches       *
      *                                                           *
      *************************************************************
*/

#ifndef WM_ASSERT
  #define WM_ASSERT(expr) GUI_DEBUG_ASSERT(expr)
#endif

#ifndef WM_RESULT
  #define WM_RESULT void
#endif

#ifndef WM_SUPPORT_TOUCH
  #define WM_SUPPORT_TOUCH        GUI_SUPPORT_TOUCH
#endif

#ifndef WM_SUPPORT_OBSTRUCT
  #define WM_SUPPORT_OBSTRUCT 1
#endif

#ifndef WM_COMPATIBLE_MODE
  #define WM_COMPATIBLE_MODE 1
#endif

/*
      *************************************************************
      *                                                           *
      *               Configuration check                         *
      *                                                           *
      *************************************************************
*/

/*
      *************************************************************
      *                                                           *
      *               Locking macros                              *
      *                                                           *
      *************************************************************
  For performance reasons, the windows manager user the same locking mechanisms
  as the GUI layer. The advantage is that wiht a single call to GUI_LOCK both
  the graphic level and the WM level are covered.
*/

#define WM_LOCK()   GUI_LOCK()
#define WM_UNLOCK() GUI_UNLOCK()

/* Memory allocation locking is seperate from Windows managers in
   order to be able to use different resource semaphores. Per
	 default, the same one is used.
*/

#ifndef WMALLOC_LOCK
  #define WMALLOC_LOCK()   WM_LOCK()
  #define WMALLOC_UNLOCK() WM_UNLOCK()
#endif

/************************************************************
*
*          Public data (just for inline functions
*                       in form of macros)
*
*************************************************************
*/

extern U8 WM_IsActive;


/************************************************************
*
*          Data types
*
*************************************************************
*/

typedef struct {
  int Key, PressedCnt;
} WM_KEY_INFO;

typedef struct {
  int NumItems, v, PageSize;
} WM_SCROLL_STATE;


/*
      *************************************************************
      *                                                           *
      *               Function replacement macros                 *
      *                                                           *
      *************************************************************
*/

#define WM_GetIsActive()          WM_IsActive
#define WM_GetNumWindows()        WM__NumWindows
#define WM_GetNumInvalidWindows() WM__NumInvalidWindows

/*********************************************************************
*
*               Messages Ids

The following is the list of windows messages.
*/

#ifndef _WINUSER_              /* Conflicts with winuser.h ... */

#define WM_PAINT               1 /* Repaint window (because content is (partially) invalid */
#define WM_COVER               2 /* Window has been partially covered. Normally, there is no reaction to this event. */
#define WM_CREATE              3 /* The first message received, right after client has actually been created */
#define WM_DELETE              4 /* Delete (Destroy) command: This tells the client to free its data strutures since the window
                                    it is associates with no longer exists.*/
#define WM_SIZE                6 /* Is sent to a window after its size has changed */
#define WM_MOVE                7 /* window has been moved */
#define WM_SHOW                8 /* windows has just received the show command */
#define WM_HIDE                9 /* windows has just received the hide command */
#define WM_FGND               10 /* window has been made top of window stack */
#define WM_BGND               11 /* window has just been put to bottom of stack */
#define WM_TOUCH              12 /* touch screen message */
#define WM_KEY                13 /* Key has been pressed */

#define WM_GETCLIENTRECT      100      /* get client rectangle in window coordinates*/
#define WM_GETCLIENTRECT_ABS  101      /* get client rectangle in absolute coordinates*/
#define WM_GET_INSIDE_RECT    102      /* get inside rectangle: client rectangle minus pixels lost to effect */
#define WM_GETORG             104
#define WM_GET_ID             105      /* Get id of widget */
#define WM_GET_CLIENT_WINDOW  106      /* Get window handle of client window. Default is the same as window */
#define WM_CAPTURE_RELEASED   107      /* Let window know that mouse capture is over */

#define WM_INIT_DIALOG        109      /* Inform dialog that it is ready for init */
#define WM_SET_FOCUS          110      /* Inform window that it has gotten or lost the focus */
#define WM_GET_ACCEPT_FOCUS   111      /* Find out if window can accept the focus */
#define WM_GET_FOCUSSED_CHILD 112      /* Which child currently has the focus */
#define WM_GET_HAS_FOCUS      113      /* Does this window have the focus ? */
#define WM_GET_BKCOLOR        114      /* Return back ground color (only frame window and similar) */
#define WM_SET_ENABLE         115      /* Enable or disable widget */
#define WM_GET_SCROLL_STATE   116      /* Query state of scroll bar */

#define WM_ADD_SCROLLBAR      118      /* Scroller added */
#define WM_SET_SCROLL_STATE   119      /* Set scroll info ... only effective for scrollbars */

#define WM_NOTIFY_CHILD_HAS_FOCUS 120
#define WM_NOTIFY_PARENT      121

#define WM_USER              200      /* Reserved for user messages */

#endif


/*********************************************************************
*
*               Notification codes

The following is the list of notification codes send
with the WM_NOTIFY message
*/
#define WM_NOTIFICATION_CLICKED       1
#define WM_NOTIFICATION_RELEASED      2
#define WM_NOTIFICATION_MOVED_OUT     3
#define WM_NOTIFICATION_SEL_CHANGED   4
#define WM_NOTIFICATION_VALUE_CHANGED 5

/*
        *******************************************************************
        *                                                                 *
        *              Memory management                                  *
        *                                                                 *
        *******************************************************************
*/

#define WM_FREE(h)     GUI_ALLOC_FREE(h)
#define WM_ALLOC(h)    GUI_ALLOC_ALLOC(h)
#define WM_HWIN        GUI_HWIN
#define WM_HWIN_NULL   GUI_HWIN_NULL
#define WM_HMEM        GUI_HMEM
#define WM_HMEM2Ptr    GUI_ALLOC_H2P
#define WM_FREEPTR(ph) GUI_ALLOC_FreePtr(ph)
#define WM_HMEM_NULL   GUI_HMEM_NULL
#define WM_HBKWIN      1                         /* Handle of background window */

/*
        *******************************************************************
        *                                                                 *
        *           Windows manager types                                 *
        *                                                                 *
        *******************************************************************
*/

/* Windows create flags. These flags can be passed to the create window
   function as flag-parameter. The flags are combinable using the
   binary or operator.
*/

#define WM_CF_HASTRANS   (1<<0)  /* Has transparency. Needs to be defined
                                    for windows which do not fill the entire
                                    section of their (client) rectangle. */
#define WM_CF_HIDE       (0<<1)  /* Hide window after creation (default !) */
#define WM_CF_SHOW       (1<<1)  /* Show window after creation */
#define WM_CF_FGND       (0<<2)  /* Put window in foreground after creation
                                    (default !) */
#define WM_CF_BGND       (1<<2)  /* Put window in background after creation */
#define WM_CF_MEMDEV     (1<<3)  /* Use memory device for redraws */
#define WM_CF_STAYONTOP  (1<<4)  /* Stay on top */
#define WM_CF_ACTIVATE   (1<<5)  /* If automatic activation upon creation of
                                    window is desired */

typedef struct {
  int MsgId;            /* type of message */
  WM_HWIN hWin;         /* Destination window */
  WM_HWIN hWinSrc;      /* Source window  */
  union {
    void* p;            /* Some messages need more info ... */
    int v;
    GUI_COLOR Color;
  } Data;
} WM_MESSAGE;

typedef void WM_CALLBACK( WM_MESSAGE* pMsg);

typedef struct WM_OBJ_struct WM_Obj;
struct WM_OBJ_struct {
  GUI_RECT Rect;        /* outer dimensions of window */
  GUI_RECT InvalidRect; /* invalid rectangle */
  WM_CALLBACK* cb;      /* ptr to notification callback */
  WM_HWIN hNextLin;     /* Next window in linear list */
  WM_HWIN hParent, hFirstChild, hNext;
  U16 Status;	          /* Some status flags */
};

/*
**********************************************************************
*
*              General control routines
*
**********************************************************************
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩精品久久久久| 亚洲免费观看高清在线观看| 色婷婷激情综合| 久久66热re国产| 亚洲午夜视频在线观看| 久久人人97超碰com| 欧美揉bbbbb揉bbbbb| 北岛玲一区二区三区四区| 欧美a级一区二区| 一区二区三区免费在线观看| 久久久不卡网国产精品一区| 欧美三级日本三级少妇99| 99re视频精品| 国产成人精品影院| 精品制服美女久久| 五月天激情小说综合| 亚洲免费在线视频一区 二区| 久久蜜桃一区二区| 欧美成人性战久久| 欧美精品色综合| 在线免费不卡电影| 色网综合在线观看| 91老师国产黑色丝袜在线| 岛国一区二区三区| 国产激情视频一区二区三区欧美 | 美国十次了思思久久精品导航| 国产精品不卡在线观看| 国产视频亚洲色图| 精品国产sm最大网站免费看| 日韩欧美激情四射| 日韩精品中午字幕| 日韩一区二区三区精品视频| 欧美人体做爰大胆视频| 欧洲精品一区二区| 在线免费不卡视频| 欧美三片在线视频观看| 欧美性色黄大片手机版| 欧美色图天堂网| 欧美色图片你懂的| 欧美日韩一区二区三区视频| 精品视频在线看| 欧美日韩一级二级| 欧美高清一级片在线| 欧美精品第一页| 欧美一区二区三区播放老司机| 欧美人妇做爰xxxⅹ性高电影| 欧美日韩在线亚洲一区蜜芽| 日本道精品一区二区三区| 欧美色综合网站| 欧美一区二区日韩一区二区| 日韩欧美综合在线| 久久人人爽人人爽| 亚洲天堂福利av| 亚洲国产一区二区在线播放| 日本欧美在线观看| 国模无码大尺度一区二区三区| 国模套图日韩精品一区二区 | 99久久精品免费看国产免费软件| 高清在线不卡av| 91猫先生在线| 欧美精三区欧美精三区| 精品久久国产老人久久综合| 久久女同性恋中文字幕| 国产精品乱人伦中文| 亚洲精品美腿丝袜| 日韩电影在线免费| 国产乱码精品一区二区三区av| 成人免费视频一区| 欧美性欧美巨大黑白大战| 欧美一区二区三区视频免费| 久久久精品人体av艺术| 亚洲女厕所小便bbb| 日韩精品久久理论片| 国产一区二区伦理| 在线视频国内自拍亚洲视频| 欧美丰满嫩嫩电影| 欧美韩日一区二区三区| 亚洲一区影音先锋| 国内偷窥港台综合视频在线播放| 99久久精品免费| 欧美一区二区三区播放老司机| 国产婷婷精品av在线| 亚洲成a人v欧美综合天堂下载 | 一区二区三区久久| 韩国av一区二区三区在线观看| 一本在线高清不卡dvd| 精品少妇一区二区三区免费观看| 国产精品福利一区| 老司机精品视频在线| 91色视频在线| 久久综合久久综合九色| 亚洲一区在线观看视频| 大尺度一区二区| 欧美一级生活片| 一卡二卡欧美日韩| 国产乱码字幕精品高清av| 欧美日韩免费观看一区二区三区| 国产亚洲制服色| 喷水一区二区三区| 欧美在线视频全部完| 国产精品久久久久久久久搜平片| 免费观看在线综合| 欧美日韩一区在线| 亚洲人亚洲人成电影网站色| 国精产品一区一区三区mba视频| 精品视频在线视频| 亚洲毛片av在线| 成人高清在线视频| 久久午夜色播影院免费高清| 婷婷六月综合网| 91免费版pro下载短视频| 久久精品视频一区| 麻豆91精品视频| 欧美乱妇15p| 亚洲一区国产视频| 色哟哟日韩精品| 成人免费小视频| 丰满放荡岳乱妇91ww| 久久精品日产第一区二区三区高清版 | 日韩黄色一级片| 在线影院国内精品| 亚洲欧洲一区二区在线播放| 国产一区高清在线| 欧美tk—视频vk| 日本欧美一区二区三区乱码| 欧美日本一区二区| 亚洲电影一区二区| 在线观看成人免费视频| 亚洲女人****多毛耸耸8| 91美女片黄在线| 亚洲免费av高清| 欧美在线小视频| 亚洲午夜国产一区99re久久| 欧美视频精品在线观看| 亚洲高清视频在线| 在线不卡中文字幕播放| 日韩高清不卡在线| 日韩欧美中文一区| 久久成人综合网| 26uuu色噜噜精品一区| 国产一区视频网站| 首页亚洲欧美制服丝腿| 欧美熟乱第一页| 日韩精品乱码av一区二区| 日韩一区二区免费电影| 精品一区二区三区免费观看| 2021久久国产精品不只是精品| 国产高清亚洲一区| 国产精品成人网| 欧美亚洲动漫精品| 免费在线观看一区| 久久午夜免费电影| av午夜一区麻豆| 亚洲成人av一区二区| 日韩精品中文字幕在线不卡尤物| 国产综合色精品一区二区三区| 国产欧美久久久精品影院| 懂色av一区二区三区蜜臀 | 亚洲成人av中文| 日韩美女视频一区二区在线观看| 国产一区二区三区香蕉| 中文字幕日韩欧美一区二区三区| 色香蕉久久蜜桃| 久久精品国产久精国产| 中文字幕av一区二区三区| 欧美在线观看视频一区二区三区 | 亚洲一区二区三区不卡国产欧美| 欧美日韩精品免费| 国产九色精品成人porny| 国产美女久久久久| 亚洲精品乱码久久久久久久久| 欧美美女视频在线观看| 国产99久久精品| 性欧美大战久久久久久久久| 欧美精品一区二区三区高清aⅴ| 成人av在线一区二区三区| 亚洲午夜av在线| 久久精品人人做人人综合 | 色94色欧美sute亚洲线路一久| 婷婷六月综合亚洲| 国产精品国产三级国产有无不卡 | 国内欧美视频一区二区| 一区二区三区美女| 久久毛片高清国产| 欧美日韩小视频| 成人免费高清在线| 日韩在线播放一区二区| 国产精品私人影院| 欧美一区二区黄色| 91在线观看高清| 国内成+人亚洲+欧美+综合在线| 亚洲精品国产精品乱码不99| 精品对白一区国产伦| 欧美在线你懂得| 波多野结衣中文一区| 老司机一区二区| 五月天中文字幕一区二区| 中文字幕在线观看一区| 精品动漫一区二区三区在线观看| 在线观看视频一区二区|