On 2015-11-09 22:13:18, Ni, Ruiyu wrote:
> How about define:
> typedef enum {
>   ImageFormatUnknown,
>   ImageFormatBmp,
>   ...
>   ImageFormatGif
> } IMAGE_FORMAT
> ?
> 
> So that extending the image format doesn't have binary compatibility
> issue.

Ok. That works too.

I did have one other question about the names. Do you think they
should be PlatformLogoFormat* rather than ImageFormat*?

My suggestion would have been:

  PlatformLogoFormatUnknown,
  PlatformLogoFormatImageBmp,
  PlatformLogoFormatImageJpeg,
  PlatformLogoFormatImageTiff,
  PlatformLogoFormatImageGif,

Because these look close to the mime-types. image/jpeg, etc...
https://www.iana.org/assignments/media-types/media-types.xhtml#image

I don't have a big concern about this, so I'll leave that decision up
to you.

> Edkii prefix was added to indicate that this protocol is not defined
> by UEFI spec but a EDKII implementation specific one. We had
> EdkiiVariableLock protocol defined in
> MdeModulePkg/Include/Protocol/VariableLock.h. I agree to remove
> Edkii prefix from the commit message, #ifdef macro, but will keep
> the prefix in the protocol name, enum name.

Ok.

Reviewed-by: Jordan Justen <[email protected]>

> 
> -----Original Message-----
> From: Justen, Jordan L 
> Sent: Tuesday, November 10, 2015 11:14 AM
> To: Ni, Ruiyu <[email protected]>; [email protected]
> Cc: Ni, Ruiyu <[email protected]>; Tian, Feng <[email protected]>
> Subject: Re: [edk2] [Patch V2 1/5] MdeModulePkg: Add EdkiiPlatformLogo 
> protocol definition.
> 
> In the subject, can you change EdkiiPlatformLogo => PlatformLogo?
> 
> On 2015-11-08 21:23:40, Ruiyu Ni wrote:
> > Contributed-under: TianoCore Contribution Agreement 1.0
> > Signed-off-by: Ruiyu Ni <[email protected]>
> > Cc: Feng Tian <[email protected]>
> > ---
> >  MdeModulePkg/Include/Protocol/PlatformLogo.h | 86 
> > ++++++++++++++++++++++++++++
> >  MdeModulePkg/MdeModulePkg.dec                |  3 +
> >  2 files changed, 89 insertions(+)
> >  create mode 100644 MdeModulePkg/Include/Protocol/PlatformLogo.h
> > 
> > diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h 
> > b/MdeModulePkg/Include/Protocol/PlatformLogo.h
> > new file mode 100644
> > index 0000000..aa8b398
> > --- /dev/null
> > +++ b/MdeModulePkg/Include/Protocol/PlatformLogo.h
> > @@ -0,0 +1,86 @@
> > +/** @file
> > +  The Platform Logo Protocol defines the interface to get the Platform logo
> > +  image with the display attribute.
> > +
> > +Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
> > +This program and the accompanying materials are licensed and made 
> > available under 
> > +the terms and conditions of the BSD License that accompanies this 
> > distribution.  
> > +The full text of the license may be found at
> > +http://opensource.org/licenses/bsd-license.php.                            
> >               
> > +    
> > +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,      
> >                
> > +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> > IMPLIED.
> > +
> > +**/
> > +
> > +#ifndef __EDKII_PLATFORM_LOGO__
> > +#define __EDKII_PLATFORM_LOGO__
> 
> Can you remove EDKII from the various places in the patch? It seems
> better as 'platform logo'.
> 
> > +
> > +//
> > +// GUID for EDKII Platform Logo Protocol
> > +//
> > +#define EDKII_PLATFORM_LOGO_PROTOCOL_GUID \
> > +  { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 
> > 0xf8, 0xe9 } }
> > +
> > +typedef struct _EDKII_PLATFORM_LOGO_PROTOCOL EDKII_PLATFORM_LOGO_PROTOCOL;
> > +
> > +typedef enum {
> > +  ImageFormatBmp,
> > +  ImageFormatJpeg,
> > +  ImageFormatTiff,
> > +  ImageFormatGif,
> > +  ImageFormatUnknown
> 
> Can we set ImageFormatUnknown = MAX_INT32? (So, we can add other
> formats in the middle.)
> 
> > +} IMAGE_FORMAT;
> > +
> > +typedef enum {
> > +  EdkiiPlatformLogoDisplayAttributeLeftTop,
> > +  EdkiiPlatformLogoDisplayAttributeCenterTop,
> > +  EdkiiPlatformLogoDisplayAttributeRightTop,
> > +  EdkiiPlatformLogoDisplayAttributeCenterRight,
> > +  EdkiiPlatformLogoDisplayAttributeRightBottom,
> > +  EdkiiPlatformLogoDisplayAttributeCenterBottom,
> > +  EdkiiPlatformLogoDisplayAttributeLeftBottom,
> > +  EdkiiPlatformLogoDisplayAttributeCenterLeft,
> > +  EdkiiPlatformLogoDisplayAttributeCenter
> > +} EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
> > +
> > +/**
> > +
> > +  Load a platform logo image and return its data and attributes.
> > +
> > +  @param This              The pointer to this protocol instance.
> > +  @param Instance          The visible image instance is found.
> > +  @param Format            The format of the image. Examples: BMP, JPEG.
> > +  @param ImageData         The image data for the badge file. Currently 
> > only 
> > +                           supports the .bmp file format. 
> > +  @param ImageSize         The size of the image returned.
> > +  @param Attribute         The display attributes of the image returned.
> > +  @param CoordinateX       The X coordinate of the image.
> > +  @param CoordinateY       The Y coordinate of the image.
> > +
> > +  @retval EFI_SUCCESS      The image was fetched successfully.
> > +  @retval EFI_NOT_FOUND    The specified image could not be found.
> > +
> > +**/
> > +typedef
> > +EFI_STATUS
> > +(EFIAPI *EDKII_PLATFORM_LOGO_GET_IMAGE)(
> > +  IN     EDKII_PLATFORM_LOGO_PROTOCOL          *This,
> > +  IN OUT UINT32                                *Instance,
> > +     OUT IMAGE_FORMAT                          *Format,
> > +     OUT UINT8                                 **ImageData,
> > +     OUT UINTN                                 *ImageSize,
> > +     OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute,
> > +     OUT UINTN                                 *CoordinateX,
> > +     OUT UINTN                                 *CoordinateY
> > +);
> > +
> > +
> > +struct _EDKII_PLATFORM_LOGO_PROTOCOL {
> > +  EDKII_PLATFORM_LOGO_GET_IMAGE GetImage;
> > +};
> > +
> > +
> > +extern EFI_GUID gEdkiiPlatformLogoProtocolGuid;
> > +
> > +#endif
> > diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
> > index 3dfcd6a..08148e3 100644
> > --- a/MdeModulePkg/MdeModulePkg.dec
> > +++ b/MdeModulePkg/MdeModulePkg.dec
> > @@ -449,6 +449,9 @@
> >    ## Include/Protocol/SmmReadyToBoot.h
> >    gEdkiiSmmReadyToBootProtocolGuid = { 0x6e057ecf, 0xfa99, 0x4f39, { 0x95, 
> > 0xbc, 0x59, 0xf9, 0x92, 0x1d, 0x17, 0xe4 } }
> >  
> > +  ## Include/Protocol/PlatformLogo.h
> > +  gEdkiiPlatformLogoProtocolGuid = { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 
> > 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } }
> > +
> >  #
> >  # [Error.gEfiMdeModulePkgTokenSpaceGuid]
> >  #   0x80000001 | Invalid value provided.
> > -- 
> > 1.9.5.msysgit.1
> > 
> > _______________________________________________
> > edk2-devel mailing list
> > [email protected]
> > https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to