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

📄 wm_attachwindow.c

📁 MCB2300_ucgui_LCD320240.rar LPC2368的uc/gui的移植
💻 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_AttachWindow.c
Purpose 	: Windows manager routines
----------------------------------------------------------------------
*/

#include "WM_Intern.h"

#if GUI_WINSUPPORT    /* If 0, WM will not generate any code */

/*********************************************************************
*
*   	  Public code
*
**********************************************************************
*/
/*********************************************************************
*
*   	WM_DetachWindow
*/
void WM_DetachWindow(WM_HWIN hWin)
{
	if (hWin)
	{
		WM_HWIN hParent;
		WM_Obj* pWin;
		WM_LOCK();
		pWin = WM_H2P(hWin);
		hParent = pWin->hParent;
		if (hParent)
		{
			WM_Obj* pParent;
			WM__DetachWindow(hWin);
			pParent = WM_H2P(hParent);
			WM_MoveWindow(hWin, -pParent->Rect.x0, -pParent->Rect.y0);   /* Convert screen coordinates -> parent coordinates */
			/* ToDo: Invalidate. If Parent window is located at (0,0). */
		}
		WM_UNLOCK();
	}
}

/*********************************************************************
*
*   	WM_AttachWindow
*/
void WM_AttachWindow(WM_HWIN hWin, WM_HWIN hParent)
{
	WM_LOCK();
	if (hParent && (hParent != hWin))
	{
		WM_Obj* pWin = WM_H2P(hWin);
		WM_Obj* pParent = WM_H2P(hParent);
		if (pWin->hParent != hParent)
		{
			WM_DetachWindow(hWin);
			WM__InsertWindowIntoList(hWin, hParent);
			WM_MoveWindow(hWin, pParent->Rect.x0, pParent->Rect.y0);	/* Convert parent coordinates -> screen coordinates */
		}
	}
	WM_UNLOCK();
}

/*********************************************************************
*
*   	WM_AttachWindowAt
*/
void WM_AttachWindowAt(WM_HWIN hWin, WM_HWIN hParent, int x, int y)
{
	WM_DetachWindow(hWin);
	WM_MoveTo(hWin, x, y);
	WM_AttachWindow(hWin, hParent);
}


#else
void WM_AttachWindow_c(void)
{
} /* avoid empty object files */
#endif   /* GUI_WINSUPPORT */

/*************************** End of file ****************************/

⌨️ 快捷键说明

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