996 ULONG EditBoxStartX, EditBoxEndX;
998 ULONG EditBoxTextLength, EditBoxTextPosition;
999 INT EditBoxTextDisplayIndex;
1011 if (MessageText[
i] ==
'\n')
1018 while ((MessageText[
j] !=
'\n') && (MessageText[
j] != 0))
1043 if ((MessageText[
i] ==
'\n') || (MessageText[
i] == 0))
1051 temp[
j++] = MessageText[
i];
1054 EditBoxTextLength = (
ULONG)
strlen(EditTextBuffer);
1055 EditBoxTextLength =
min(EditBoxTextLength,
Length - 1);
1056 EditBoxTextPosition = 0;
1057 EditBoxLine =
y2 - 2;
1058 EditBoxStartX =
x1 + 3;
1059 EditBoxEndX =
x2 - 3;
1066 EditBoxCursorX = EditBoxStartX;
1104 if ( (EditBoxTextLength > 0) && (EditBoxTextPosition > 0) &&
1105 (EditBoxTextPosition <= EditBoxTextLength) )
1107 EditBoxTextPosition--;
1108 memmove(EditTextBuffer + EditBoxTextPosition,
1109 EditTextBuffer + EditBoxTextPosition + 1,
1110 EditBoxTextLength - EditBoxTextPosition);
1111 EditBoxTextLength--;
1112 EditTextBuffer[EditBoxTextLength] = 0;
1121 if ( (EditBoxTextLength > 0) &&
1122 (EditBoxTextPosition < EditBoxTextLength) )
1124 memmove(EditTextBuffer + EditBoxTextPosition,
1125 EditTextBuffer + EditBoxTextPosition + 1,
1126 EditBoxTextLength - EditBoxTextPosition);
1127 EditBoxTextLength--;
1128 EditTextBuffer[EditBoxTextLength] = 0;
1137 EditBoxTextPosition = 0;
1141 EditBoxTextPosition = EditBoxTextLength;
1145 if (EditBoxTextPosition < EditBoxTextLength)
1146 EditBoxTextPosition++;
1152 if (EditBoxTextPosition > 0)
1153 EditBoxTextPosition--;
1159 if ( (EditBoxTextLength <
Length - 1) &&
1160 (EditBoxTextPosition <
Length - 1) )
1162 memmove(EditTextBuffer + EditBoxTextPosition + 1,
1163 EditTextBuffer + EditBoxTextPosition,
1164 EditBoxTextLength - EditBoxTextPosition);
1165 EditTextBuffer[EditBoxTextPosition] =
key;
1166 EditBoxTextPosition++;
1167 EditBoxTextLength++;
1168 EditTextBuffer[EditBoxTextLength] = 0;
1185 if (EditBoxTextPosition > (EditBoxEndX - EditBoxStartX))
1187 EditBoxTextDisplayIndex = EditBoxTextPosition - (EditBoxEndX - EditBoxStartX);
1188 EditBoxCursorX = EditBoxEndX;
1192 EditBoxTextDisplayIndex = 0;
1193 EditBoxCursorX = EditBoxStartX + EditBoxTextPosition;
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
GLint GLint GLsizei width
#define memmove(s1, s2, n)
_In_ ULONG _In_ ULONG _In_ ULONG Length
ACPI_SIZE strlen(const char *String)
UCHAR UiMessageBoxFgColor
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
VOID UiDrawText2(_In_ ULONG X, _In_ ULONG Y, _In_opt_ ULONG MaxNumChars, _In_reads_or_z_(MaxNumChars) PCSTR Text, _In_ UCHAR Attr)
VOID VideoCopyOffScreenBufferToVRAM(VOID)
VOID TuiDrawBox(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ UCHAR VertStyle, _In_ UCHAR HorzStyle, _In_ BOOLEAN Fill, _In_ BOOLEAN Shadow, _In_ UCHAR Attr)
VOID TuiSaveScreen(PUCHAR Buffer)
FORCEINLINE PVOID FrLdrTempAlloc(_In_ SIZE_T Size, _In_ ULONG Tag)
#define ATTR(cFore, cBack)
VOID UiDrawText(_In_ ULONG X, _In_ ULONG Y, _In_ PCSTR Text, _In_ UCHAR Attr)
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 GLint GLint j
VOID UiDrawStatusText(PCSTR StatusText)
#define MachVideoHideShowTextCursor(Show)
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
GLint GLint GLsizei GLsizei height
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 TuiRestoreScreen(PUCHAR Buffer)
#define MachVideoSetTextCursorPosition(X, Y)
UCHAR UiMessageBoxBgColor
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
VOID UiFillArea(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, CHAR FillChar, UCHAR Attr)
VOID TuiUpdateDateTime(VOID)
#define TAG_TUI_SCREENBUFFER
FORCEINLINE VOID FrLdrTempFree(PVOID Allocation, ULONG Tag)