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

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

?? framewin.c

?? ucgui在ARM44B0目標板上的移植代碼支持16級灰度
?? 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        : FRAMEWIN.cPurpose     : Framewindow for emWin GSC---------------------------END-OF-HEADER------------------------------*/#include <stdlib.h>#include <string.h>#include "FRAMEWIN.h"#include "WIDGET.h"#include "GUI_Protected.h"#if GUI_WINSUPPORT/*  *****************************************************************  *                                                               *  *              Config defaults                                  *  *                                                               *  ******************************************************************//* Support for 3D effects */#ifndef FRAMEWIN_USE_3D  #define FRAMEWIN_USE_3D 1#endif#ifndef FRAMEWIN_CLIENTCOLOR_DEFAULT  #define FRAMEWIN_CLIENTCOLOR_DEFAULT 0xc0c0c0#endif/* Default for top frame size */#ifndef FRAMEWIN_CAPTIONSIZE_DEFAULT  #define FRAMEWIN_CAPTIONSIZE_DEFAULT 12#endif/* Default for left/right/top/bottom frame size */#ifndef FRAMEWIN_BORDER_DEFAULT  #define FRAMEWIN_BORDER_DEFAULT 3#endif/* Default for inner frame size */#ifndef FRAMEWIN_IBORDER_DEFAULT  #define FRAMEWIN_IBORDER_DEFAULT 1#endif#ifndef FRAMEWIN_DEFAULT_FONT  #define FRAMEWIN_DEFAULT_FONT &GUI_Font8_1#endif#ifndef FRAMEWIN_BARCOLOR_ACTIVE_DEFAULT  #define FRAMEWIN_BARCOLOR_ACTIVE_DEFAULT 0xff0000#endif#ifndef FRAMEWIN_BARCOLOR_INACTIVE_DEFAULT  #define FRAMEWIN_BARCOLOR_INACTIVE_DEFAULT 0x404040#endif#ifndef FRAMEWIN_FRAMECOLOR_DEFAULT  #define FRAMEWIN_FRAMECOLOR_DEFAULT 0xaaaaaa#endif/**************************************************************                 Object definition***************************************************************/typedef struct {  WIDGET Widget;  GUI_COLOR BarColor[2];  GUI_COLOR TextColor;  WM_CALLBACK* cb;  WM_HWIN hClient;  GUI_POINT CapturePoint;  const GUI_FONT* pFont;  GUI_RECT rClient;  GUI_COLOR ClientColor;  const char* pText;  I16 XOff, YOff;  I16 FrameSize;  I16 TitleHeight;  I16 TextAlign;  U16 Flags;  WM_HWIN hFocussedChild;          /* Handle to focussed child .. default none (0) *///  char HasFocus;} FRAMEWIN_Obj;/***********************************************************************       Static data************************************************************************/static const GUI_FONT* _pDefaultFont = FRAMEWIN_DEFAULT_FONT;static   GUI_COLOR _aBarColor[2] = {  FRAMEWIN_BARCOLOR_INACTIVE_DEFAULT,  FRAMEWIN_BARCOLOR_ACTIVE_DEFAULT};static GUI_COLOR _DefaultClientColor = FRAMEWIN_CLIENTCOLOR_DEFAULT;static int _DefaultCaptionSize       = FRAMEWIN_CAPTIONSIZE_DEFAULT;static int _DefaultBorderSize        = FRAMEWIN_BORDER_DEFAULT;/*  ********************************************************************  *                                                                  *  *                 Macros for internal use                          *  *                                                                  *  *********************************************************************/#define FRAMEWIN_H2P(h) (FRAMEWIN_Obj*) WM_HMEM2Ptr(h)/**********************************************************************                                                                  **                    Static routines                               **                                                                  **********************************************************************/static void _OnTouch(FRAMEWIN_Handle hWin, FRAMEWIN_Obj* pObj, WM_MESSAGE* pMsg) {  GUI_TOUCH_tState* pState;  pState = (GUI_TOUCH_tState*)pMsg->Data.p;  if (pMsg->Data.p) {  /* Something happened in our area (pressed or released) */    if (pState->Pressed) {      WM_SetFocus(hWin);      WM_BringToTop(hWin);      if (pObj->Flags & FRAMEWIN_SF_MOVEABLE) {        if (!WM_HasCaptured(hWin)) {          WM_SetCapture(hWin, 1);          pObj->CapturePoint.x = pState->x;          pObj->CapturePoint.y = pState->y;        } else {          int dx, dy;          dx = pState->x - pObj->CapturePoint.x;          dy = pState->y - pObj->CapturePoint.y;          WM_MoveWindow(hWin, dx, dy);        }      }    }  }}static void _Paint(FRAMEWIN_Obj* pObj) {  WM_HWIN hWin = WM_GetActiveWindow();  int xsize = WM_GetWindowSizeX(hWin);  int ysize = WM_GetWindowSizeY(hWin);  int FrameSize = pObj->FrameSize;  GUI_RECT rClient; GUI_GetClientRect(&rClient);  GUI_SetFont(pObj->pFont);/* Draw Title */  GUI_SetBkColor((pObj->Widget.State & WIDGET_STATE_CHILD_HAS_FOCUS) ? pObj->BarColor[1] : pObj->BarColor[0]);  GUI_SetColor  (pObj->TextColor);  GUI_SetTextAlign(pObj->TextAlign);	GUI_ClearRect(FrameSize,FrameSize, xsize-1-FrameSize, FrameSize+pObj->rClient.y0-1);  GUI_DispStringAt( pObj->pText,                   FrameSize+pObj->XOff,                   FrameSize+pObj->YOff);/* Draw Frame */  GUI_SetColor  (FRAMEWIN_FRAMECOLOR_DEFAULT);  /* pObj->BarColor[1]*/  GUI_FillRect  (0, 0, xsize-1, FrameSize-1);	GUI_FillRect  (0, 0, pObj->rClient.x0-1, ysize-1);	GUI_FillRect  (pObj->rClient.x1+1, 0, xsize-1, ysize-1);  GUI_FillRect  (0, pObj->rClient.y1+1, xsize-1, ysize-1);  GUI_FillRect  (0, pObj->TitleHeight+FrameSize,                    xsize-1, pObj->TitleHeight+2*FrameSize-1);/* Draw Client area */  WM_SetUserClipArea(&pObj->rClient);  /*GUI_SetBkColor(pObj->ClientColor);  GUI_Clear();*/  WM_SetUserClipArea(NULL);/* Draw the 3D effect (if configured) */  #if FRAMEWIN_USE_3D    WIDGET_EFFECT_3D_DrawUp();  #endif  }static void CalcPositions( FRAMEWIN_Handle hObj) {  if (hObj) {    FRAMEWIN_Obj * pObj = FRAMEWIN_H2P(hObj);    int TitleHeight;    int FontSize = GUI_GetYSizeOfFont(pObj->pFont);    int xsize = WM_GetWindowSizeX(hObj);    int ysize = WM_GetWindowSizeY(hObj);    TitleHeight = _DefaultCaptionSize;    /* Make sure defaults are o.k. for us */    if (FontSize + 2 >= TitleHeight)      TitleHeight = FontSize + 2;    /* Set object properties accordingly */    pObj->rClient.x0  =         _DefaultBorderSize;    pObj->rClient.x1  = xsize - _DefaultBorderSize - 1;    pObj->rClient.y0  =         _DefaultBorderSize + FRAMEWIN_IBORDER_DEFAULT + TitleHeight;    pObj->rClient.y1  = ysize - _DefaultBorderSize - 1;    pObj->FrameSize   =         _DefaultBorderSize;    pObj->TitleHeight = TitleHeight;    if (pObj->hClient) {      WM_MoveTo (pObj->hClient,                  pObj->rClient.x0 + pObj->Widget.Win.Rect.x0,                  pObj->rClient.y0 + pObj->Widget.Win.Rect.y0);      WM_SetSize(pObj->hClient,                  pObj->rClient.x1 - pObj->rClient.x0 + 1,                  pObj->rClient.y1 - pObj->rClient.y0 + 1);    }  }  }/***********************************************************************       Framewin Callback*/static void _FRAMEWIN_Callback (WM_MESSAGE *pMsg) {  FRAMEWIN_Handle hWin = (FRAMEWIN_Handle)(pMsg->hWin);  FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hWin);  GUI_RECT* pRect = (GUI_RECT*)(pMsg->Data.p);  switch (pMsg->MsgId) {  case WM_PAINT:    _Paint(pObj);    break;  case WM_TOUCH:    _OnTouch(hWin, pObj, pMsg);    return;                       /* Return here ... Message handled */  case WM_GETCLIENTRECT:		*pRect = pObj->rClient;    return;                       /* Return here ... Message handled */  case WM_GETCLIENTRECT_ABS:  /* Do not seperate from WM_GETCLIENTRECT !!! */	  *pRect = pObj->rClient;    GUI_MoveRect(pRect, pObj->Widget.Win.Rect.x0, pObj->Widget.Win.Rect.y0);    return;                       /* Return here ... Message handled */  case WM_GET_CLIENT_WINDOW:      /* return handle to client window. For most windows, there is no seperate client window, so it is the same handle */    pMsg->Data.v = pObj->hClient;    return;                       /* Return here ... Message handled */  case WM_GET_FOCUSSED_CHILD:    pMsg->Data.v = pObj->hFocussedChild;    return;                       /* Return here ... Message handled */  case WM_SET_FOCUS:    if (pMsg->Data.v == 1) {      WM_SetFocus(pObj->hFocussedChild);    } else {      WM_SetFocus(0);    }    return;  }  /* Let widget handle the standard messages */  if (WIDGET_HandleActive(hWin, pMsg) == 0) {    return;  }  WM_DefaultProc(pMsg);}/***********************************************************************       Client Callback*/static void FRAMEWIN__cbClient(WM_MESSAGE* pMsg) {  WM_HWIN hWin    = pMsg->hWin;  WM_HWIN hParent = WM_GetParent(pMsg->hWin);  FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hParent);  WM_CALLBACK* cb = pObj->cb;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jvid福利写真一区二区三区| 欧洲另类一二三四区| 91国产视频在线观看| 精品国产污污免费网站入口| 亚洲欧美日韩综合aⅴ视频| 国产一区二区三区精品视频| 不卡av电影在线播放| 精品国产乱码久久久久久久| 亚洲一区二区视频在线| 99久久久国产精品| 久久久久亚洲蜜桃| 久久国产尿小便嘘嘘| 欧美日韩一区二区三区高清 | 成人免费视频app| 91精品久久久久久久99蜜桃 | 国产精品免费免费| 精品一区二区免费看| 欧美一区二区三区在线电影| 亚洲精品成人悠悠色影视| 国产一区二区三区日韩| 精品处破学生在线二十三| 蜜臀av国产精品久久久久| 欧美乱妇15p| 日韩电影在线一区| 日韩视频永久免费| 蜜臂av日日欢夜夜爽一区| 欧美肥胖老妇做爰| 蜜桃视频在线观看一区二区| 欧美一卡2卡3卡4卡| 秋霞影院一区二区| 欧美哺乳videos| 黄色小说综合网站| 久久久99久久| 成人久久视频在线观看| 中文字幕一区二区三区蜜月| 91影院在线观看| 亚洲女厕所小便bbb| 色噜噜偷拍精品综合在线| 樱桃视频在线观看一区| 欧美日韩中文另类| 奇米精品一区二区三区在线观看一 | 91精品国产综合久久蜜臀| 日本不卡一区二区| 精品国产乱码久久久久久图片| 精品一区二区三区影院在线午夜| 精品国产第一区二区三区观看体验| 久久99深爱久久99精品| 久久免费美女视频| aaa国产一区| 首页国产丝袜综合| 久久综合久色欧美综合狠狠| av亚洲精华国产精华| 亚洲精品国产精华液| 欧美一区永久视频免费观看| 麻豆精品久久久| 亚洲精品一区二区精华| 不卡影院免费观看| 婷婷成人综合网| 国产免费成人在线视频| 欧美专区在线观看一区| 久99久精品视频免费观看| 国产日韩v精品一区二区| 色婷婷综合久久久久中文一区二区| 日韩电影免费在线| 国产精品久久综合| 欧美一级日韩免费不卡| 成人福利视频在线看| 午夜不卡av在线| 国产喷白浆一区二区三区| 欧美在线观看你懂的| 国产精品一卡二卡| 亚洲一区影音先锋| 国产视频在线观看一区二区三区| 欧美私模裸体表演在线观看| 国产做a爰片久久毛片 | 日韩av电影免费观看高清完整版| 国产日韩在线不卡| 欧美一区二区三级| 色综合中文字幕| 久久不见久久见免费视频7 | 欧美国产综合色视频| 91精品国产综合久久香蕉的特点 | 亚洲欧美日韩在线| 久久亚洲影视婷婷| 欧美中文一区二区三区| 成人一区在线观看| 麻豆成人在线观看| 亚洲va欧美va人人爽午夜| 国产精品国产自产拍高清av王其| 91精品国产综合久久福利| 91污片在线观看| 国产精品69毛片高清亚洲| 日本伊人色综合网| 亚洲成a人v欧美综合天堂| 中文字幕欧美日韩一区| 精品美女一区二区| 欧美男人的天堂一二区| 91黄色免费观看| 99视频有精品| 成人福利在线看| 成人91在线观看| 成人免费毛片片v| 成人黄色小视频| 丁香天五香天堂综合| 国产乱码精品一区二区三区忘忧草 | 欧美亚洲丝袜传媒另类| 91在线免费看| 色婷婷亚洲精品| 欧美在线观看一区| 欧美三级三级三级| 欧美日韩国产高清一区二区三区| 在线观看日韩电影| 欧美日韩综合一区| 欧美精品久久99| 欧美一区二区在线播放| 91麻豆精品国产91久久久久久久久| 在线观看av一区二区| 欧美中文字幕一二三区视频| 欧美又粗又大又爽| 欧美美女网站色| 日韩精品在线看片z| 日韩精品一区二区三区蜜臀| 日韩一级二级三级| 337p日本欧洲亚洲大胆色噜噜| 精品sm捆绑视频| 国产精品久久久久久久岛一牛影视| 中文字幕在线视频一区| 亚洲日本va午夜在线影院| 亚洲一区二区三区免费视频| 婷婷国产在线综合| 国产最新精品免费| 91亚洲男人天堂| 欧美日韩国产一二三| 欧美电视剧在线看免费| 国产性做久久久久久| 亚洲色图视频免费播放| 午夜免费久久看| 国产精品羞羞答答xxdd| 成人晚上爱看视频| 欧美写真视频网站| 日韩欧美视频在线| 中文字幕不卡三区| 亚洲成人www| 成人永久免费视频| 欧美日韩久久一区| 久久精品亚洲麻豆av一区二区 | 一区二区在线观看免费| 日韩电影免费在线看| 国产在线精品一区在线观看麻豆| 成人18视频日本| 日韩一级片在线观看| 亚洲欧洲精品成人久久奇米网| 亚洲精品成人在线| 国产精品亚洲成人| 欧美人xxxx| 1区2区3区精品视频| 免费久久精品视频| 色哟哟一区二区在线观看 | 国产精品18久久久久久久网站| 91丨porny丨户外露出| 日韩欧美国产成人一区二区| 综合激情成人伊人| 国产精品综合二区| 欧美美女一区二区在线观看| 日本一区二区成人| 久久福利资源站| 欧美性做爰猛烈叫床潮| 中文字幕不卡在线| 精品影视av免费| 欧美日韩免费一区二区三区| 中文字幕免费在线观看视频一区| 日本特黄久久久高潮 | 成人高清免费观看| 精品久久久网站| 偷窥少妇高潮呻吟av久久免费| 91在线观看污| 国产精品伦理在线| 国产九色sp调教91| 欧美不卡视频一区| 免费观看在线色综合| 欧美日韩夫妻久久| 亚洲午夜国产一区99re久久| 成人av在线一区二区| 久久网站最新地址| 毛片av一区二区| 制服丝袜国产精品| 日韩精品一区第一页| 欧美午夜电影一区| 一区二区三区欧美视频| 99精品国产视频| 亚洲人成精品久久久久久| 91网站视频在线观看| 国产精品久久久久aaaa| 福利电影一区二区三区| 国产亚洲欧美激情| 粉嫩13p一区二区三区| 国产午夜精品美女毛片视频| 国产成人午夜视频| 国产精品美女一区二区三区| 成人午夜在线视频|