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

📄 wm_hide.c

📁 uCGUI
💻 C
字号:
/*************************************************************************************************************
                                                   uC/GUI
                                               嵌入式通用图形软件
File        : WM_Hide.c
Purpose     : Windows manager, add. module
************************************************************************************************************/

#include "WM_Intern.H"

#if GUI_WINSUPPORT    /* If 0, WM will not generate any code */
#include "GUIDebug.h"
#define WM_DEBUG_LEVEL 1

/*************************************************************************************************************
*       Static code
************************************************************************************************************/

static void _HideAllChildren(WM_HWIN hChild) {
  while (hChild) {
    WM_Obj* pChild = WM_HANDLE2PTR(hChild);
    WM_HWIN hNext = pChild->hNext;
    WM_HideWindow(hChild);
    hChild = hNext;
  }
}

/*************************************************************************************************************
*       Public code
************************************************************************************************************/

void WM_HideWindow(WM_HWIN hWin) {
  if (hWin) {
    WM_Obj *pWin = WM_HANDLE2PTR(hWin);  
    /* First check if this is necessary at all */
    if ((pWin->Status&WM_SF_ISVIS) ==0)
      return;
    /* Clear Visibility flag */
    pWin->Status &= ~WM_SF_ISVIS;
    /* Mark content as invalid */
    WM__InvalidateAreaBelow(&WM_HANDLE2PTR(hWin)->Rect, hWin);
    _HideAllChildren(pWin->hFirstChild);
  }
}

#else

void WM_Hide(void) {} /* avoid empty object files */

#endif /* WM_MAX_WINDOW */

⌨️ 快捷键说明

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