mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.2 KiB
114 lines
2.2 KiB
/*++
|
|
|
|
Copyright (c) 1999 Intel Corporation
|
|
|
|
Module Name:
|
|
libStatus.c
|
|
|
|
Abstract:
|
|
Defines the StatusBar data type and the operations for it.
|
|
|
|
--*/
|
|
|
|
#ifndef _LIB_STATUS_BAR
|
|
#define _LIB_STATUS_BAR
|
|
|
|
#include "libMisc.h"
|
|
|
|
STATIC EFI_STATUS MainStatusBarInit (VOID);
|
|
STATIC EFI_STATUS MainStatusBarCleanup (VOID);
|
|
STATIC EFI_STATUS MainStatusBarRefresh (VOID);
|
|
STATIC EFI_STATUS MainStatusBarHide (VOID);
|
|
STATIC EFI_STATUS MainStatusBarSetStatusString (CHAR16*);
|
|
STATIC EFI_STATUS MainStatusBarSetOffset (UINTN);
|
|
|
|
EE_STATUS_BAR MainStatusBar = {
|
|
NULL,
|
|
0x00,
|
|
MainStatusBarInit,
|
|
MainStatusBarCleanup,
|
|
MainStatusBarRefresh,
|
|
MainStatusBarHide,
|
|
MainStatusBarSetStatusString,
|
|
MainStatusBarSetOffset
|
|
};
|
|
|
|
STATIC
|
|
EFI_STATUS
|
|
MainStatusBarInit ()
|
|
{
|
|
/* Nothing to do.... */
|
|
MainStatusBar.SetStatusString(L"");
|
|
return EFI_SUCCESS;
|
|
}
|
|
|
|
STATIC
|
|
EFI_STATUS
|
|
MainStatusBarCleanup ()
|
|
{
|
|
MainEditor.FileBuffer->ClearLine(STATUS_BAR_LOCATION);
|
|
if ( MainStatusBar.StatusString != NULL ) {
|
|
FreePool ((VOID*)MainStatusBar.StatusString);
|
|
}
|
|
return EFI_SUCCESS;
|
|
}
|
|
|
|
STATIC
|
|
EFI_STATUS
|
|
MainStatusBarRefresh ()
|
|
{
|
|
EE_COLOR_UNION Orig,New;
|
|
Orig = MainEditor.ColorAttributes;
|
|
New.Colors.Foreground = Orig.Colors.Background;
|
|
New.Colors.Background = Orig.Colors.Foreground;
|
|
|
|
Out->SetAttribute (Out,New.Data);
|
|
|
|
MainEditor.FileBuffer->ClearLine(STATUS_BAR_LOCATION);
|
|
PrintAt (0,STATUS_BAR_LOCATION,L" Offset: %X %s",
|
|
MainStatusBar.Offset,MainStatusBar.StatusString);
|
|
|
|
Out->SetAttribute (Out,Orig.Data);
|
|
|
|
MainEditor.FileBuffer->RestorePosition();
|
|
|
|
return EFI_SUCCESS;
|
|
}
|
|
|
|
STATIC
|
|
EFI_STATUS
|
|
MainStatusBarHide ()
|
|
{
|
|
MainEditor.FileBuffer->ClearLine(STATUS_BAR_LOCATION);
|
|
return EFI_SUCCESS;
|
|
}
|
|
|
|
STATIC
|
|
EFI_STATUS
|
|
MainStatusBarSetStatusString (
|
|
IN CHAR16* Str
|
|
)
|
|
{
|
|
if ( MainStatusBar.StatusString != NULL ) {
|
|
FreePool (MainStatusBar.StatusString);
|
|
}
|
|
MainStatusBar.StatusString = StrDuplicate (Str);
|
|
MainStatusBarRefresh();
|
|
return EFI_SUCCESS;
|
|
}
|
|
|
|
|
|
STATIC
|
|
EFI_STATUS
|
|
MainStatusBarSetOffset (
|
|
IN UINTN Offset
|
|
)
|
|
{
|
|
MainStatusBar.Offset = Offset;
|
|
|
|
MainStatusBar.Refresh();
|
|
|
|
return EFI_SUCCESS;
|
|
}
|
|
|
|
#endif /* _LIB_STATUS_BAR */
|