WM_SetUserClipRect.c
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:2k
源码类别:

uCOS

开发平台:

C/C++

  1. /*
  2. *********************************************************************************************************
  3. *                                                uC/GUI
  4. *                        Universal graphic software for embedded applications
  5. *
  6. *                       (c) Copyright 2002, Micrium Inc., Weston, FL
  7. *                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
  8. *
  9. *              礐/GUI is protected by international copyright laws. Knowledge of the
  10. *              source code may not be used to write a similar product. This file may
  11. *              only be used in accordance with a license and should not be redistributed
  12. *              in any way. We appreciate your understanding and fairness.
  13. *
  14. ----------------------------------------------------------------------
  15. File        : WM_SetUserClipArea.c
  16. Purpose     : Windows manager, add. module
  17. ----------------------------------------------------------------------
  18. */
  19. #include "WM_Intern.H"
  20. #if GUI_WINSUPPORT
  21. /*
  22.   ********************************************************************
  23.   *                                                                  *
  24.   *                    Reduce clipping area                          *
  25.   *                                                                  *
  26.   ********************************************************************
  27. */
  28. const GUI_RECT* WM_SetUserClipRect(const GUI_RECT* pRect) {
  29.   const GUI_RECT* pRectReturn;
  30.   GUI_RECT r;
  31.   WM_Obj* pAWin;
  32.   WM_LOCK();
  33.   pRectReturn = GUI_Context.WM__pUserClipRect;
  34.   GUI_Context.WM__pUserClipRect = pRect;
  35. /* Activate it ... */
  36.   if (pRect) {
  37.     r = *pRect;
  38.     pAWin = WM_HANDLE2PTR(GUI_Context.hAWin);
  39.     WM__Client2Screen(pAWin, &r);
  40.     LCD_SetClipRectEx(&r);
  41.   } else {
  42.     WM_GetWindowRect(&r);
  43.     LCD_SetClipRectEx(&r);
  44.   }
  45.   WM_UNLOCK();
  46.   return pRectReturn;
  47. }
  48. #else
  49. void WM_SetUserClipRect(void) {} /* avoid empty object files */
  50. #endif