diff --git a/xtldr2/textui.c b/xtldr2/textui.c index 1cc3fe2..2959e47 100644 --- a/xtldr2/textui.c +++ b/xtldr2/textui.c @@ -33,9 +33,22 @@ typedef struct _XTBL_DIALOG_HANDLE UINT_PTR Height; } XTBL_DIALOG_HANDLE, *PXTBL_DIALOG_HANDLE; +/** + * Determines dialog box size based on enabled components and message length. + * + * @param Handle + * Supplies a pointer to the dialog box handle. + * + * @param Message + * Supplies a pointer to the message string put on the dialog box. + * + * @return This routine does not return any value. + * + * @since XT 1.0 + */ XTCDECL VOID -BlpDetermineDialogBoxSize(IN PXTBL_DIALOG_HANDLE Handle, +BlpDetermineDialogBoxSize(IN OUT PXTBL_DIALOG_HANDLE Handle, IN PWCHAR Message) { UINT_PTR Width, Height, LineLength; @@ -139,9 +152,25 @@ BlpDetermineDialogBoxSize(IN PXTBL_DIALOG_HANDLE Handle, Handle->Height = Height; } +/** + * Draws dialog box with caption and message. + * + * @param Handle + * Supplies a pointer to the dialog box handle. + * + * @param Caption + * Specifies a caption string put on the dialog box. + * + * @param Message + * Specifies a message string put on the dialog box. + * + * @return This routine does not return any value. + * + * @since XT 1.0 + */ XTCDECL VOID -BlpDrawDialogBox(IN PXTBL_DIALOG_HANDLE Handle, +BlpDrawDialogBox(IN OUT PXTBL_DIALOG_HANDLE Handle, IN PWCHAR Caption, IN PWCHAR Message) { @@ -258,6 +287,16 @@ BlpDrawDialogBox(IN PXTBL_DIALOG_HANDLE Handle, } } +/** + * Draws an active or inactive button in the dialog box, depending on the attributes. + * + * @param Handle + * Supplies a pointer to the dialog box handle. + * + * @return This routine does not return any value. + * + * @since XT 1.0 + */ XTCDECL VOID BlpDrawDialogButton(IN PXTBL_DIALOG_HANDLE Handle) @@ -295,6 +334,19 @@ BlpDrawDialogButton(IN PXTBL_DIALOG_HANDLE Handle) BlConsolePrint(L"[ OK ]"); } +/** + * Draws an active or inactive input field in the dialog box, depending on the attributes. + * + * @param Handle + * Supplies a pointer to the dialog box handle. + * + * @param InputFieldText + * Supplies a pointer to the wide char string that will be displayed in the input field. + * + * @return This routine does not return any value. + * + * @since XT 1.0 + */ XTCDECL VOID BlpDrawDialogInputField(IN PXTBL_DIALOG_HANDLE Handle, @@ -356,6 +408,19 @@ BlpDrawDialogInputField(IN PXTBL_DIALOG_HANDLE Handle, } } +/** + * Draws a progress bar component in the dialog box. + * + * @param Handle + * Supplies a pointer to the dialog box handle. + * + * @param Percentage + * Specifies the percentage progress of the progress bar. + * + * @return This routine does not return any value. + * + * @since XT 1.0 + */ XTCDECL VOID BlpDrawDialogProgressBar(IN PXTBL_DIALOG_HANDLE Handle,