⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wm_validate.c

📁 S3C44B0X在UCOSII的源码
💻 C
字号:
/***********************************************************************************************************                                                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_Validate.CPurpose     : Windows manager, add. module----------------------------------------------------------------------*/#include <stddef.h>           /* needed for definition of NULL */#include "WM_Intern.H"#if GUI_WINSUPPORT    /* If 0, WM will not generate any code *//*********************************************************************        Macros for internal use**********************************************************************/#define Min(v0,v1) ((v0>v1) ? v1 : v0)#define Max(v0,v1) ((v0>v1) ? v0 : v1)/*********************************************************************        Subtract rectangle             The result is the smallest rectangle which includes the entire  remaining area.  *pDest = *pr0- *pr1;*/void WM__SubRect(GUI_RECT* pDest, const GUI_RECT* pr0, const GUI_RECT* pr1) {  if ((pDest == NULL) || (pr0 == NULL))    return;  *pDest = *pr0;	   if (pr1 == NULL)    return;  /* Check left/right sides */  if (  (pr1->y0 <= pr0->y0)      &&(pr1->y1 >= pr0->y1)) {    pDest->x0 = Max(pr0->x0, pr1->x1);    pDest->x1 = Min(pr0->x1, pr1->x0);  }  /* Check top/bottom sides */  if (  (pr1->x0 <= pr0->x0)      &&(pr1->x1 >= pr0->x1)) {    pDest->y0 = Max(pr0->y0, pr1->y1);    pDest->y1 = Min(pr0->y1, pr1->y0);  }}/*          *****************************************************************          *                                                               *          *              Validate window                                  *          *                                                               *          *****************************************************************Use this function with great care ! It should under most circumstances notbe necessary to use it, as validation is done automatically as soon asa window has been redrawn. If you validate a section of a window, thispart will not be included in the paint-command and could therefor notbe updated.*/void WM_ValidateRect(WM_HWIN hWin, const GUI_RECT*pRect) {  WM_Obj* pWin;  WM_LOCK();  pWin = WM_HANDLE2PTR(hWin);  if (pWin->Status & WM_SF_INVALID) {    if (pRect) {      WM__SubRect(&pWin->InvalidRect, &pWin->InvalidRect, pRect);      if (WM__RectIsNZ(&pWin->InvalidRect))        goto Done;    }    pWin->Status &= ~WM_SF_INVALID;    WM__NumInvalidWindows--;  }Done:  WM_UNLOCK();}#elsevoid WM_Validate(void) {} /* avoid empty object files */#endif /* WM_MAX_WINDOW */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -