100 lines
1.8 KiB
C
100 lines
1.8 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1999 Intel Corporation
|
||
|
|
||
|
Module Name:
|
||
|
libTitle.c
|
||
|
|
||
|
Abstract:
|
||
|
Defines the TitleBar data type
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _LIB_TITLE_BAR
|
||
|
#define _LIB_TITLE_BAR
|
||
|
|
||
|
#include "libMisc.h"
|
||
|
|
||
|
STATIC EFI_STATUS TitleBarInit (VOID);
|
||
|
STATIC EFI_STATUS TitleBarCleanup (VOID);
|
||
|
STATIC EFI_STATUS TitleBarRefresh (VOID);
|
||
|
STATIC EFI_STATUS TitleBarHide (VOID);
|
||
|
STATIC EFI_STATUS TitleBarSetTitle (CHAR16*);
|
||
|
|
||
|
EE_TITLE_BAR TitleBar = {
|
||
|
NULL,
|
||
|
TitleBarInit,
|
||
|
TitleBarCleanup,
|
||
|
TitleBarRefresh,
|
||
|
TitleBarHide,
|
||
|
TitleBarSetTitle
|
||
|
};
|
||
|
|
||
|
|
||
|
STATIC
|
||
|
EFI_STATUS
|
||
|
TitleBarInit ()
|
||
|
{
|
||
|
CHAR16 *Filename;
|
||
|
|
||
|
Filename = PoolPrint(L"New File");
|
||
|
TitleBarSetTitle(Filename);
|
||
|
|
||
|
FreePool(Filename);
|
||
|
|
||
|
return EFI_SUCCESS;
|
||
|
}
|
||
|
|
||
|
STATIC
|
||
|
EFI_STATUS
|
||
|
TitleBarCleanup ()
|
||
|
{
|
||
|
MainEditor.FileBuffer->ClearLine (TITLE_BAR_LOCATION);
|
||
|
if (TitleBar.Filename) {
|
||
|
FreePool (TitleBar.Filename);
|
||
|
}
|
||
|
return EFI_SUCCESS;
|
||
|
}
|
||
|
|
||
|
STATIC
|
||
|
EFI_STATUS
|
||
|
TitleBarRefresh ()
|
||
|
{
|
||
|
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(TITLE_BAR_LOCATION);
|
||
|
PrintAt (0,TITLE_BAR_LOCATION,L" %s %s %s ",EDITOR_NAME,EDITOR_VERSION,TitleBar.Filename);
|
||
|
|
||
|
Out->SetAttribute (Out,Orig.Data);
|
||
|
|
||
|
return EFI_SUCCESS;
|
||
|
}
|
||
|
|
||
|
STATIC
|
||
|
EFI_STATUS
|
||
|
TitleBarHide ()
|
||
|
{
|
||
|
MainEditor.FileBuffer->ClearLine (TITLE_BAR_LOCATION);
|
||
|
return EFI_SUCCESS;
|
||
|
}
|
||
|
|
||
|
STATIC
|
||
|
EFI_STATUS
|
||
|
TitleBarSetTitle (CHAR16* Filename)
|
||
|
{
|
||
|
if (TitleBar.Filename != NULL ) {
|
||
|
FreePool (TitleBar.Filename);
|
||
|
}
|
||
|
TitleBar.Filename = StrDuplicate (Filename);
|
||
|
TitleBar.Refresh();
|
||
|
return EFI_SUCCESS;
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif /* _LIB_TITLE_BAR */
|