//\r
// the whole edit area needs to be refreshed\r
//\r
-STATIC BOOLEAN FileBufferNeedRefresh;\r
+BOOLEAN FileBufferNeedRefresh; \r
\r
//\r
// only the current line in edit area needs to be refresh\r
\r
Link = Link->ForwardLink;\r
Row++;\r
- } while (Link != FileBuffer.ListHead && Row <= (MainEditor.ScreenSize.Row - 4));\r
+ } while (Link != FileBuffer.ListHead && Row <= (MainEditor.ScreenSize.Row - 1));\r
//\r
// while not file end and not screen full\r
//\r
- while (Row <= (MainEditor.ScreenSize.Row - 4)) {\r
+ while (Row <= (MainEditor.ScreenSize.Row - 1)) {\r
EditorClearLine (Row, MainEditor.ScreenSize.Column, MainEditor.ScreenSize.Row);\r
Row++;\r
}\r
/**\r
Delete a char in line\r
\r
- @param[in,out] Line The line to delete in.\r
- @param[in] Pos Position to delete the char at ( start from 0 ).\r
+ @param[in, out] Line The line to delete in.\r
+ @param[in] Pos Position to delete the char at ( start from 0 ).\r
**/\r
VOID\r
EFIAPI\r
/**\r
Concatenate Src into Dest.\r
\r
- @param[in,out] Dest Destination string\r
- @param[in] Src Src String.\r
+ @param[in, out] Dest Destination string\r
+ @param[in] Src Src String.\r
**/\r
VOID\r
EFIAPI\r
//\r
// has next page\r
//\r
- if (FileBuffer.NumLines >= FRow + (MainEditor.ScreenSize.Row - 5)) {\r
- Gap = (MainEditor.ScreenSize.Row - 5);\r
+ if (FileBuffer.NumLines >= FRow + (MainEditor.ScreenSize.Row - 2)) {\r
+ Gap = (MainEditor.ScreenSize.Row - 2);\r
} else {\r
//\r
// MOVE CURSOR TO LAST LINE\r
//\r
// has previous page\r
//\r
- if (FRow > (MainEditor.ScreenSize.Row - 5)) {\r
- Gap = (MainEditor.ScreenSize.Row - 5);\r
+ if (FRow > (MainEditor.ScreenSize.Row - 2)) {\r
+ Gap = (MainEditor.ScreenSize.Row - 2);\r
} else {\r
//\r
// the first line of file will displayed on the first line of screen\r
//\r
// if is to the under of the screen\r
//\r
- if (FileRow > FileBuffer.LowVisibleRange.Row + (MainEditor.ScreenSize.Row - 5) - 1) {\r
+ if (FileRow > FileBuffer.LowVisibleRange.Row + (MainEditor.ScreenSize.Row - 2) - 1) {\r
return TRUE;\r
}\r
\r
//\r
FileBuffer.FilePosition.Column = NewFilePosCol;\r
if (ColGap < 0) {\r
- Abs = -ColGap;\r
+ Abs = (UINTN)(-ColGap);\r
FileBuffer.DisplayPosition.Column -= Abs;\r
} else {\r
FileBuffer.DisplayPosition.Column += ColGap;\r
BOOLEAN Found;\r
\r
Column = 0;\r
-\r
+ Position = 0;\r
+ \r
//\r
// search if in current line\r
//\r
Current = FileBuffer.CurrentLine->Buffer + FileBuffer.CurrentLine->Size;\r
}\r
\r
+ Found = FALSE;\r
+\r
CharPos = StrStr (Current, Str);\r
if (CharPos != NULL) {\r
- Position = CharPos - Current;\r
- } else {\r
- Position = 0;\r
- }\r
+ Position = CharPos - Current + 1;\r
+ Found = TRUE;\r
+ } \r
\r
//\r
// found\r
//\r
- if (Position != 0) {\r
+ if (Found) {\r
Column = (Position - 1) + FileBuffer.FilePosition.Column + Offset;\r
Row = FileBuffer.FilePosition.Row;\r
- Found = TRUE;\r
} else {\r
//\r
// not found so find through next lines\r
// Position = StrStr (Line->Buffer, Str);\r
CharPos = StrStr (Line->Buffer, Str);\r
if (CharPos != NULL) {\r
- Position = CharPos - Line->Buffer;\r
- }\r
- if (Position != 0) {\r
+ Position = CharPos - Line->Buffer + 1;\r
+ Found = TRUE;\r
+ } \r
+ \r
+ if (Found) {\r
//\r
// found\r
//\r
//\r
// set replace into it\r
//\r
- Buffer = FileBuffer.CurrentLine->Buffer + FileBuffer.FilePosition.Column;\r
+ Buffer = FileBuffer.CurrentLine->Buffer + FileBuffer.FilePosition.Column - 1;\r
for (Index = 0; Index < ReplaceLen; Index++) {\r
Buffer[Index] = Replace[Index];\r
}\r
}\r
\r
if (ReplaceLen < SearchLen) {\r
- Buffer = FileBuffer.CurrentLine->Buffer + FileBuffer.FilePosition.Column;\r
+ Buffer = FileBuffer.CurrentLine->Buffer + FileBuffer.FilePosition.Column - 1;\r
\r
for (Index = 0; Index < ReplaceLen; Index++) {\r
Buffer[Index] = Replace[Index];\r
}\r
\r
if (ReplaceLen == SearchLen) {\r
- Buffer = FileBuffer.CurrentLine->Buffer + FileBuffer.FilePosition.Column;\r
+ Buffer = FileBuffer.CurrentLine->Buffer + FileBuffer.FilePosition.Column - 1;\r
for (Index = 0; Index < ReplaceLen; Index++) {\r
Buffer[Index] = Replace[Index];\r
}\r
// check whether new mouse row position is beyond screen\r
// if not, adjust it\r
//\r
- if (CoordinateY >= 2 && CoordinateY <= (MainEditor.ScreenSize.Row - 4)) {\r
+ if (CoordinateY >= 2 && CoordinateY <= (MainEditor.ScreenSize.Row - 1)) {\r
FileBuffer.MousePosition.Row = CoordinateY;\r
} else if (CoordinateY < 2) {\r
FileBuffer.MousePosition.Row = 2;\r
- } else if (CoordinateY > (MainEditor.ScreenSize.Row - 4)) {\r
- FileBuffer.MousePosition.Row = (MainEditor.ScreenSize.Row - 4);\r
+ } else if (CoordinateY > (MainEditor.ScreenSize.Row - 1)) {\r
+ FileBuffer.MousePosition.Row = (MainEditor.ScreenSize.Row - 1);\r
}\r
\r
}\r