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

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_Intern.H
  16. Purpose     : Windows manager internal include
  17. ----------------------------------------------------------------------
  18. */
  19. #ifndef WM_INTERN_H            /* Make sure we only include it once */
  20. #define WM_INTERN_H            /* Make sure we only include it once */
  21. #include "WM.h"
  22. #include "GUI_Protected.h"       /* For GUI_Context */
  23. #if GUI_WINSUPPORT
  24. typedef void WM_DELETE_WINDOW_HOOK( WM_HWIN hWin);
  25. extern WM_DELETE_WINDOW_HOOK* WM__pfDeleteWindowHook;
  26. extern U16 WM__CreateFlags;
  27. extern GUI_COLOR WM__BkColor;
  28. extern WM_HWIN WM__hCapture, WM__hWinFocus;
  29. extern char WM__CaptureReleaseAuto;
  30. /*
  31.       *************************************************************
  32.       *                                                           *
  33.       *                 Module internals                          *
  34.       *                                                           *
  35.       *************************************************************
  36. The following datastructure(s) and routines are mentioned in the
  37. documentation and not explained at this point here in any detail,
  38. as they are just needed internally to iterate in drawing routines
  39. in order over all invalid rectangles.
  40. */
  41. void    WM__Client2Screen(const WM_Obj* pWin, GUI_RECT *pRect);
  42. void    WM__GetClientRectWin(WM_Obj* pWin, GUI_RECT* pRect);
  43. int     WM__GetHasFocus(WM_HWIN hWin);
  44. WM_HWIN WM__GetLastSibling(WM_HWIN hWin);
  45. WM_HWIN WM__GetPrevSibling(WM_HWIN hWin);
  46. int     WM__GetWindowSizeX(WM_Obj* pWin);
  47. int     WM__GetWindowSizeY(WM_Obj* pWin);
  48. void    WM__InvalidateAreaBelow(const GUI_RECT* pRect, WM_HWIN StopWin);
  49. void    WM__InvalidateTransAreaAbove(const GUI_RECT* pRect, WM_HWIN StopWin);
  50. int     WM__IntersectRect(GUI_RECT* pDest, const GUI_RECT* pr0, const GUI_RECT* pr1);
  51. int     WM__IsWindow(WM_HWIN hWin);
  52. void    WM__LeaveIVRSearch(void);
  53. void    WM__MoveTo(WM_HWIN hWin, int x, int y);
  54. void    WM__MoveBWin(WM_Obj* pWin, int dx, int dy);
  55. void    WM__MoveWindow(WM_HWIN hWin, int dx, int dy);
  56. int     WM__RectIsNZ(const GUI_RECT* pr);
  57. void    WM__RemoveFromLinList(WM_HWIN hWin);
  58. void    WM__Screen2Client(const WM_Obj* pWin, GUI_RECT *pRect);
  59. void    WM__SendMsgNoData(WM_HWIN hWin, U8 MsgId);
  60. void    WM__SendMessage(WM_HWIN hWin, WM_MESSAGE* pm);
  61. void    WM__SendMessageNoPara(WM_HWIN hWin, int MsgId);
  62. WM_HWIN WM__GetFirstSibling(WM_HWIN hWin);
  63. #endif   /* GUI_WINSUPPORT */
  64. #endif   /* WM_INTERN_H */