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

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

?? widget.h

?? UCOSII在STM32平臺的移植
?? H
字號:
/*
*********************************************************************************************************
*                                                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        : WIDGET.h
Purpose     : Widget interface
---------------------------END-OF-HEADER------------------------------
*/

#ifndef WIDGET_H        /* Avoid multiple inclusion  */
#define WIDGET_H

#if defined(__cplusplus)
extern "C" {     /* Make sure we have C-declarations in C++ programs */
#endif

#include "WM_Intern.h"  /* Window manager, including some internals, which speed things up */

#if GUI_WINSUPPORT

#include "SCROLLBAR.h"


/*********************************************************************
*
*           defines
*
**********************************************************************
*/
#define WIDGET_H2P(hWin)        ((WIDGET*)GUI_ALLOC_h2p(hWin))


/*********************************************************************
*
*       States
*/

#define WIDGET_STATE_FOCUS              (1<<0)
#define WIDGET_STATE_VERTICAL           (1<<3)
#define WIDGET_STATE_FOCUSSABLE         (1<<4)

#define WIDGET_STATE_USER0              (1<<8)    /* Freely available for derived widget */
#define WIDGET_STATE_USER1              (1<<9)    /* Freely available for derived widget */
#define WIDGET_STATE_USER2              (1<<10)   /* Freely available for derived widget */

#define WIDGET_ITEM_DRAW                0
#define WIDGET_ITEM_GET_XSIZE           1
#define WIDGET_ITEM_GET_YSIZE           2

/*********************************************************************
*
*       Messages
*/

#define WM_WIDGET_SET_EFFECT    WM_WIDGET + 0

/*********************************************************************
*
*       Create flags
*/

#define WIDGET_CF_VERTICAL      WIDGET_STATE_VERTICAL

/*********************************************************************
*
*         typedefs
*
**********************************************************************
*/

typedef struct {
  WM_HWIN hWin;
  int     Cmd;         /* WIDGET_ITEM_GET_XSIZE, WIDGET_ITEM_GET_YSIZE, WIDGET_ITEM_DRAW, */
  int     ItemIndex;
  int     x0, y0;
} WIDGET_ITEM_DRAW_INFO;

typedef int WIDGET_DRAW_ITEM_FUNC(const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo);


/*********************************************************************
*
*         Widget object
*
* The widget object is the base class for most widgets
*/
typedef struct {
  void  (*pfDrawUp)(void);
  void  (*pfDrawDown)(void);
  void  (*pfDrawUpRect)  (const GUI_RECT *pRect);
  void  (*pfDrawDownRect)(const GUI_RECT *pRect);
  void  (*pfGetRect)(GUI_RECT *pRect);
  int EffectSize;
} WIDGET_EFFECT;

typedef struct {
  WM_Obj      Win;
  const WIDGET_EFFECT* pEffect;
  I16 Id;
  U16 State;
} WIDGET;


/*********************************************************************
*
*         GUI_DRAW
*
* The GUI_DRAW object is used as base class for selfdrawing,
* non-windows objects. They are used as content of different widgets,
* such as the bitmap or header widgets.
*/
/* Declare Object struct */
typedef struct GUI_DRAW GUI_DRAW;
typedef void   GUI_DRAW_SELF_CB (void);
/* Declare Object constants (member functions etc)  */
typedef struct {
  void (* pfDraw)    (const GUI_DRAW * pObj, int x, int y);
  int  (* pfGetXSize)(const GUI_DRAW * pObj);
  int  (* pfGetYSize)(const GUI_DRAW * pObj);
} GUI_DRAW_CONSTS;

/* Declare Object */
struct GUI_DRAW {
  const GUI_DRAW_CONSTS* pConsts;
  union {
    const void * pData;
    GUI_DRAW_SELF_CB* pfDraw;
  } Data;
  I16 xOff, yOff;
};

typedef WM_HMEM GUI_DRAW_HANDLE;

/* GUI_DRAW_ API */
void GUI_DRAW__Draw    (GUI_DRAW_HANDLE hDrawObj, int x, int y);
int  GUI_DRAW__GetXSize(GUI_DRAW_HANDLE hDrawObj);
int  GUI_DRAW__GetYSize(GUI_DRAW_HANDLE hDrawObj);

/* GUI_DRAW_ Constructurs for different objects */
WM_HMEM GUI_DRAW_BITMAP_Create  (const GUI_BITMAP* pBitmap, int x, int y);
WM_HMEM GUI_DRAW_BMP_Create     (const void* pBMP, int x, int y);
WM_HMEM GUI_DRAW_STREAMED_Create(const GUI_BITMAP_STREAM * pBitmap, int x, int y);
WM_HMEM GUI_DRAW_SELF_Create(GUI_DRAW_SELF_CB* pfDraw, int x, int y);

/*********************************************************************
*
*           Global data
*
**********************************************************************
*/

extern const WIDGET_EFFECT WIDGET_Effect_3D;
extern const WIDGET_EFFECT WIDGET_Effect_3D1L;
extern const WIDGET_EFFECT WIDGET_Effect_3D2L;
extern const WIDGET_EFFECT WIDGET_Effect_None;
extern const WIDGET_EFFECT WIDGET_Effect_Simple;

/*********************************************************************
*
*           Internal API routines
*
**********************************************************************
*/

void      WIDGET__DrawFocusRect(WIDGET* pWidget, const GUI_RECT* pRect, int Dist);
void      WIDGET__DrawVLine(WIDGET* pWidget, int x, int y0, int y1);
void      WIDGET__EFFECT_DrawDownRect(WIDGET* pWidget, GUI_RECT* pRect);
void      WIDGET__EFFECT_DrawDown(WIDGET* pWidget);
void      WIDGET__EFFECT_DrawUpRect(WIDGET* pWidget, GUI_RECT* pRect);
void      WIDGET__FillRectEx(WIDGET* pWidget, const GUI_RECT* pRect);
int       WIDGET__GetWindowSizeX(WM_HWIN hWin);
GUI_COLOR WIDGET__GetBkColor(WM_HWIN hObj);
int       WIDGET__GetXSize(const WIDGET* pWidget);
int       WIDGET__GetYSize(const WIDGET* pWidget);
void      WIDGET__GetClientRect(WIDGET* pWidget, GUI_RECT* pRect);
void      WIDGET__GetInsideRect(WIDGET* pWidget, GUI_RECT* pRect);
void      WIDGET__Init(WIDGET* pWidget, int Id, U16 State);
void      WIDGET__RotateRect90(WIDGET* pWidget, GUI_RECT* pDest, const GUI_RECT* pRect);
void      WIDGET__SetScrollState(WM_HWIN hWin, const WM_SCROLL_STATE* pVState, const WM_SCROLL_STATE* pState);
void      WIDGET__FillStringInRect(const char GUI_UNI_PTR * pText, const GUI_RECT * pFillRect, const GUI_RECT * pTextRectMax, const GUI_RECT * pTextRectAct);

/*********************************************************************
*
*           API routines
*
**********************************************************************
*/
void  WIDGET_SetState     (WM_HWIN hObj, int State);
void  WIDGET_AndState     (WM_HWIN hObj, int State);
void  WIDGET_OrState      (WM_HWIN hObj, int State);
int   WIDGET_HandleActive (WM_HWIN hObj, WM_MESSAGE* pMsg);
int   WIDGET_GetState     (WM_HWIN hObj);
int   WIDGET_SetWidth     (WM_HWIN hObj, int Width);

void  WIDGET_EFFECT_3D_DrawUp(void);

void  WIDGET_SetDefaultEffect_3D    (void);
void  WIDGET_SetDefaultEffect_3D1L  (void);
void  WIDGET_SetDefaultEffect_3D2L  (void);
void  WIDGET_SetDefaultEffect_None  (void);
void  WIDGET_SetDefaultEffect_Simple(void);

const WIDGET_EFFECT* WIDGET_SetDefaultEffect(const WIDGET_EFFECT* pEffect);

void  WIDGET_SetEffect              (WM_HWIN hObj, const WIDGET_EFFECT* pEffect);

const WIDGET_EFFECT* WIDGET_GetDefaultEffect(void);
int   WIDGET_SetWidth(WM_HWIN hObj, int Width);


#endif /* GUI_WINSUPPORT */

#if defined(__cplusplus)
  }
#endif

#endif   /* SLIDER_H */




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2欧美一区二区三区在线观看视频| 136国产福利精品导航| 日本韩国欧美在线| 韩日av一区二区| 午夜亚洲国产au精品一区二区| 中文字幕一区在线观看| 国产亚洲精品福利| 久久久精品综合| 国产亚洲一区二区三区四区 | 亚洲少妇屁股交4| 精品国精品国产| 欧美精品日韩一区| 欧美一级黄色大片| 精品国产一区二区三区久久久蜜月| 欧美精品九九99久久| 在线综合亚洲欧美在线视频| 欧美一区二区三区公司| 91精品国产麻豆国产自产在线| 欧美一区二区三区日韩| 欧美精品电影在线播放| 日韩精品中文字幕在线一区| 欧美zozo另类异族| 日韩精品一区二区三区老鸭窝| 国产午夜亚洲精品不卡| 国产精品三级av| 亚洲成人黄色影院| 精品在线亚洲视频| 国产成人午夜99999| 成人污视频在线观看| 99精品国产视频| 4438x成人网最大色成网站| 精品国产亚洲一区二区三区在线观看| 欧美v日韩v国产v| 国产精品盗摄一区二区三区| 亚洲欧美日韩国产手机在线 | 蜜乳av一区二区三区| 精品一区二区三区蜜桃| 国产黄色成人av| 国产人妖乱国产精品人妖| 亚洲视频在线一区观看| 麻豆精品蜜桃视频网站| 偷拍日韩校园综合在线| 久久久www免费人成精品| 国产欧美一区二区精品性色| 欧美性大战久久| www.久久久久久久久| 欧美主播一区二区三区美女| 欧美在线观看你懂的| 成人欧美一区二区三区白人| 在线观看成人小视频| 91麻豆高清视频| 欧美性做爰猛烈叫床潮| 日韩欧美不卡一区| 欧美片在线播放| 国产激情一区二区三区四区| 国产精品色一区二区三区| 中文字幕精品一区二区三区精品| 一区二区三区高清在线| 一区二区三区在线视频观看58| 色婷婷精品久久二区二区蜜臂av| 91免费在线看| 青青草精品视频| 依依成人综合视频| 日韩精品中午字幕| 蜜桃视频第一区免费观看| 一本到一区二区三区| 亚洲欧洲精品成人久久奇米网| 欧美亚洲动漫另类| 亚洲h在线观看| 亚洲一级片在线观看| 一区二区三区在线免费观看| 成人免费视频一区二区| 亚洲在线成人精品| 国产高清不卡二三区| 亚洲成人av一区二区三区| 丝袜亚洲另类丝袜在线| 水蜜桃久久夜色精品一区的特点 | 国产一区二区在线影院| 中文字幕中文字幕一区二区| 2024国产精品| 亚洲一区影音先锋| 一区二区三区四区高清精品免费观看| 欧美天堂亚洲电影院在线播放| 久久亚洲影视婷婷| 成人高清免费在线播放| 一区二区三区日本| 国产日韩欧美不卡在线| 亚洲人成伊人成综合网小说| 国产在线视频一区二区三区| 欧美视频在线观看一区二区| 亚洲综合一区二区精品导航| 日韩精品电影在线观看| 亚洲四区在线观看| eeuss国产一区二区三区| 日韩视频国产视频| 国产精品资源在线观看| 亚洲欧洲综合另类在线| 欧美日韩高清在线播放| 自拍偷拍国产精品| 欧美肥妇毛茸茸| 欧美国产精品v| 高清不卡在线观看av| 国产精品乱人伦中文| 色婷婷精品久久二区二区蜜臀av| 久久99久久99| 91亚洲精品久久久蜜桃网站| 国内成+人亚洲+欧美+综合在线| 欧美性一区二区| 欧美一区二区三区人| 精品国产凹凸成av人导航| www.欧美日韩| 欧美日韩在线播| 北条麻妃一区二区三区| 在线观看国产精品网站| 高清视频一区二区| 欧美性大战久久| 丁香婷婷综合五月| 国产日韩精品久久久| 国产精品美女久久福利网站| 国产精品国产自产拍高清av王其| 欧美日本韩国一区| 亚洲精品视频观看| 亚洲欧美电影院| 26uuu精品一区二区| 成人av午夜影院| 91黄色免费看| 日韩欧美国产高清| 91蝌蚪国产九色| 偷拍亚洲欧洲综合| 欧美性xxxxxx少妇| 99九九99九九九视频精品| 亚洲国产精品久久久久婷婷884| 天天影视涩香欲综合网| 亚洲国产一区二区视频| 欧美猛男男办公室激情| 国产在线播放一区二区三区| 国产日韩欧美精品综合| 欧亚一区二区三区| 亚洲精品亚洲人成人网| 日韩久久免费av| jiyouzz国产精品久久| 亚洲欧美色图小说| 在线观看成人小视频| 国产精品久久久久国产精品日日| 久久精品亚洲国产奇米99| 麻豆极品一区二区三区| 欧美日韩国产小视频| 免费av网站大全久久| 不卡区在线中文字幕| 亚洲成人av福利| 天天综合网天天综合色| 色综合天天综合网国产成人综合天| 经典三级视频一区| 成人高清伦理免费影院在线观看| 色婷婷亚洲综合| ww久久中文字幕| 成人国产精品免费观看动漫| 不卡区在线中文字幕| 国产乱淫av一区二区三区| 懂色一区二区三区免费观看| 中文一区二区在线观看| 欧美午夜一区二区| 26uuu国产日韩综合| 亚洲一区二区影院| 久久蜜臀中文字幕| 亚洲特级片在线| 国产精品网曝门| 美女国产一区二区三区| 久久综合给合久久狠狠狠97色69| 国产成人在线影院| 亚洲色图在线视频| 亚洲3atv精品一区二区三区| 成人免费va视频| 欧美亚洲禁片免费| 91亚洲永久精品| 亚洲国产精品成人久久综合一区| 欧美男男青年gay1069videost| 成人激情黄色小说| 69成人精品免费视频| 欧美一区二区精品| 97se亚洲国产综合自在线| 99久久精品情趣| 免费在线观看一区二区三区| 捆绑调教美女网站视频一区| 欧美日韩国产123区| 国产主播一区二区| 亚洲免费成人av| 欧美日韩在线三区| 日韩美女在线视频| 久久99国产精品久久99| 精品999在线播放| 国产精品久久久久久久久搜平片 | 国产精品久久二区二区| 9191成人精品久久| 欧美日韩性生活| 日韩一区二区免费在线电影| 欧美一级黄色大片| 欧美色欧美亚洲另类二区| 日韩精品一区二区三区中文不卡 | 香蕉久久夜色精品国产使用方法 |