mirror of
https://github.com/azure-rtos/guix.git
synced 2025-02-04 07:13:17 +08:00
95 lines
4.6 KiB
C
95 lines
4.6 KiB
C
/***************************************************************************
|
|
* Copyright (c) 2024 Microsoft Corporation
|
|
*
|
|
* This program and the accompanying materials are made available under the
|
|
* terms of the MIT License which is available at
|
|
* https://opensource.org/licenses/MIT.
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
**************************************************************************/
|
|
|
|
|
|
/**************************************************************************/
|
|
/**************************************************************************/
|
|
/** */
|
|
/** GUIX Component */
|
|
/** */
|
|
/** System Management (System) */
|
|
/** */
|
|
/**************************************************************************/
|
|
|
|
#define GX_SOURCE_CODE
|
|
|
|
|
|
/* Include necessary system files. */
|
|
|
|
#include "gx_api.h"
|
|
#include "gx_system.h"
|
|
#include "gx_widget.h"
|
|
|
|
/**************************************************************************/
|
|
/* */
|
|
/* FUNCTION RELEASE */
|
|
/* */
|
|
/* _gx_system_screen_stack_reset PORTABLE C */
|
|
/* 6.1 */
|
|
/* AUTHOR */
|
|
/* */
|
|
/* Kenneth Maxwell, Microsoft Corporation */
|
|
/* */
|
|
/* DESCRIPTION */
|
|
/* */
|
|
/* This function removes all entries from the system screen stack, */
|
|
/* and make the current pointer equal to the stack top. */
|
|
/* */
|
|
/* INPUT */
|
|
/* */
|
|
/* control Pointer of stack entry */
|
|
/* */
|
|
/* OUTPUT */
|
|
/* */
|
|
/* status Completion status */
|
|
/* */
|
|
/* CALLS */
|
|
/* */
|
|
/* None */
|
|
/* */
|
|
/* CALLED BY */
|
|
/* */
|
|
/* Application Code */
|
|
/* */
|
|
/* RELEASE HISTORY */
|
|
/* */
|
|
/* DATE NAME DESCRIPTION */
|
|
/* */
|
|
/* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
|
|
/* 09-30-2020 Kenneth Maxwell Modified comment(s), */
|
|
/* resulting in version 6.1 */
|
|
/* */
|
|
/**************************************************************************/
|
|
UINT _gx_system_screen_stack_reset(VOID)
|
|
{
|
|
GX_WIDGET *screen;
|
|
GX_WIDGET *parent;
|
|
UINT status;
|
|
|
|
while(1)
|
|
{
|
|
status = _gx_system_screen_stack_get(&parent, &screen);
|
|
if (status == GX_SUCCESS)
|
|
{
|
|
if (screen -> gx_widget_status & GX_STATUS_DYNAMICALLY_ALLOCATED)
|
|
{
|
|
_gx_widget_delete(screen);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
return(GX_SUCCESS);
|
|
}
|
|
|