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

📄 windowlist.c

📁 在优龙fs2410开发板上做的电子琴
💻 C
字号:
/*
*********************************************************************************************************
*                                   Samsung ARM S3C2410 Software Frame
*
*                          			(c) Copyright 2008-2010, LastRitter
*                                           All Rights Reserved
*
* File : 
* By   : LastRitter
*********************************************************************************************************
*/
#include "SystemTool.h"	   


extern window sta_Window[];


/*
*********************************************************************************************************
*                                               
*
* Description:
* 
* Arguments  : 
*
* Returns    : 
*
* Note(s)    :  
*               
*********************************************************************************************************
*/
void SW_ShowList(void)
{
	uint16 uiCount;
	uint16 uiAbove=sta_Window[SW_WINDOW_HEAD].uiAbove;
	uint16 uiUnder=sta_Window[SW_WINDOW_TAIL].uiUnder;
	UART_TextOut("Under:");
//	for(uiCount=0;uiCount<(SW_WINDOW_MAX+1);uiCount++)
//		UART_TextOut("%4d :%4d  ,%4d\n",uiCount,sta_Window[uiCount].uiAbove,sta_Window[uiCount].uiUnder);
	for(uiCount=0;uiCount<(SW_WINDOW_MAX+1);uiCount++)
	{
		UART_TextOut("%3d",uiUnder);
		uiUnder=sta_Window[uiUnder].uiUnder;
	}
	UART_TextOut("\nAbove:");
	for(uiCount=0;uiCount<(SW_WINDOW_MAX+1);uiCount++)
	{
//		UART_TextOut("%3d",uiAbove);
		uiAbove=sta_Window[uiAbove].uiAbove;
	}
	UART_TextOut("\n");
}

/*
*********************************************************************************************************
*                                               
*
* Description:
* 
* Arguments  : 
*
* Returns    : 
*
* Note(s)    :  
*               
*********************************************************************************************************
*/
uint16 SW_MoveToTop(uint16 uiHandle)
{
	uint16 uiAbove=sta_Window[uiHandle].uiAbove;
	uint16 uiUnder=sta_Window[uiHandle].uiUnder;
	
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	if(uiHandle==0||uiHandle>SW_WINDOW_MAX)
	{
		UART_TextOut("Can't move to top!(SW_MoveToTop)\n");
		return 1;
	}
		
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	sta_Window[uiAbove].uiUnder=uiUnder;
	sta_Window[uiUnder].uiAbove=uiAbove;
	
	sta_Window[uiHandle].uiAbove=SW_WINDOW_HEAD;
	uiUnder=sta_Window[SW_WINDOW_HEAD].uiUnder;
	sta_Window[uiHandle].uiUnder=uiUnder;

	sta_Window[uiUnder].uiAbove=uiHandle;	
	sta_Window[SW_WINDOW_HEAD].uiUnder=uiHandle;

//	SW_ShowList();
	return 0;
}

/*
*********************************************************************************************************
*                                               
*
* Description:
* 
* Arguments  : 
*
* Returns    : 
*
* Note(s)    :  
*               
*********************************************************************************************************
*/
uint16 SW_MoveToBottom(uint16 uiHandle)
{
	uint16 uiAbove=sta_Window[uiHandle].uiAbove;
	uint16 uiUnder=sta_Window[uiHandle].uiUnder;
	
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	if(uiHandle==0||uiHandle>SW_WINDOW_MAX)
	{
		UART_TextOut("Can't move to bottom!(SW_MoveToBottom)\n");
		return 1;
	}
		
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	sta_Window[uiAbove].uiUnder=uiUnder;
	sta_Window[uiUnder].uiAbove=uiAbove;
	
	uiAbove=sta_Window[SW_WINDOW_TAIL].uiAbove;
	sta_Window[uiHandle].uiAbove=uiAbove;
	sta_Window[uiHandle].uiUnder=SW_WINDOW_TAIL;
	
	sta_Window[uiAbove].uiUnder=uiHandle;
	sta_Window[SW_WINDOW_TAIL].uiAbove=uiHandle;

//	SW_ShowList();
	return 0;
}


/*
*********************************************************************************************************
*                                               
*
* Description:
* 
* Arguments  : 
*
* Returns    : 
*
* Note(s)    :  
*               
*********************************************************************************************************
*/
void SW_CreateList(void)
{
	uint16 uiCount;

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	for(uiCount=1;uiCount<SW_WINDOW_MAX;uiCount++)
	{
		sta_Window[uiCount].uiAbove=uiCount-1;
		sta_Window[uiCount].uiUnder=uiCount+1;
	}
	
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	sta_Window[0].uiAbove=SW_WINDOW_MAX;
	sta_Window[0].uiUnder=1;
	sta_Window[SW_WINDOW_MAX].uiAbove=SW_WINDOW_MAX-1;
	sta_Window[SW_WINDOW_MAX].uiUnder=0;
	
//	SW_ShowList();
}

/*
*********************************************************************************************************
*                                               
*
* Description:
* 
* Arguments  : 
*
* Returns    : 
*
* Note(s)    :  
*               
*********************************************************************************************************
*/
extern uint16 ui_TaskBar;

uint16 SW_IsTopWindow(uint16 uiHandle)
{
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//Check param.
	if(uiHandle==0||uiHandle>=SW_WINDOW_MAX||sta_Window[uiHandle].uiHandle!=uiHandle)
	{
//		UART_TextOut("Error Handle !(SW_IsTopWindow)\n");
		return 0;
	}

//	return (uiHandle==sta_Window[SW_WINDOW_HEAD].uiUnder||
//			uiHandle==sta_Window[ui_TaskBar].uiUnder);
	return (uiHandle==sta_Window[SW_WINDOW_HEAD].uiUnder);
}

/*
*********************************************************************************************************
*                                               
*
* Description:
* 
* Arguments  : 
*
* Returns    : 
*
* Note(s)    :  
*               
*********************************************************************************************************
*/
uint16 SW_GetTopWindow(void)
{
	return sta_Window[SW_WINDOW_HEAD].uiUnder;
}

⌨️ 快捷键说明

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