52 const PCSTR UiMonthNames[12] = {
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December" };
54 #define TAG_UI_TEXT 'xTiU' 104 CHAR SettingText[260];
116 TRACE(
"Initializing User Interface.\n");
117 TRACE(
"Reading UI settings from [Display] section.\n");
124 SettingText[0] =
'\0';
125 if ((SectionId != 0) && !
IniReadSettingByName(SectionId,
"DisplayMode", SettingText,
sizeof(SettingText)))
127 SettingText[0] =
'\0';
133 if ((SectionId != 0) &&
IniReadSettingByName(SectionId,
"MinimalUI", SettingText,
sizeof(SettingText)))
135 UiMinimal = (
_stricmp(SettingText,
"Yes") == 0);
139 #if 0 // We don't support a GUI mode yet. 226 TRACE(
"UiInitialize() returning TRUE.\n");
307 ULONG LineBreakCount;
315 TextLength =
strlen(MessageText);
323 if (MessageText[
Index] ==
'\n')
330 if ((
Index - LastIndex) > BoxWidth)
339 BoxHeight = LineBreakCount + 4;
436 Percentage =
min(Percentage, 99);
554 CHAR SettingName[80];
555 CHAR SettingValue[80];
556 PCHAR MessageBoxText;
557 ULONG MessageBoxTextSize;
565 IniReadSettingByNumber(SectionId, Idx, SettingName,
sizeof(SettingName), SettingValue,
sizeof(SettingValue));
566 if (
_stricmp(SettingName,
"MessageBox") != 0)
580 IniReadSettingByNumber(SectionId, Idx, SettingName,
sizeof(SettingName), MessageBoxText, MessageBoxTextSize);
600 PCHAR MessageBoxText;
601 SIZE_T MessageBoxTextSize;
609 MessageBoxTextSize = (
strlen(ArgValue) + 1) *
sizeof(
CHAR);
617 strcpy(MessageBoxText, ArgValue);
645 MenuItemList, MenuItemCount, DefaultMenuItem,
646 MenuTimeOut, SelectedMenuItem, CanEscape,
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION _In_ ULONG _In_ SIZE_T _In_ ULONG _In_ USHORT Depth
UCHAR NoUiTextToColor(PCSTR ColorText)
VOID(* DrawProgressBar)(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ PCSTR ProgressText)
_In_ ULONG _In_ ULONG _In_ ULONG Length
void Fill(HDC hdc, LONG x, LONG y, COLORREF color)
BOOLEAN NoUiInitialize(VOID)
static VOID UiEscapeString(PCHAR String)
BOOLEAN NoUiDisplayMenu(IN PCSTR MenuHeader, IN PCSTR MenuFooter OPTIONAL, IN BOOLEAN ShowBootOptions, IN PCSTR MenuItemList[], IN ULONG MenuItemCount, IN ULONG DefaultMenuItem, IN LONG MenuTimeOut, OUT PULONG SelectedMenuItem, IN BOOLEAN CanEscape, IN UiMenuKeyPressFilterCallback KeyPressFilter OPTIONAL, IN PVOID Context OPTIONAL)
VOID UiDrawText2(_In_ ULONG X, _In_ ULONG Y, _In_opt_ ULONG MaxNumChars, _In_reads_or_z_(MaxNumChars) PCSTR Text, _In_ UCHAR Attr)
VOID NoUiDrawProgressBarCenter(_In_ PCSTR ProgressText)
ACPI_SIZE strlen(const char *String)
BOOLEAN UiEditBox(PCSTR MessageText, PCHAR EditTextBuffer, ULONG Length)
VOID(* DrawText)(ULONG X, ULONG Y, PCSTR Text, UCHAR Attr)
VOID MiniTuiTickProgressBar(_In_ ULONG SubPercentTimes100)
#define MachVideoGetDisplaySize(W, H, D)
VOID UiInfoBox(PCSTR MessageText)
VOID NoUiDrawCenteredText(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ PCSTR TextString, _In_ UCHAR Attr)
VOID UiDrawText(_In_ ULONG X, _In_ ULONG Y, _In_ PCSTR Text, _In_ UCHAR Attr)
VOID NoUiDrawStatusText(PCSTR StatusText)
VOID NoUiDrawBox(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, UCHAR VertStyle, UCHAR HorzStyle, BOOLEAN Fill, BOOLEAN Shadow, UCHAR Attr)
BOOLEAN NoUiEditBox(PCSTR MessageText, PCHAR EditTextBuffer, ULONG Length)
UCHAR UiMessageBoxBgColor
VOID NoUiTickProgressBar(_In_ ULONG SubPercentTimes100)
VOID UiUpdateProgressBar(_In_ ULONG Percentage, _In_opt_ PCSTR ProgressText)
VOID UiIndicateProgress(VOID)
VOID(* FadeInBackdrop)(VOID)
VOID NoUiDrawShadow(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom)
UCHAR UiMessageBoxFgColor
VOID UiInitProgressBar(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ PCSTR ProgressText)
NTSTRSAFEAPI RtlStringCbCopyA(_Out_writes_bytes_(cbDest) _Always_(_Post_z_) NTSTRSAFE_PSTR pszDest, _In_ size_t cbDest, _In_ NTSTRSAFE_PCSTR pszSrc)
UCHAR UiTextToFillStyle(PCSTR FillStyleText)
UCHAR(* TextToColor)(PCSTR ColorText)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
VOID NoUiUpdateDateTime(VOID)
VOID UiShowMessageBoxesInArgv(IN ULONG Argc, IN PCHAR Argv[])
VOID(* SetProgressBarText)(_In_ PCSTR ProgressText)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
UCHAR NoUiTextToFillStyle(PCSTR FillStyleText)
VOID NoUiFillArea(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, CHAR FillChar, UCHAR Attr)
VOID UiShowMessageBoxesInSection(IN ULONG_PTR SectionId)
BOOLEAN UiDisplayMenu(IN PCSTR MenuHeader, IN PCSTR MenuFooter OPTIONAL, IN BOOLEAN ShowBootOptions, IN PCSTR MenuItemList[], IN ULONG MenuItemCount, IN ULONG DefaultMenuItem, IN LONG MenuTimeOut, OUT PULONG SelectedMenuItem, IN BOOLEAN CanEscape, IN UiMenuKeyPressFilterCallback KeyPressFilter OPTIONAL, IN PVOID Context OPTIONAL)
UI_PROGRESS_BAR UiProgressBar
VOID UiFadeInBackdrop(VOID)
VOID(* TickProgressBar)(_In_ ULONG SubPercentTimes100)
PCHAR GetNextArgumentValue(IN ULONG Argc, IN PCHAR Argv[], IN OUT PULONG LastIndex OPTIONAL, IN PCHAR ArgumentName)
FORCEINLINE PVOID FrLdrTempAlloc(_In_ SIZE_T Size, _In_ ULONG Tag)
VOID UiDrawCenteredText(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ PCSTR TextString, _In_ UCHAR Attr)
#define ATTR(cFore, cBack)
BOOLEAN UiUseSpecialEffects
VOID MiniTuiDrawProgressBarCenter(_In_ PCSTR ProgressText)
VOID(* DrawText2)(ULONG X, ULONG Y, ULONG MaxNumChars, PCSTR Text, UCHAR Attr)
VOID(* MessageBox)(PCSTR MessageText)
BOOLEAN IniReadSettingByName(ULONG_PTR SectionId, PCSTR SettingName, PCHAR Buffer, ULONG BufferSize)
VOID NoUiMessageBox(PCSTR MessageText)
VOID NoUiDrawText2(_In_ ULONG X, _In_ ULONG Y, _In_opt_ ULONG MaxNumChars, _In_reads_or_z_(MaxNumChars) PCSTR Text, _In_ UCHAR Attr)
VOID NoUiUnInitialize(VOID)
VOID(* FillArea)(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, CHAR FillChar, UCHAR Attr)
VOID NoUiSetProgressBarText(_In_ PCSTR ProgressText)
VOID UiUnInitialize(PCSTR BootText)
BOOLEAN(* Initialize)(VOID)
BOOLEAN IniOpenSection(PCSTR SectionName, ULONG_PTR *SectionId)
VOID(* UpdateDateTime)(VOID)
UCHAR UiSelectedTextBgColor
VOID NoUiDrawMenu(_In_ PUI_MENU_INFO MenuInfo)
_In_ WDFCOLLECTION _In_ ULONG Index
VOID UiDrawBox(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, UCHAR VertStyle, UCHAR HorzStyle, BOOLEAN Fill, BOOLEAN Shadow, UCHAR Attr)
VOID(* DrawShadow)(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom)
VOID(* DrawBox)(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, UCHAR VertStyle, UCHAR HorzStyle, BOOLEAN Fill, BOOLEAN Shadow, UCHAR Attr)
VOID UiDrawStatusText(PCSTR StatusText)
BOOLEAN(* EditBox)(PCSTR MessageText, PCHAR EditTextBuffer, ULONG Length)
VOID UiUpdateDateTime(VOID)
ULONG IniGetSectionSettingValueSize(ULONG_PTR SectionId, ULONG SettingIndex)
struct _UI_PROGRESS_BAR::@175 Indicator
BOOLEAN(* UiMenuKeyPressFilterCallback)(IN ULONG KeyPress, IN ULONG SelectedMenuItem, IN PVOID Context OPTIONAL)
UCHAR UiBackdropFillStyle
enum tagVIDEODISPLAYMODE VIDEODISPLAYMODE
VOID MiniTuiDrawProgressBar(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ PCSTR ProgressText)
BOOLEAN(* DisplayMenu)(IN PCSTR MenuHeader, IN PCSTR MenuFooter OPTIONAL, IN BOOLEAN ShowBootOptions, IN PCSTR MenuItemList[], IN ULONG MenuItemCount, IN ULONG DefaultMenuItem, IN LONG MenuTimeOut, OUT PULONG SelectedMenuItem, IN BOOLEAN CanEscape, IN UiMenuKeyPressFilterCallback KeyPressFilter OPTIONAL, IN PVOID Context OPTIONAL)
CHAR UiTitleBoxTitleText[260]
VOID UiSetProgressBarText(_In_ PCSTR ProgressText)
VOID NoUiFadeInBackdrop(VOID)
VOID(* MessageBoxCritical)(PCSTR MessageText)
VOID(* DrawProgressBarCenter)(_In_ PCSTR ProgressText)
VOID UiFillArea(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, CHAR FillChar, UCHAR Attr)
static LPHIST_ENTRY Bottom
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
VOID(* DrawStatusText)(PCSTR StatusText)
VOID NoUiDrawText(_In_ ULONG X, _In_ ULONG Y, _In_ PCSTR Text, _In_ UCHAR Attr)
VOID NoUiDrawBackdrop(VOID)
struct _UI_PROGRESS_BAR::@174 State
VOID NoUiMessageBoxCritical(PCSTR MessageText)
UCHAR UiTextToColor(PCSTR ColorText)
VOID(* DrawBackdrop)(VOID)
const PCSTR UiMonthNames[12]
VOID UiMessageBox(PCSTR Format,...)
VOID UiDrawProgressBar(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ PCSTR ProgressText)
VOID UiDrawProgressBarCenter(_In_ PCSTR ProgressText)
#define _In_reads_or_z_(size)
#define MachVideoSetDisplayMode(Mode, Init)
VOID UiMessageBoxCritical(PCSTR MessageText)
void int int ULONGLONG int va_list * ap
UCHAR UiSelectedTextColor
char * strcpy(char *DstString, const char *SrcString)
ULONG IniGetNumSectionItems(ULONG_PTR SectionId)
VOID UiSetProgressBarSubset(_In_ ULONG Floor, _In_ ULONG Ceiling)
VOID UiDrawBackdrop(VOID)
VOID MiniTuiSetProgressBarText(_In_ PCSTR ProgressText)
VOID(* DrawCenteredText)(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, PCSTR TextString, UCHAR Attr)
UCHAR(* TextToFillStyle)(PCSTR FillStyleText)
VOID NoUiDrawProgressBar(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ PCSTR ProgressText)
BOOLEAN IniReadSettingByNumber(ULONG_PTR SectionId, ULONG SettingNumber, PCHAR SettingName, ULONG NameSize, PCHAR SettingValue, ULONG ValueSize)
VOID(* UnInitialize)(VOID)
BOOLEAN UiInitialize(BOOLEAN ShowUi)
VOID UiDrawShadow(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom)
PULONG MinorVersion OPTIONAL
FORCEINLINE VOID FrLdrTempFree(PVOID Allocation, ULONG Tag)