I just merge it. Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Gao, Zhichao > 发送时间: 2021年9月29日 9:32 > 收件人: devel@edk2.groups.io; gaolim...@byosoft.com.cn > 抄送: Wang, Jian J <jian.j.w...@intel.com>; Ni, Ray <ray...@intel.com> > 主题: Re: [edk2-devel] [PATCH V3] MdeModulePkg/BootManagerMenuApp: > Limit string drawing within one line > > I have created the PR at: https://github.com/tianocore/edk2/pull/2019. > It shows all the checks are passed. Can you help to add your 'push' label and > reopen it? > > Thanks, > Zhichao > > > -----Original Message----- > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of > > gaoliming > > Sent: Tuesday, September 28, 2021 1:27 PM > > To: devel@edk2.groups.io; Gao, Zhichao <zhichao....@intel.com> > > Cc: Wang, Jian J <jian.j.w...@intel.com>; Ni, Ray <ray...@intel.com> > > Subject: 回复: [edk2-devel] [PATCH V3] > > MdeModulePkg/BootManagerMenuApp: Limit string drawing within one > line > > > > I am ok for this change. Reviewed-by: Liming Gao > > <gaolim...@byosoft.com.cn> > > > > > -----邮件原件----- > > > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Gao, > > Zhichao > > > 发送时间: 2021年9月28日 13:18 > > > 收件人: devel@edk2.groups.io; Gao, Zhichao <zhichao....@intel.com> > > > 抄送: Wang, Jian J <jian.j.w...@intel.com>; Liming Gao > > > <gaolim...@byosoft.com.cn>; Ni, Ray <ray...@intel.com> > > > 主题: Re: [edk2-devel] [PATCH V3] > > MdeModulePkg/BootManagerMenuApp: > > > Limit string drawing within one line > > > > > > Hi Liming/Ray, > > > > > > I have updated the commit message and the BZ comments. Do you agree > > to > > > merge the code? > > > > > > Thanks, > > > Zhichao > > > > > > > -----Original Message----- > > > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of > Gao, > > > > Zhichao > > > > Sent: Monday, September 27, 2021 3:10 PM > > > > To: devel@edk2.groups.io > > > > Cc: Wang, Jian J <jian.j.w...@intel.com>; Liming Gao > > > > <gaolim...@byosoft.com.cn>; Ni, Ray <ray...@intel.com> > > > > Subject: [edk2-devel] [PATCH V3] > > MdeModulePkg/BootManagerMenuApp: > > > > Limit string drawing within one line > > > > > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3590 > > > > > > > > Limit the draw box always within the screen's column and row. > > > > Limit the string drawing within one line.For the incompleted string > > > > the > > last 3 > > > > characters in one line wouldbe replaced with "...". > > > > > > > > Cc: Jian J Wang <jian.j.w...@intel.com> > > > > Cc: Liming Gao <gaolim...@byosoft.com.cn> > > > > Cc: Ray Ni <ray...@intel.com> > > > > Signed-off-by: Zhichao Gao <zhichao....@intel.com>Reviewed-by: Ray > > > > Ni <ray...@intel.com> ---V2:Drop the change in UefiBootManagerLib in > > > V1.Add > > > > the limitation in BootManagerMenuApp instead.V3:Update the commit > > > > message only. > > > > .../BootManagerMenuApp/BootManagerMenu.c | 72 > > > > ++++++++++++++++++- > > > > 1 file changed, 69 insertions(+), 3 deletions(-) > > > > > > > > diff --git > > > > > > a/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu. > > > > c > > > > > > b/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu. > > > > c > > > > index 9e729074ec..d4bdeba073 100644 > > > > --- > > > > > > a/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu. > > > > c > > > > +++ > > > > > > b/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu. > > > > c > > > > @@ -1,7 +1,7 @@ > > > > /** @file The application to show the Boot Manager Menu. > -Copyright > > > (c) > > > > 2011 - 2018, Intel Corporation. All rights reserved.<BR>+Copyright > > > > (c) > > 2011 - > > > > 2021, Intel Corporation. All rights reserved.<BR> > > SPDX-License-Identifier: > > > > BSD-2-Clause-Patent **/@@ -45,9 +45,56 @@ PrintStringAt ( > > > > IN CHAR16 *String ) {+ UINTN ScreenWidth;+ > > > UINTN > > > > ScreenRows;+ CHAR16 *TurncateString;+ EFI_STATUS > > > Status;+ UINTN > > > > ShowingLength; gST->ConOut->SetCursorPosition (gST->ConOut, > > > Column, > > > > Row);- return Print (L"%s", String);++ gST->ConOut->QueryMode (+ > > > > gST->ConOut,+ gST->ConOut->Mode->Mode,+ > > > > &ScreenWidth,+ > > > &ScreenRows+ );++ if (Column > > > > > (ScreenWidth - 1) || Row > (ScreenRows - 1)) {+ return 0;+ }++ if > > > ((StrLen > > > > (String) + Column) > (ScreenWidth - 1)) {+ //+ // | - > > > ScreenWidth - |+ > > > > // ...Column.....................+ // TurncateString length should > > leave one > > > > character for draw box and+ // require one character for string > end.+ > > > //+ > > > > ShowingLength = ScreenWidth - Column - 1;+ TurncateString = > > > AllocatePool > > > > ((ShowingLength + 1) * sizeof (CHAR16));++ if (TurncateString == > > NULL) > > > {+ > > > > return 0;+ }++ Status = StrnCpyS (TurncateString, > ShowingLength + > > > 1, > > > > String, ShowingLength - 3);++ if (EFI_ERROR (Status)) {+ > > FreePool > > > > (TurncateString);+ return 0;+ }++ *(TurncateString + > > > ShowingLength - 3) > > > > = L'.';+ *(TurncateString + ShowingLength - 2) = L'.';+ > > > *(TurncateString + > > > > ShowingLength - 1) = L'.';+ *(TurncateString + ShowingLength) > = > > > L'\0';+ > > > > ShowingLength = Print (L"%s", TurncateString);+ FreePool > > > > (TurncateString);+ return ShowingLength;+ } else {+ return > Print > > > (L"%s", > > > > String);+ } } /**@@ -68,7 +115,22 @@ PrintCharAt ( > > > > CHAR16 Character ) {+ UINTN > ScreenWidth;+ > > > UINTN > > > > ScreenRows;+ gST->ConOut->SetCursorPosition (gST->ConOut, > Column, > > > > Row);++ gST->ConOut->QueryMode (+ > > > gST->ConOut,+ gST- > > > > >ConOut->Mode->Mode,+ &ScreenWidth,+ > > > > &ScreenRows+ );++ if (Column > (ScreenWidth - 1) > || > > > Row > > > > > (ScreenRows - 1)) {+ return 0;+ }+ return Print (L"%c", > > Character); } > > > @@ - > > > > 193,7 +255,11 @@ InitializeBootMenuScreen ( > > > > MaxPrintRows = Row - 6; UnSelectableItmes = > > > TITLE_TOKEN_COUNT + 2 + > > > > HELP_TOKEN_COUNT + 2;- BootMenuData->MenuScreen.Width = > > > > MaxStrWidth + 8;+ if (MaxStrWidth + 8 > Column) {+ > BootMenuData- > > > > >MenuScreen.Width = Column;+ } else {+ BootMenuData- > > > > >MenuScreen.Width = MaxStrWidth + 8;+ } if > > > (BootMenuData->ItemCount > > > > + UnSelectableItmes > MaxPrintRows) { BootMenuData- > > > > >MenuScreen.Height = MaxPrintRows; BootMenuData- > > > > >ScrollBarControl.HasScrollBar = TRUE;-- > > > > 2.31.1.windows.1 > > > > > > > > > > > > > > > > -=-=-=-=-=-= > > > > Groups.io Links: You receive all messages sent to this group. > > > > View/Reply Online (#81153): > > > https://edk2.groups.io/g/devel/message/81153 > > > > Mute This Topic: https://groups.io/mt/85895022/1768756 > > > > Group Owner: devel+ow...@edk2.groups.io > > > > Unsubscribe: https://edk2.groups.io/g/devel/unsub > > > [zhichao....@intel.com] > > > > -=-=-=-=-=-= > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#81259): https://edk2.groups.io/g/devel/message/81259 Mute This Topic: https://groups.io/mt/85939790/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-