26 #define TAG_UI_TEXT 'xTiU' 56 const CHAR UiMonthNames[12][15] = {
"January ",
"February ",
"March ",
"April ",
"May ",
"June ",
"July ",
"August ",
"September ",
"October ",
"November ",
"December " };
90 CHAR SettingText[260];
102 TRACE(
"Initializing User Interface.\n");
103 TRACE(
"Reading UI settings from [Display] section.\n");
110 SettingText[0] =
'\0';
111 if ((SectionId != 0) && !
IniReadSettingByName(SectionId,
"DisplayMode", SettingText,
sizeof(SettingText)))
113 SettingText[0] =
'\0';
119 if ((SectionId != 0) &&
IniReadSettingByName(SectionId,
"MinimalUI", SettingText,
sizeof(SettingText)))
121 UiMinimal = (
_stricmp(SettingText,
"Yes") == 0 &&
strlen(SettingText) == 3);
201 TRACE(
"UiInitialize() returning TRUE.\n");
264 ULONG LineBreakCount;
272 TextLength =
strlen(MessageText);
280 if (MessageText[
Index] ==
'\n')
287 if ((
Index - LastIndex) > BoxWidth)
296 BoxHeight = LineBreakCount + 4;
361 CHAR SettingName[80];
362 CHAR SettingValue[80];
363 PCHAR MessageBoxText;
364 ULONG MessageBoxTextSize;
372 IniReadSettingByNumber(SectionId, Idx, SettingName,
sizeof(SettingName), SettingValue,
sizeof(SettingValue));
373 if (
_stricmp(SettingName,
"MessageBox") != 0)
387 IniReadSettingByNumber(SectionId, Idx, SettingName,
sizeof(SettingName), MessageBoxText, MessageBoxTextSize);
407 PCHAR MessageBoxText;
408 SIZE_T MessageBoxTextSize;
416 MessageBoxTextSize = (
strlen(ArgValue) + 1) *
sizeof(
CHAR);
424 strcpy(MessageBoxText, ArgValue);
458 if (
strlen(StringText) > MaxChars)
459 strcpy(&StringText[MaxChars - 3],
"...");
477 MenuItemList, MenuItemCount, DefaultMenuItem,
478 MenuTimeOut, SelectedMenuItem, CanEscape,
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION _In_ ULONG _In_ SIZE_T _In_ ULONG _In_ USHORT Depth
VOID UiEscapeString(PCHAR String)
UCHAR NoUiTextToColor(PCSTR ColorText)
_In_ ULONG _In_ ULONG _In_ ULONG Length
VOID NoUiDrawText(ULONG X, ULONG Y, PCSTR Text, UCHAR Attr)
void Fill(HDC hdc, LONG x, LONG y, COLORREF color)
BOOLEAN NoUiInitialize(VOID)
VOID UiDrawText2(ULONG X, ULONG Y, ULONG MaxNumChars, PCSTR Text, UCHAR Attr)
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)
ACPI_SIZE strlen(const char *String)
BOOLEAN UiEditBox(PCSTR MessageText, PCHAR EditTextBuffer, ULONG Length)
VOID(* DrawText)(ULONG X, ULONG Y, PCSTR Text, UCHAR Attr)
#define MachVideoGetDisplaySize(W, H, D)
VOID UiInfoBox(PCSTR MessageText)
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(* FadeInBackdrop)(VOID)
VOID NoUiDrawShadow(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom)
UCHAR UiMessageBoxFgColor
const CHAR UiMonthNames[12][15]
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[])
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
UCHAR NoUiTextToFillStyle(PCSTR FillStyleText)
BOOLEAN UiInitialize(BOOLEAN ShowGui)
VOID(* DrawProgressBarCenter)(ULONG Position, ULONG Range, PCHAR ProgressText)
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)
VOID UiFadeInBackdrop(VOID)
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)
#define ATTR(cFore, cBack)
BOOLEAN UiUseSpecialEffects
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 UiDrawProgressBar(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, ULONG Position, ULONG Range, PCHAR ProgressText)
VOID NoUiMessageBox(PCSTR MessageText)
VOID NoUiUnInitialize(VOID)
VOID(* FillArea)(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, CHAR FillChar, UCHAR Attr)
VOID UiTruncateStringEllipsis(PCHAR StringText, ULONG MaxChars)
VOID UiUnInitialize(PCSTR BootText)
BOOLEAN(* Initialize)(VOID)
BOOLEAN IniOpenSection(PCSTR SectionName, ULONG_PTR *SectionId)
VOID(* UpdateDateTime)(VOID)
UCHAR UiSelectedTextBgColor
_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)
VOID NoUiDrawCenteredText(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, PCSTR TextString, UCHAR Attr)
VOID UiDrawProgressBarCenter(ULONG Position, ULONG Range, PCHAR ProgressText)
BOOLEAN(* EditBox)(PCSTR MessageText, PCHAR EditTextBuffer, ULONG Length)
VOID UiDrawCenteredText(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, PCSTR TextString, UCHAR Attr)
VOID UiUpdateDateTime(VOID)
ULONG IniGetSectionSettingValueSize(ULONG_PTR SectionId, ULONG SettingIndex)
BOOLEAN(* UiMenuKeyPressFilterCallback)(IN ULONG KeyPress, IN ULONG SelectedMenuItem, IN PVOID Context OPTIONAL)
UCHAR UiBackdropFillStyle
enum tagVIDEODISPLAYMODE VIDEODISPLAYMODE
VOID NoUiDrawMenu(PUI_MENU_INFO MenuInfo)
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 NoUiFadeInBackdrop(VOID)
VOID(* MessageBoxCritical)(PCSTR MessageText)
VOID UiFillArea(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, CHAR FillChar, UCHAR Attr)
VOID NoUiDrawProgressBarCenter(ULONG Position, ULONG Range, PCHAR ProgressText)
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(* DrawProgressBar)(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, ULONG Position, ULONG Range, PCHAR ProgressText)
VOID NoUiDrawBackdrop(VOID)
VOID NoUiMessageBoxCritical(PCSTR MessageText)
UCHAR UiTextToColor(PCSTR ColorText)
VOID(* DrawBackdrop)(VOID)
VOID UiMessageBox(PCSTR Format,...)
#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)
VOID UiDrawText(ULONG X, ULONG Y, PCSTR Text, UCHAR Attr)
ULONG IniGetNumSectionItems(ULONG_PTR SectionId)
VOID UiDrawBackdrop(VOID)
VOID(* DrawCenteredText)(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, PCSTR TextString, UCHAR Attr)
UCHAR(* TextToFillStyle)(PCSTR FillStyleText)
BOOLEAN IniReadSettingByNumber(ULONG_PTR SectionId, ULONG SettingNumber, PCHAR SettingName, ULONG NameSize, PCHAR SettingValue, ULONG ValueSize)
VOID(* UnInitialize)(VOID)
VOID NoUiDrawProgressBar(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, ULONG Position, ULONG Range, PCHAR ProgressText)
VOID NoUiDrawText2(ULONG X, ULONG Y, ULONG MaxNumChars, PCSTR Text, UCHAR Attr)
VOID UiDrawShadow(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom)
PULONG MinorVersion OPTIONAL
FORCEINLINE VOID FrLdrTempFree(PVOID Allocation, ULONG Tag)