HBufferImageInit (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
+/**
Initialization function for HBufferImage\r
\r
-Arguments: \r
+ \r
\r
None\r
\r
-Returns: \r
+ \r
\r
EFI_SUCCESS\r
EFI_LOAD_ERROR\r
\r
---*/\r
+**/\r
{\r
EFI_STATUS Status;\r
\r
HBufferImageBackup (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
+/**
Backup function for HBufferImage\r
Only a few fields need to be backup. \r
This is for making the file buffer refresh \r
as few as possible.\r
\r
-Arguments: \r
+ \r
\r
None\r
\r
-Returns: \r
+ \r
\r
EFI_SUCCESS\r
\r
---*/\r
+**/\r
{\r
HBufferImageBackupVar.MousePosition = HBufferImage.MousePosition;\r
\r
HBufferImageFreeLines (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
+/**
Free all the lines in HBufferImage\r
Fields affected:\r
Lines\r
NumLines\r
ListHead \r
\r
-Arguments: \r
+ \r
\r
None\r
\r
-Returns: \r
+ \r
\r
EFI_SUCCESS\r
\r
---*/\r
+**/\r
{\r
HFreeLines (HBufferImage.ListHead, HBufferImage.Lines);\r
\r
HBufferImageCleanup (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
+/**
Cleanup function for HBufferImage\r
\r
-Arguments: \r
+ \r
\r
None\r
\r
-Returns: \r
+ \r
\r
EFI_SUCCESS\r
\r
---*/\r
+**/\r
{\r
EFI_STATUS Status;\r
\r
IN HEFI_EDITOR_COLOR_UNION New\r
\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
+/**
Print Line on Row\r
\r
-Arguments: \r
+ \r
\r
Line - Line to print\r
Row - Row on screen ( begin from 1 )\r
Orig - Orig\r
New - Light display\r
\r
-Returns: \r
+ \r
\r
EFI_SUCCESS\r
\r
---*/\r
+**/\r
{\r
\r
UINTN Index;\r
CurrentLine = HBufferImage.CurrentLine;\r
Line = HMoveLine (FRow - HBufferImage.BufferPosition.Row);\r
\r
- if (FColumn > Line->Size) {\r
+ if (Line == NULL || FColumn > Line->Size) {\r
HasCharacter = FALSE;\r
}\r
\r
HBufferImageRestorePosition (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
+/**
Set cursor position according to HBufferImage.DisplayPosition.\r
\r
-Arguments: \r
+ \r
\r
None\r
\r
-Returns: \r
+ \r
\r
EFI_SUCCESS\r
\r
---*/\r
+**/\r
{\r
//\r
// set cursor position\r
return EFI_SUCCESS;\r
}\r
\r
+/**
+ Refresh function for HBufferImage.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_LOAD_ERROR A Load error occured.\r
+\r
+**/\r
EFI_STATUS\r
HBufferImageRefresh (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Refresh function for HBufferImage\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR \r
-\r
---*/\r
{\r
LIST_ENTRY *Link;\r
HEFI_EDITOR_LINE *Line;\r
// no definite required refresh\r
// and file position displayed on screen has not been changed\r
//\r
- if (HBufferImageNeedRefresh == FALSE &&\r
- HBufferImageOnlyLineNeedRefresh == FALSE &&\r
+ if (!HBufferImageNeedRefresh &&\r
+ !HBufferImageOnlyLineNeedRefresh &&\r
HBufferImageBackupVar.LowVisibleRow == HBufferImage.LowVisibleRow\r
) {\r
HBufferImageRestoreMousePosition ();\r
//\r
// only need to refresh current line\r
//\r
- if (HBufferImageOnlyLineNeedRefresh == TRUE && HBufferImageBackupVar.LowVisibleRow == HBufferImage.LowVisibleRow) {\r
+ if (HBufferImageOnlyLineNeedRefresh && HBufferImageBackupVar.LowVisibleRow == HBufferImage.LowVisibleRow) {\r
\r
HBufferImagePrintLine (\r
HBufferImage.CurrentLine,\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Read an image into a buffer friom a source.\r
+\r
+ @param[in] FileName Pointer to the file name. OPTIONAL and ignored if not FileTypeFileBuffer.\r
+ @param[in] DiskName Pointer to the disk name. OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+ @param[in] DiskOffset Offset into the disk. OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+ @param[in] DiskSize Size of the disk buffer. OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+ @param[in] MemoryOffset Offset into the Memory. OPTIONAL and ignored if not FileTypeMemBuffer.\r
+ @param[in] MemorySize Size of the Memory buffer. OPTIONAL and ignored if not FileTypeMemBuffer.\r
+ @param[in] BufferType The type of buffer to save. IGNORED.\r
+ @param[in] Recover TRUE for recovermode, FALSE otherwise.\r
+\r
+ @return EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
HBufferImageRead (\r
IN CONST CHAR16 *FileName,\r
IN CONST CHAR16 *DiskName,\r
return Status;\r
}\r
\r
+/**\r
+ Save the current image.\r
+\r
+ @param[in] FileName Pointer to the file name. OPTIONAL and ignored if not FileTypeFileBuffer.\r
+ @param[in] DiskName Pointer to the disk name. OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+ @param[in] DiskOffset Offset into the disk. OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+ @param[in] DiskSize Size of the disk buffer. OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+ @param[in] MemoryOffset Offset into the Memory. OPTIONAL and ignored if not FileTypeMemBuffer.\r
+ @param[in] MemorySize Size of the Memory buffer. OPTIONAL and ignored if not FileTypeMemBuffer.\r
+ @param[in] BufferType The type of buffer to save. IGNORED.\r
+\r
+ @return EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImageSave (\r
IN CHAR16 *FileName,\r
return Status;\r
}\r
\r
-HEFI_EDITOR_LINE *\r
-HBufferImageCreateLine (\r
- VOID\r
- )\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Create a new line and append it to the line list\r
+/**
+ Create a new line and append it to the line list.\r
Fields affected:\r
NumLines\r
Lines \r
\r
-Arguments: \r
+ @retval NULL create line failed.\r
+ @return the line created.\r
\r
- None\r
-\r
-Returns: \r
-\r
- NULL -- create line failed\r
- Not NULL -- the line created\r
-\r
---*/\r
+**/\r
+HEFI_EDITOR_LINE *\r
+HBufferImageCreateLine (\r
+ VOID\r
+ )\r
{\r
HEFI_EDITOR_LINE *Line;\r
\r
return Line;\r
}\r
\r
+/**
+ Free the current image.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImageFree (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Function called when load a new file in. It will free all the old lines\r
- and set FileModified field to FALSE\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
//\r
// free all lines\r
return EFI_SUCCESS;\r
}\r
\r
+/**
+ Dispatch input to different handler\r
+\r
+ @param[in] Key The input key:\r
+ the keys can be:\r
+ ASCII KEY\r
+ Backspace/Delete\r
+ Direction key: up/down/left/right/pgup/pgdn\r
+ Home/End\r
+ INS\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+ @retval EFI_OUT_OF_RESOURCES A Memory allocation failed.\r
+**/\r
EFI_STATUS\r
HBufferImageHandleInput (\r
IN EFI_INPUT_KEY *Key\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Dispatch input to different handler\r
-\r
-Arguments: \r
-\r
- Key -- input key\r
- the keys can be:\r
- ASCII KEY\r
- Backspace/Delete\r
- Direction key: up/down/left/right/pgup/pgdn\r
- Home/End\r
- INS\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
- EFI_OUT_OF_RESOURCES\r
-\r
---*/\r
{\r
EFI_STATUS Status;\r
\r
return Status;\r
}\r
\r
+/**
+ ASCII key + Backspace + return.\r
+\r
+ @param[in] Char The input char.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation failed.\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
HBufferImageDoCharInput (\r
IN CHAR16 Char\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- ASCII key + Backspace + return\r
-\r
-Arguments: \r
-\r
- Char -- input char\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
- EFI_OUT_OF_RESOURCES\r
-\r
---*/\r
{\r
EFI_STATUS Status;\r
\r
return Status;\r
}\r
\r
+/**\r
+ change char to int value based on Hex.\r
+\r
+ @param[in] Char The input char.\r
+\r
+ @return The character's index value.\r
+ @retval -1 The operation failed.\r
+**/\r
INTN\r
+EFIAPI\r
HBufferImageCharToHex (\r
IN CHAR16 Char\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- change char to int value based on Hex\r
-\r
-Arguments: \r
-\r
- Char -- input char\r
-\r
-Returns: \r
-\r
- int value;\r
-\r
-\r
---*/\r
{\r
//\r
// change the character to hex\r
return -1;\r
}\r
\r
+/**\r
+ Add character.\r
+\r
+ @param[in] Char -- input char.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation failed.\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
HBufferImageAddChar (\r
IN CHAR16 Char\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Add character\r
-\r
-Arguments: \r
-\r
- Char -- input char\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_OUT_OF_RESOURCES\r
-\r
---*/\r
{\r
HEFI_EDITOR_LINE *Line;\r
HEFI_EDITOR_LINE *NewLine;\r
// at the low 4 bits of the last character of a full line\r
// so if no next line, need to create a new line\r
//\r
- if (High == FALSE && FCol == 0x10) {\r
+ if (!High && FCol == 0x10) {\r
\r
HBufferImageOnlyLineNeedRefresh = FALSE;\r
HBufferImageNeedRefresh = TRUE;\r
//\r
// if already at end of this line, scroll it to the start of next line\r
//\r
- if (FCol == 0x10 && High == FALSE) {\r
+ if (FCol == 0x10 && !High) {\r
//\r
// definitely has next line\r
//\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Check user specified FileRow and FileCol is in current screen.\r
+\r
+ @param[in] FileRow Row of file position ( start from 1 ).\r
+\r
+ @retval TRUE It's on the current screen.\r
+ @retval FALSE It's not on the current screen.\r
+**/\r
BOOLEAN\r
HInCurrentScreen (\r
IN UINTN FileRow\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Check user specified FileRow and FileCol is in current screen\r
-\r
-Arguments: \r
-\r
- FileRow -- Row of file position ( start from 1 )\r
-\r
-\r
-Returns: \r
-\r
- TRUE\r
- FALSE\r
-\r
---*/\r
{\r
if (FileRow >= HBufferImage.LowVisibleRow && FileRow <= HBufferImage.LowVisibleRow + (HMainEditor.ScreenSize.Row - 5) - 1) {\r
return TRUE;\r
return FALSE;\r
}\r
\r
+/**\r
+ Check user specified FileRow is above current screen.\r
+\r
+ @param[in] FileRow Row of file position ( start from 1 ).\r
+ \r
+ @retval TRUE It is above the current screen.\r
+ @retval FALSE It is not above the current screen.\r
+\r
+**/\r
BOOLEAN\r
HAboveCurrentScreen (\r
IN UINTN FileRow\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Check user specified FileRow is above current screen\r
-\r
-Arguments: \r
-\r
- FileRow -- Row of file position ( start from 1 )\r
- \r
-Returns: \r
-\r
- TRUE\r
- FALSE\r
-\r
---*/\r
{\r
if (FileRow < HBufferImage.LowVisibleRow) {\r
return TRUE;\r
return FALSE;\r
}\r
\r
+/**\r
+ Check user specified FileRow is under current screen.\r
+\r
+ @param[in] FileRow Row of file position ( start from 1 ).\r
+\r
+ @retval TRUE It is under the current screen.\r
+ @retval FALSE It is not under the current screen.\r
+\r
+**/\r
BOOLEAN\r
HUnderCurrentScreen (\r
IN UINTN FileRow\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Check user specified FileRow is under current screen\r
-\r
-Arguments: \r
-\r
- FileRow -- Row of file position ( start from 1 )\r
-\r
-Returns: \r
-\r
- TRUE\r
- FALSE\r
-\r
---*/\r
{\r
if (FileRow > HBufferImage.LowVisibleRow + (HMainEditor.ScreenSize.Row - 5) - 1) {\r
return TRUE;\r
return FALSE;\r
}\r
\r
+/**\r
+ According to cursor's file position, adjust screen display.\r
+\r
+ @param[in] NewFilePosRow Row of file position ( start from 1 ).\r
+ @param[in] NewFilePosCol Column of file position ( start from 1 ).\r
+ @param[in] HighBits Cursor will on high4 bits or low4 bits.\r
+**/\r
VOID\r
HBufferImageMovePosition (\r
IN UINTN NewFilePosRow,\r
IN UINTN NewFilePosCol,\r
IN BOOLEAN HighBits\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- According to cursor's file position, adjust screen display\r
\r
-Arguments: \r
-\r
- NewFilePosRow -- Row of file position ( start from 1 )\r
- NewFilePosCol -- Column of file position ( start from 1 ) \r
- HighBits -- cursor will on high4 bits or low4 bits\r
-\r
-Returns: \r
-\r
- None\r
-\r
---*/\r
{\r
INTN RowGap;\r
UINTN Abs;\r
NewDisplayCol++;\r
}\r
\r
- if (HighBits == FALSE) {\r
+ if (!HighBits) {\r
NewDisplayCol++;\r
}\r
\r
\r
}\r
\r
+/**\r
+ Scroll cursor to right.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImageScrollRight (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Scroll cursor to right\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
HEFI_EDITOR_LINE *Line;\r
UINTN FRow;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Scroll cursor to left.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImageScrollLeft (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Scroll cursor to left\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
\r
HEFI_EDITOR_LINE *Line;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Scroll cursor to the next line\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImageScrollDown (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Scroll cursor to the next line\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
HEFI_EDITOR_LINE *Line;\r
UINTN FRow;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Scroll cursor to previous line\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImageScrollUp (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Scroll cursor to previous line\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
HEFI_EDITOR_LINE *Line;\r
UINTN FRow;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Scroll cursor to next page\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImagePageDown (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Scroll cursor to next page\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
HEFI_EDITOR_LINE *Line;\r
UINTN FRow;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Scroll cursor to previous page\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImagePageUp (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Scroll cursor to previous page\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
HEFI_EDITOR_LINE *Line;\r
UINTN FRow;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Scroll cursor to start of line\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImageHome (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Scroll cursor to start of line\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
HEFI_EDITOR_LINE *Line;\r
UINTN FRow;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Scroll cursor to end of line.\r
+\r
+ @retval EFI_SUCCESS Teh operation was successful.\r
+**/\r
EFI_STATUS\r
HBufferImageEnd (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Scroll cursor to end of line\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
HEFI_EDITOR_LINE *Line;\r
UINTN FRow;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Get the size of the open buffer.\r
+\r
+ @retval The size in bytes.\r
+**/\r
UINTN\r
HBufferImageGetTotalSize (\r
VOID\r
return Size;\r
}\r
\r
+/**\r
+ Delete character from buffer.\r
+ \r
+ @param[in] Pos Position, Pos starting from 0.\r
+ @param[in] Count The Count of characters to delete.\r
+ @param[OUT] DeleteBuffer The DeleteBuffer.\r
+\r
+ @retval EFI_SUCCESS Success \r
+**/\r
EFI_STATUS\r
HBufferImageDeleteCharacterFromBuffer (\r
IN UINTN Pos,\r
IN UINTN Count,\r
OUT UINT8 *DeleteBuffer\r
)\r
-/*++\r
-Routine Description:\r
-\r
- Delete character from buffer\r
- \r
-Arguments:\r
-\r
- Pos - Position, Pos starting from 0\r
- Count - Count\r
- DeleteBuffer - DeleteBuffer\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS Success\r
- \r
---*/\r
{\r
UINTN Index;\r
\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Add character to buffer, add before pos.\r
+\r
+ @param[in] Pos Position, Pos starting from 0.\r
+ @param[in] Count Count of characters to add.\r
+ @param[in] AddBuffer Add buffer.\r
+\r
+ @retval EFI_SUCCESS Success. \r
+**/\r
EFI_STATUS\r
HBufferImageAddCharacterToBuffer (\r
IN UINTN Pos,\r
IN UINTN Count,\r
IN UINT8 *AddBuffer\r
)\r
-/*++'\r
-Routine Description:\r
-\r
- Add character to buffer, add before pos\r
-\r
-Arguments:\r
-\r
- Pos - Position, Pos starting from 0\r
- Count - Count\r
- AddBuffer - Add buffer\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS Success\r
- \r
---*/\r
{\r
INTN Index;\r
\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Delete the previous character.\r
+\r
+ @retval EFI_SUCCESS The operationw as successful.\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
HBufferImageDoBackspace (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- delete the previous character\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
HEFI_EDITOR_LINE *Line;\r
\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Delete current character from line.\r
+\r
+ @retval EFI_SUCCESS The operationw as successful.\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
HBufferImageDoDelete (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Delete current character from line\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
\r
HEFI_EDITOR_LINE *Line;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Change the raw buffer to a list of lines for the UI.\r
+ \r
+ @param[in] Buffer The pointer to the buffer to fill.\r
+ @param[in] Bytes The size of the buffer in bytes.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation failed.\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
HBufferImageBufferToList (\r
IN VOID *Buffer,\r
IN UINTN Bytes\r
)\r
{\r
- UINTN i;\r
- UINTN j;\r
+ UINTN TempI;\r
+ UINTN TempJ;\r
UINTN Left;\r
HEFI_EDITOR_LINE *Line;\r
UINT8 *BufferPtr;\r
\r
- i = 0;\r
+ TempI = 0;\r
Left = 0;\r
BufferPtr = (UINT8 *) Buffer;\r
\r
//\r
// parse file content line by line\r
//\r
- while (i < Bytes) {\r
- if (Bytes - i >= 0x10) {\r
+ while (TempI < Bytes) {\r
+ if (Bytes - TempI >= 0x10) {\r
Left = 0x10;\r
} else {\r
- Left = Bytes - i;\r
+ Left = Bytes - TempI;\r
}\r
\r
//\r
\r
Line->Size = Left;\r
\r
- for (j = 0; j < Left; j++) {\r
- Line->Buffer[j] = BufferPtr[i];\r
- i++;\r
+ for (TempJ = 0; TempJ < Left; TempJ++) {\r
+ Line->Buffer[TempJ] = BufferPtr[TempI];\r
+ TempI++;\r
}\r
\r
}\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Change the list of lines from the UI to a raw buffer.\r
+ \r
+ @param[in] Buffer The pointer to the buffer to fill.\r
+ @param[in] Bytes The size of the buffer in bytes.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
HBufferImageListToBuffer (\r
IN VOID *Buffer,\r
IN UINTN Bytes\r
\r
Line = CR (Link, HEFI_EDITOR_LINE, Link, EFI_EDITOR_LINE_LIST);\r
\r
+ //@todo shouldn't this be an error???\r
if (Count + Line->Size > Bytes) {\r
return EFI_SUCCESS;\r
}\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Move the mouse in the image buffer.\r
+\r
+ @param[in] TextX The x-coordinate.\r
+ @param[in] TextY The y-coordinate.\r
+**/\r
VOID\r
+EFIAPI\r
HBufferImageAdjustMousePosition (\r
IN INT32 TextX,\r
IN INT32 TextY\r
)\r
{\r
- UINTN X;\r
- UINTN Y;\r
+ UINTN TempX;\r
+ UINTN TempY;\r
UINTN AbsX;\r
UINTN AbsY;\r
\r
// This function will change it to MousePosition\r
//\r
//\r
- // get absolute X value\r
+ // get absolute TempX value\r
//\r
if (TextX >= 0) {\r
AbsX = TextX;\r
AbsX = -TextX;\r
}\r
//\r
- // get absolute Y value\r
+ // get absolute TempY value\r
//\r
if (TextY >= 0) {\r
AbsY = TextY;\r
AbsY = -TextY;\r
}\r
\r
- X = HBufferImage.MousePosition.Column;\r
- Y = HBufferImage.MousePosition.Row;\r
+ TempX = HBufferImage.MousePosition.Column;\r
+ TempY = HBufferImage.MousePosition.Row;\r
\r
if (TextX >= 0) {\r
- X += TextX;\r
+ TempX += TextX;\r
} else {\r
- if (X >= AbsX) {\r
- X -= AbsX;\r
+ if (TempX >= AbsX) {\r
+ TempX -= AbsX;\r
} else {\r
- X = 0;\r
+ TempX = 0;\r
}\r
}\r
\r
if (TextY >= 0) {\r
- Y += TextY;\r
+ TempY += TextY;\r
} else {\r
- if (Y >= AbsY) {\r
- Y -= AbsY;\r
+ if (TempY >= AbsY) {\r
+ TempY -= AbsY;\r
} else {\r
- Y = 0;\r
+ TempY = 0;\r
}\r
}\r
//\r
// check whether new mouse column position is beyond screen\r
// if not, adjust it\r
//\r
- if (X >= 10 && X <= (10 + 0x10 * 3 - 1)) {\r
- HBufferImage.MousePosition.Column = X;\r
- } else if (X < 10) {\r
+ if (TempX >= 10 && TempX <= (10 + 0x10 * 3 - 1)) {\r
+ HBufferImage.MousePosition.Column = TempX;\r
+ } else if (TempX < 10) {\r
HBufferImage.MousePosition.Column = 10;\r
- } else if (X > (10 + 0x10 * 3 - 1)) {\r
+ } else if (TempX > (10 + 0x10 * 3 - 1)) {\r
HBufferImage.MousePosition.Column = 10 + 0x10 * 3 - 1;\r
}\r
//\r
// check whether new mouse row position is beyond screen\r
// if not, adjust it\r
//\r
- if (Y >= 2 && Y <= (HMainEditor.ScreenSize.Row - 4)) {\r
- HBufferImage.MousePosition.Row = Y;\r
- } else if (Y < 2) {\r
+ if (TempY >= 2 && TempY <= (HMainEditor.ScreenSize.Row - 4)) {\r
+ HBufferImage.MousePosition.Row = TempY;\r
+ } else if (TempY < 2) {\r
HBufferImage.MousePosition.Row = 2;\r
- } else if (Y > (HMainEditor.ScreenSize.Row - 4)) {\r
+ } else if (TempY > (HMainEditor.ScreenSize.Row - 4)) {\r
HBufferImage.MousePosition.Row = (HMainEditor.ScreenSize.Row - 4);\r
}\r
\r